<?xml version="1.0" encoding="UTF-8"?>
<!--
    Copyright (c) 2009, 2018 IBM Corporation and others.
    This program and the accompanying materials
    are made available under the terms of the Eclipse Public License 2.0
    which accompanies this distribution, and is available at
    https://www.eclipse.org/legal/epl-2.0/

    SPDX-License-Identifier: EPL-2.0

    Contributors:
        IBM Corporation - initial API and implementation
 -->

<jel>
	<admin creation="Thu May 19 00:54:27 CEST 2011" xsdversion="1.0.0" version="1.0.0" />
	<jelclass abstract="true" visibility="public" package="org.eclipse.wst.xml.xpath2.api" interface="true" fulltype="org.eclipse.wst.xml.xpath2.api.AtomicItemType" type="AtomicItemType">
		<implements>
			<interface fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.ItemType" type="ItemType" />
		</implements>
		<comment>
			<description>Defines an sequence or item of atomic types.</description>
			<attribute name="@since">
				<description>2.0</description>
			</attribute>
		</comment>
		<methods>
			<method visibility="public" name="getTypeDefinition" returncomment="The Schema type of the sequence or item." fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition">
				<comment>
					<description>Returns the schema type of the sequence or type.</description>
					<attribute name="@return">
						<description>The Schema type of the sequence or item.</description>
					</attribute>
				</comment>
			</method>
		</methods>
	</jelclass>
	<jelclass abstract="true" visibility="public" package="org.eclipse.wst.xml.xpath2.api" interface="true" fulltype="org.eclipse.wst.xml.xpath2.api.CollationProvider" type="CollationProvider">
		<comment>
			<description>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)].</description>
			<attribute name="@since">
				<description>2.0</description>
			</attribute>
		</comment>
		<fields>
			<field final="true" static="true" const="http://www.w3.org/2005/xpath-functions/collation/codepoint" visibility="public" name="CODEPOINT_COLLATION" constexpr="&quot;http://www.w3.org/2005/xpath-functions/collation/codepoint&quot;" fulltype="java.lang.String" type="String">
				<comment>
					<description>The default collation which is guaranteed to always be implemented</description>
				</comment>
			</field>
		</fields>
		<methods>
			<method visibility="public" name="getCollation" returncomment="The collation to use, or null if no such collation exists by
         this provider" fulltype="java.util.Comparator" type="Comparator">
				<comment>
					<description>Gets the named collator. W3C does not define collation names (yet?) so
 we are constrained to using an implementation-defined naming scheme.</description>
					<attribute name="@param">
						<description>name
            A URI designating the collation to use</description>
					</attribute>
					<attribute name="@return">
						<description>The collation to use, or null if no such collation exists by
         this provider</description>
					</attribute>
				</comment>
				<params>
					<param name="name" comment="A URI designating the collation to use" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="getDefaultCollation" fulltype="java.lang.String" type="String" />
		</methods>
	</jelclass>
	<jelclass abstract="true" visibility="public" package="org.eclipse.wst.xml.xpath2.api" interface="true" fulltype="org.eclipse.wst.xml.xpath2.api.DynamicContext" type="DynamicContext">
		<comment>
			<description>Interface for dynamic context. This covers the Dynamic Context as defined by the XPath2 specification, EXCEPT for 
 context item and size (handled in EvaluationContext)</description>
			<attribute name="@since">
				<description>2.0</description>
			</attribute>
		</comment>
		<methods>
			<method visibility="public" name="getLimitNode" returncomment="DOM node which limits axis navigation." fulltype="org.w3c.dom.Node" type="Node">
				<comment>
					<description>Returns a &quot;top&quot; node which the XPath2 engine is not allowed to
 leave</description>
					<attribute name="@return">
						<description>DOM node which limits axis navigation.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getVariable" returncomment="variable." fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Get variable.</description>
					<attribute name="@param">
						<description>name
            is the name of the variable.</description>
					</attribute>
					<attribute name="@return">
						<description>variable.</description>
					</attribute>
				</comment>
				<params>
					<param name="name" comment="is the name of the variable." fulltype="javax.xml.namespace.QName" type="QName" />
				</params>
			</method>
			<method visibility="public" name="resolveUri" returncomment="the absolutized, resolved URI." fulltype="java.net.URI" type="URI">
				<comment>
					<description>Resolve an URI</description>
					<attribute name="@param">
						<description>uri
            is the possibly relative URI to resolve</description>
					</attribute>
					<attribute name="@return">
						<description>the absolutized, resolved URI.</description>
					</attribute>
				</comment>
				<params>
					<param name="uri" comment="is the possibly relative URI to resolve" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="getCurrentDateTime" returncomment="The current date and time, which will always be same for the dynamic context." fulltype="java.util.GregorianCalendar" type="GregorianCalendar">
				<comment>
					<description>[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.</description>
					<attribute name="@return">
						<description>The current date and time, which will always be same for the dynamic context.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getTimezoneOffset" returncomment="current date time and implicit timezone." fulltype="javax.xml.datatype.Duration" type="Duration">
				<comment>
					<description>[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.]</description>
					<attribute name="@return">
						<description>current date time and implicit timezone.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getDocument" returncomment="document." fulltype="org.w3c.dom.Document" type="Document">
				<comment>
					<description>[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.</description>
					<attribute name="@param">
						<description>uri
            is the URI of the document.</description>
					</attribute>
					<attribute name="@return">
						<description>document.</description>
					</attribute>
				</comment>
				<params>
					<param name="uri" comment="is the URI of the document." fulltype="java.net.URI" type="URI" />
				</params>
			</method>
			<method visibility="public" name="getCollections" fulltype="java.util.Map" type="Map">
				<comment>
					<description>[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.&quot; 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.</description>
				</comment>
			</method>
			<method visibility="public" name="getDefaultCollection" fulltype="java.util.List" type="List">
				<comment>
					<description>[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.</description>
				</comment>
			</method>
			<method visibility="public" name="getCollationProvider" fulltype="org.eclipse.wst.xml.xpath2.api.CollationProvider" type="CollationProvider">
				<comment>
					<description>Actual collation providers available for use dynamically. This could
 differ from the collations available statically, but would give
 unexpected results.</description>
				</comment>
			</method>
		</methods>
	</jelclass>
	<jelclass abstract="true" visibility="public" package="org.eclipse.wst.xml.xpath2.api" interface="true" fulltype="org.eclipse.wst.xml.xpath2.api.EvaluationContext" type="EvaluationContext">
		<comment>
			<attribute name="@noimplement">
				<description>This interface is not intended to be implemented by clients.</description>
			</attribute>
			<attribute name="@since">
				<description>2.0</description>
			</attribute>
		</comment>
		<methods>
			<method visibility="public" name="getContextItem" fulltype="org.eclipse.wst.xml.xpath2.api.Item" type="Item">
				<comment>
					<description>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.</description>
				</comment>
			</method>
			<method visibility="public" name="getContextPosition" fulltype="int" type="int">
				<comment>
					<description>[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.</description>
				</comment>
			</method>
			<method visibility="public" name="getLastPosition" fulltype="int" type="int">
				<comment>
					<description>[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.]</description>
				</comment>
			</method>
			<method visibility="public" name="getDynamicContext" returncomment="The current dynamic context in effect." fulltype="org.eclipse.wst.xml.xpath2.api.DynamicContext" type="DynamicContext">
				<comment>
					<attribute name="@return">
						<description>The current dynamic context in effect.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getStaticContext" returncomment="The current static context in effect." fulltype="org.eclipse.wst.xml.xpath2.api.StaticContext" type="StaticContext">
				<comment>
					<attribute name="@return">
						<description>The current static context in effect.</description>
					</attribute>
				</comment>
			</method>
		</methods>
	</jelclass>
	<jelclass abstract="true" visibility="public" package="org.eclipse.wst.xml.xpath2.api" interface="true" fulltype="org.eclipse.wst.xml.xpath2.api.Function" type="Function">
		<comment>
			<description>Support for functions.</description>
			<attribute name="@since">
				<description>2.0</description>
			</attribute>
		</comment>
		<methods>
			<method visibility="public" name="getName" returncomment="Result of QName operation." fulltype="java.lang.String" type="String">
				<comment>
					<description>Support for QName interface.</description>
					<attribute name="@return">
						<description>Result of QName operation.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getMinArity" returncomment="The smallest number of arguments possible" fulltype="int" type="int">
				<comment>
					<description>Minimal number of allowed arguments.</description>
					<attribute name="@return">
						<description>The smallest number of arguments possible</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getMaxArity" returncomment="The highest number of arguments possible" fulltype="int" type="int">
				<comment>
					<description>Maximum number of allowed arguments.</description>
					<attribute name="@return">
						<description>The highest number of arguments possible</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="isVariableArgument" returncomment="The highest number of arguments possible" fulltype="boolean" type="boolean">
				<comment>
					<description>Maximum number of allowed arguments.</description>
					<attribute name="@return">
						<description>The highest number of arguments possible</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="canMatchArity" returncomment="" fulltype="boolean" type="boolean">
				<comment>
					<description>Checks if this function has an to the</description>
					<attribute name="@param">
						<description>actual_arity</description>
					</attribute>
					<attribute name="@return" />
				</comment>
				<params>
					<param name="actualArity" fulltype="int" type="int" />
				</params>
			</method>
			<method visibility="public" name="getResultType" returncomment="TypeDefinition for the argument" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition">
				<comment>
					<description>Gets the return type for the function.</description>
					<attribute name="@return">
						<description>TypeDefinition for the argument</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getArgumentType" returncomment="TypeDefinition for the argument" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition">
				<comment>
					<description>Returns the type of the argument at position index,
 starting at 0.</description>
					<attribute name="@return">
						<description>TypeDefinition for the argument</description>
					</attribute>
				</comment>
				<params>
					<param name="index" fulltype="int" type="int" />
				</params>
			</method>
			<method visibility="public" name="getArgumentNameHint" returncomment="TypeDefinition for the argument" fulltype="java.lang.String" type="String">
				<comment>
					<description>Name hint for the index&apos;th argument,  
 starting at 0.</description>
					<attribute name="@return">
						<description>TypeDefinition for the argument</description>
					</attribute>
				</comment>
				<params>
					<param name="index" fulltype="int" type="int" />
				</params>
			</method>
			<method visibility="public" name="evaluate" returncomment="Result of evaluation." fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Evaluate arguments.</description>
					<attribute name="@param">
						<description>args
            argument expressions.</description>
					</attribute>
					<attribute name="@return">
						<description>Result of evaluation.</description>
					</attribute>
				</comment>
				<params>
					<param name="args" comment="argument expressions." fulltype="java.util.Collection" type="Collection" />
					<param name="evaluationContext" fulltype="org.eclipse.wst.xml.xpath2.api.EvaluationContext" type="EvaluationContext" />
				</params>
			</method>
			<method visibility="public" name="computeReturnType" returncomment="Result of evaluation." fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition">
				<comment>
					<description>Evaluate the exact result type.</description>
					<attribute name="@param">
						<description>args
            argument expressions.</description>
					</attribute>
					<attribute name="@return">
						<description>Result of evaluation.</description>
					</attribute>
				</comment>
				<params>
					<param name="args" comment="argument expressions." fulltype="java.util.Collection" type="Collection" />
					<param name="sc" fulltype="org.eclipse.wst.xml.xpath2.api.StaticContext" type="StaticContext" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass abstract="true" visibility="public" package="org.eclipse.wst.xml.xpath2.api" interface="true" fulltype="org.eclipse.wst.xml.xpath2.api.FunctionLibrary" type="FunctionLibrary">
		<comment>
			<description>Interface for function libraries support.</description>
			<attribute name="@since">
				<description>2.0</description>
			</attribute>
		</comment>
		<fields>
			<field final="true" static="true" const="2147483647" visibility="public" name="VARIABLE_ARITY" constexpr="2147483647" fulltype="int" type="int" />
		</fields>
		<methods>
			<method visibility="public" name="functionExists" returncomment="Result of the test." fulltype="boolean" type="boolean">
				<comment>
					<description>Checks whether the function exists or not.</description>
					<attribute name="@param">
						<description>name
            Name of function.</description>
					</attribute>
					<attribute name="@param">
						<description>arity
            arity of the function,</description>
					</attribute>
					<attribute name="@return">
						<description>Result of the test.</description>
					</attribute>
				</comment>
				<params>
					<param name="name" comment="Name of function." fulltype="java.lang.String" type="String" />
					<param name="arity" comment="arity of the function," fulltype="int" type="int" />
				</params>
			</method>
			<method visibility="public" name="resolveFunction" returncomment="The function from the library." fulltype="org.eclipse.wst.xml.xpath2.api.Function" type="Function">
				<comment>
					<description>Function support.</description>
					<attribute name="@param">
						<description>name
            local name .</description>
					</attribute>
					<attribute name="@param">
						<description>arity
            arity of the function.</description>
					</attribute>
					<attribute name="@return">
						<description>The function from the library.</description>
					</attribute>
				</comment>
				<params>
					<param name="localName" fulltype="java.lang.String" type="String" />
					<param name="arity" comment="arity of the function." fulltype="int" type="int" />
				</params>
			</method>
			<method visibility="public" name="getNamespace" returncomment="Namespace." fulltype="java.lang.String" type="String">
				<comment>
					<description>Returns the namespace of the function library.</description>
					<attribute name="@return">
						<description>Namespace.</description>
					</attribute>
				</comment>
			</method>
		</methods>
	</jelclass>
	<jelclass abstract="true" visibility="public" package="org.eclipse.wst.xml.xpath2.api" interface="true" fulltype="org.eclipse.wst.xml.xpath2.api.Item" type="Item">
		<comment>
			<description>An item in the XPath2 data model</description>
			<attribute name="@since">
				<description>2.0</description>
			</attribute>
			<attribute name="@noimplement">
				<description>This interface is not intended to be implemented by clients.</description>
			</attribute>
		</comment>
		<methods>
			<method visibility="public" name="getItemType" returncomment="A description of the item type." fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.ItemType" type="ItemType">
				<comment>
					<attribute name="@return">
						<description>A description of the item type.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getNativeValue" returncomment="The &quot;Raw&quot; Java object, e.g. org.w3.Node for a node,
         java.util.String for strings, etc." fulltype="java.lang.Object" type="Object">
				<comment>
					<attribute name="@return">
						<description>The &quot;Raw&quot; Java object, e.g. org.w3.Node for a node,
         java.util.String for strings, etc.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getStringValue" fulltype="java.lang.String" type="String" />
		</methods>
	</jelclass>
	<jelclass abstract="true" visibility="public" package="org.eclipse.wst.xml.xpath2.api" interface="true" fulltype="org.eclipse.wst.xml.xpath2.api.Match" type="Match">
		<comment>
			<description>A match found by the XPath2 pattern matcher
 
 * @noimplement This interface is not intended to be implemented by clients.</description>
			<attribute name="@since">
				<description>2.0</description>
			</attribute>
		</comment>
		<methods>
			<method visibility="public" name="getMatchingCount" returncomment="The number of matching patterns on the input." fulltype="int" type="int">
				<comment>
					<attribute name="@return">
						<description>The number of matching patterns on the input.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getBestMatch" returncomment="Pattern which was the best match." fulltype="org.eclipse.wst.xml.xpath2.api.XPath2Pattern" type="XPath2Pattern">
				<comment>
					<description>Returns the XPath2 pattern which best matched the input (considering mode and priority)</description>
					<attribute name="@return">
						<description>Pattern which was the best match.</description>
					</attribute>
				</comment>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="Object" visibility="public" package="org.eclipse.wst.xml.xpath2.api" superclassfulltype="java.lang.Object" fulltype="org.eclipse.wst.xml.xpath2.api.ResultBuffer" type="ResultBuffer">
		<comment>
			<attribute name="@since">
				<description>2.0</description>
			</attribute>
		</comment>
		<fields>
			<field final="true" static="true" visibility="public" name="EMPTY" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
		</fields>
		<methods>
			<constructor visibility="public" name="ResultBuffer" />
			<method visibility="public" name="getSequence" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
			<method visibility="public" name="clear" fulltype="void" type="void" />
			<method visibility="public" name="add" fulltype="org.eclipse.wst.xml.xpath2.api.ResultBuffer" type="ResultBuffer">
				<params>
					<param name="at" fulltype="org.eclipse.wst.xml.xpath2.api.Item" type="Item" />
				</params>
			</method>
			<method visibility="public" name="append" fulltype="org.eclipse.wst.xml.xpath2.api.ResultBuffer" type="ResultBuffer">
				<params>
					<param name="at" fulltype="org.eclipse.wst.xml.xpath2.api.Item" type="Item" />
				</params>
			</method>
			<method visibility="public" name="concat" fulltype="org.eclipse.wst.xml.xpath2.api.ResultBuffer" type="ResultBuffer">
				<params>
					<param name="rs" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
			</method>
			<method visibility="public" name="size" fulltype="int" type="int" />
			<method visibility="public" name="iterator" fulltype="java.util.ListIterator" type="ListIterator" />
			<method visibility="public" name="prepend" fulltype="void" type="void">
				<params>
					<param name="rs" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
			</method>
			<method visibility="public" name="getCollection" fulltype="java.util.Collection" type="Collection" />
			<method visibility="public" name="concat" fulltype="org.eclipse.wst.xml.xpath2.api.ResultBuffer" type="ResultBuffer">
				<params>
					<param name="others" fulltype="java.util.Collection" type="Collection" />
				</params>
			</method>
			<method static="true" visibility="public" name="wrap" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<params>
					<param name="item" fulltype="org.eclipse.wst.xml.xpath2.api.Item" type="Item" />
				</params>
			</method>
			<method visibility="public" name="item" fulltype="org.eclipse.wst.xml.xpath2.api.Item" type="Item">
				<params>
					<param name="index" fulltype="int" type="int" />
				</params>
			</method>
			<method visibility="public" name="addAt" fulltype="void" type="void">
				<params>
					<param name="pos" fulltype="int" type="int" />
					<param name="element" fulltype="org.eclipse.wst.xml.xpath2.api.Item" type="Item" />
				</params>
			</method>
		</methods>
		<jelclass final="true" superclass="Object" visibility="public" package="org.eclipse.wst.xml.xpath2.api" superclassfulltype="java.lang.Object" fulltype="org.eclipse.wst.xml.xpath2.api.ResultBuffer.SingleResultSequence" type="ResultBuffer.SingleResultSequence">
			<implements>
				<interface fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
			</implements>
			<methods>
				<constructor visibility="public" name="ResultBuffer.SingleResultSequence">
					<params>
						<param name="at" fulltype="org.eclipse.wst.xml.xpath2.api.Item" type="Item" />
					</params>
				</constructor>
				<method visibility="public" name="size" fulltype="int" type="int" />
				<method visibility="public" name="item" fulltype="org.eclipse.wst.xml.xpath2.api.Item" type="Item">
					<params>
						<param name="index" fulltype="int" type="int" />
					</params>
				</method>
				<method visibility="public" name="first" fulltype="org.eclipse.wst.xml.xpath2.api.Item" type="Item" />
				<method visibility="public" name="value" fulltype="java.lang.Object" type="Object">
					<params>
						<param name="index" fulltype="int" type="int" />
					</params>
				</method>
				<method visibility="public" name="empty" fulltype="boolean" type="boolean" />
				<method visibility="public" name="firstValue" fulltype="java.lang.Object" type="Object" />
				<method visibility="public" name="iterator" fulltype="java.util.Iterator" type="Iterator" />
				<method visibility="public" name="itemType" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.ItemType" type="ItemType">
					<params>
						<param name="index" fulltype="int" type="int" />
					</params>
				</method>
				<method visibility="public" name="sequenceType" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.ItemType" type="ItemType" />
			</methods>
		</jelclass>
		<jelclass final="true" superclass="Object" visibility="public" package="org.eclipse.wst.xml.xpath2.api" superclassfulltype="java.lang.Object" fulltype="org.eclipse.wst.xml.xpath2.api.ResultBuffer.ArrayResultSequence" type="ResultBuffer.ArrayResultSequence">
			<implements>
				<interface fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
			</implements>
			<methods>
				<constructor visibility="public" name="ResultBuffer.ArrayResultSequence">
					<params>
						<param name="results" fulltype="org.eclipse.wst.xml.xpath2.api.Item[]" type="Item" />
					</params>
				</constructor>
				<method visibility="public" name="size" fulltype="int" type="int" />
				<method visibility="public" name="item" fulltype="org.eclipse.wst.xml.xpath2.api.Item" type="Item">
					<params>
						<param name="index" fulltype="int" type="int" />
					</params>
				</method>
				<method visibility="public" name="empty" fulltype="boolean" type="boolean" />
				<method visibility="public" name="firstValue" fulltype="java.lang.Object" type="Object" />
				<method visibility="public" name="first" fulltype="org.eclipse.wst.xml.xpath2.api.Item" type="Item" />
				<method visibility="public" name="iterator" fulltype="java.util.Iterator" type="Iterator" />
				<method visibility="public" name="itemType" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.ItemType" type="ItemType">
					<params>
						<param name="index" fulltype="int" type="int" />
					</params>
				</method>
				<method visibility="public" name="sequenceType" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.ItemType" type="ItemType" />
				<method visibility="public" name="value" fulltype="java.lang.Object" type="Object">
					<params>
						<param name="index" fulltype="int" type="int" />
					</params>
				</method>
			</methods>
		</jelclass>
	</jelclass>
	<jelclass final="true" superclass="Object" visibility="public" package="org.eclipse.wst.xml.xpath2.api" superclassfulltype="java.lang.Object" fulltype="org.eclipse.wst.xml.xpath2.api.ResultBuffer.SingleResultSequence" type="ResultBuffer.SingleResultSequence">
		<implements>
			<interface fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
		</implements>
		<methods>
			<constructor visibility="public" name="ResultBuffer.SingleResultSequence">
				<params>
					<param name="at" fulltype="org.eclipse.wst.xml.xpath2.api.Item" type="Item" />
				</params>
			</constructor>
			<method visibility="public" name="size" fulltype="int" type="int" />
			<method visibility="public" name="item" fulltype="org.eclipse.wst.xml.xpath2.api.Item" type="Item">
				<params>
					<param name="index" fulltype="int" type="int" />
				</params>
			</method>
			<method visibility="public" name="first" fulltype="org.eclipse.wst.xml.xpath2.api.Item" type="Item" />
			<method visibility="public" name="value" fulltype="java.lang.Object" type="Object">
				<params>
					<param name="index" fulltype="int" type="int" />
				</params>
			</method>
			<method visibility="public" name="empty" fulltype="boolean" type="boolean" />
			<method visibility="public" name="firstValue" fulltype="java.lang.Object" type="Object" />
			<method visibility="public" name="iterator" fulltype="java.util.Iterator" type="Iterator" />
			<method visibility="public" name="itemType" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.ItemType" type="ItemType">
				<params>
					<param name="index" fulltype="int" type="int" />
				</params>
			</method>
			<method visibility="public" name="sequenceType" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.ItemType" type="ItemType" />
		</methods>
	</jelclass>
	<jelclass final="true" superclass="Object" visibility="public" package="org.eclipse.wst.xml.xpath2.api" superclassfulltype="java.lang.Object" fulltype="org.eclipse.wst.xml.xpath2.api.ResultBuffer.ArrayResultSequence" type="ResultBuffer.ArrayResultSequence">
		<implements>
			<interface fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
		</implements>
		<methods>
			<constructor visibility="public" name="ResultBuffer.ArrayResultSequence">
				<params>
					<param name="results" fulltype="org.eclipse.wst.xml.xpath2.api.Item[]" type="Item" />
				</params>
			</constructor>
			<method visibility="public" name="size" fulltype="int" type="int" />
			<method visibility="public" name="item" fulltype="org.eclipse.wst.xml.xpath2.api.Item" type="Item">
				<params>
					<param name="index" fulltype="int" type="int" />
				</params>
			</method>
			<method visibility="public" name="empty" fulltype="boolean" type="boolean" />
			<method visibility="public" name="firstValue" fulltype="java.lang.Object" type="Object" />
			<method visibility="public" name="first" fulltype="org.eclipse.wst.xml.xpath2.api.Item" type="Item" />
			<method visibility="public" name="iterator" fulltype="java.util.Iterator" type="Iterator" />
			<method visibility="public" name="itemType" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.ItemType" type="ItemType">
				<params>
					<param name="index" fulltype="int" type="int" />
				</params>
			</method>
			<method visibility="public" name="sequenceType" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.ItemType" type="ItemType" />
			<method visibility="public" name="value" fulltype="java.lang.Object" type="Object">
				<params>
					<param name="index" fulltype="int" type="int" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass abstract="true" visibility="public" package="org.eclipse.wst.xml.xpath2.api" interface="true" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
		<comment>
			<description>Immutable representation of a result</description>
			<attribute name="@since">
				<description>2.0</description>
			</attribute>
		</comment>
		<methods>
			<method visibility="public" name="size" returncomment="Count of items." fulltype="int" type="int">
				<comment>
					<description>Return the size of the result set. Only call this if you need it, since it may require that the entire result
 is fetched.</description>
					<attribute name="@return">
						<description>Count of items.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="value" returncomment="Native object representing the item." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Return the native representation of the item.</description>
					<attribute name="@param">
						<description>index</description>
					</attribute>
					<attribute name="@return">
						<description>Native object representing the item.</description>
					</attribute>
				</comment>
				<params>
					<param name="index" comment="" fulltype="int" type="int" />
				</params>
			</method>
			<method visibility="public" name="item" returncomment="Native object representing the item." fulltype="org.eclipse.wst.xml.xpath2.api.Item" type="Item">
				<comment>
					<description>Return the item.</description>
					<attribute name="@param">
						<description>index</description>
					</attribute>
					<attribute name="@return">
						<description>Native object representing the item.</description>
					</attribute>
				</comment>
				<params>
					<param name="index" comment="" fulltype="int" type="int" />
				</params>
			</method>
			<method visibility="public" name="firstValue" returncomment="Native object representing the first item." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Return the native representation of the first item.</description>
					<attribute name="@return">
						<description>Native object representing the first item.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="itemType" returncomment="" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.ItemType" type="ItemType">
				<comment>
					<description>XPath2 type definition description of the item at location &apos;0&apos;</description>
					<attribute name="@param">
						<description>index</description>
					</attribute>
					<attribute name="@return" />
				</comment>
				<params>
					<param name="index" comment="" fulltype="int" type="int" />
				</params>
			</method>
			<method visibility="public" name="empty" returncomment="true for empty sequences" fulltype="boolean" type="boolean">
				<comment>
					<description>Is the sequence empty.</description>
					<attribute name="@return">
						<description>true for empty sequences</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="iterator" returncomment="" fulltype="java.util.Iterator" type="Iterator">
				<comment>
					<description>Iterator of Item elements</description>
					<attribute name="@return" />
				</comment>
			</method>
			<method visibility="public" name="first" returncomment="" fulltype="org.eclipse.wst.xml.xpath2.api.Item" type="Item">
				<comment>
					<attribute name="@return" />
				</comment>
			</method>
			<method visibility="public" name="sequenceType" returncomment="Item type definition." fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.ItemType" type="ItemType">
				<comment>
					<description>Describe the whole sequence&apos;s type.</description>
					<attribute name="@return">
						<description>Item type definition.</description>
					</attribute>
				</comment>
			</method>
		</methods>
	</jelclass>
	<jelclass abstract="true" visibility="public" package="org.eclipse.wst.xml.xpath2.api" interface="true" fulltype="org.eclipse.wst.xml.xpath2.api.StaticContext" type="StaticContext">
		<comment>
			<description>interface to static context</description>
			<attribute name="@since">
				<description>2.0</description>
			</attribute>
		</comment>
		<methods>
			<method visibility="public" name="isXPath1Compatible" returncomment="true if rules for backward compatibility with XPath Version 1.0
         are in effect; otherwise false." fulltype="boolean" type="boolean">
				<comment>
					<description>XPath 1.0 compatibility mode.</description>
					<attribute name="@return">
						<description>true if rules for backward compatibility with XPath Version 1.0
         are in effect; otherwise false.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getInScopeVariables" fulltype="org.eclipse.wst.xml.xpath2.api.StaticVariableResolver" type="StaticVariableResolver">
				<comment>
					<description>[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.</description>
				</comment>
			</method>
			<method visibility="public" name="getInitialContextType" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition">
				<comment>
					<description>[Definition: Context item static type. This component defines the
 static type of the context item within the scope of a given
 expression.]</description>
				</comment>
			</method>
			<method visibility="public" name="getFunctionLibraries" fulltype="java.util.Map" type="Map">
				<comment>
					<description>[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.</description>
				</comment>
			</method>
			<method visibility="public" name="getCollationProvider" fulltype="org.eclipse.wst.xml.xpath2.api.CollationProvider" type="CollationProvider">
				<comment>
					<description>[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.]</description>
				</comment>
			</method>
			<method visibility="public" name="getBaseUri" fulltype="java.net.URI" type="URI">
				<comment>
					<description>[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].</description>
				</comment>
			</method>
			<method visibility="public" name="getDocumentType" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.ItemType" type="ItemType">
				<comment>
					<description>[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.</description>
				</comment>
				<params>
					<param name="documentUri" fulltype="java.net.URI" type="URI" />
				</params>
			</method>
			<method visibility="public" name="getNamespaceContext" returncomment="The statically known namespace context" fulltype="javax.xml.namespace.NamespaceContext" type="NamespaceContext">
				<comment>
					<description>[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.</description>
					<attribute name="@return">
						<description>The statically known namespace context</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getDefaultNamespace" returncomment="" fulltype="java.lang.String" type="String">
				<comment>
					<description>[Definition: Default element/type namespace. This is a namespace URI or
 &quot;none&quot;. 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].</description>
					<attribute name="@return" />
				</comment>
			</method>
			<method visibility="public" name="getDefaultFunctionNamespace" returncomment="The default function namespace" fulltype="java.lang.String" type="String">
				<comment>
					<description>Definition: Default function namespace. This is a namespace URI or
 &quot;none&quot;. 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].</description>
					<attribute name="@return">
						<description>The default function namespace</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getTypeModel" returncomment="A type model which covers the" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel" type="TypeModel">
				<comment>
					<description>[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.]</description>
					<attribute name="@return">
						<description>A type model which covers the</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="resolveFunction" returncomment="boolean" fulltype="org.eclipse.wst.xml.xpath2.api.Function" type="Function">
				<comment>
					<description>is the function declared/available in the source context?</description>
					<attribute name="@param">
						<description>name
            is the qname name</description>
					</attribute>
					<attribute name="@param">
						<description>arity
            integer of qname</description>
					</attribute>
					<attribute name="@return">
						<description>boolean</description>
					</attribute>
				</comment>
				<params>
					<param name="name" comment="is the qname name" fulltype="javax.xml.namespace.QName" type="QName" />
					<param name="arity" comment="integer of qname" fulltype="int" type="int" />
				</params>
			</method>
			<method visibility="public" name="getCollectionType" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition">
				<comment>
					<description>[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.</description>
				</comment>
				<params>
					<param name="collectionName" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="getDefaultCollectionType" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition">
				<comment>
					<description>[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()*.</description>
				</comment>
			</method>
		</methods>
	</jelclass>
	<jelclass abstract="true" visibility="public" package="org.eclipse.wst.xml.xpath2.api" interface="true" fulltype="org.eclipse.wst.xml.xpath2.api.StaticVariableResolver" type="StaticVariableResolver">
		<comment>
			<attribute name="@since">
				<description>2.0</description>
			</attribute>
		</comment>
		<methods>
			<method visibility="public" name="isVariablePresent" returncomment="Availability of the variable" fulltype="boolean" type="boolean">
				<comment>
					<description>Is the variable present in the current context.</description>
					<attribute name="@param">
						<description>name Variable name</description>
					</attribute>
					<attribute name="@return">
						<description>Availability of the variable</description>
					</attribute>
				</comment>
				<params>
					<param name="name" comment="Variable name" fulltype="javax.xml.namespace.QName" type="QName" />
				</params>
			</method>
			<method visibility="public" name="getVariableType" returncomment="" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.ItemType" type="ItemType">
				<comment>
					<attribute name="@param">
						<description>name</description>
					</attribute>
					<attribute name="@return" />
				</comment>
				<params>
					<param name="name" comment="" fulltype="javax.xml.namespace.QName" type="QName" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass abstract="true" visibility="public" package="org.eclipse.wst.xml.xpath2.api" interface="true" fulltype="org.eclipse.wst.xml.xpath2.api.XPath2Engine" type="XPath2Engine">
		<comment>
			<description>Main API for the XPath2 processor.</description>
			<attribute name="@noimplement">
				<description>This interface is not intended to be implemented by clients.</description>
			</attribute>
			<attribute name="@since">
				<description>2.0</description>
			</attribute>
		</comment>
		<methods>
			<method visibility="public" name="parseExpression" returncomment="A compiled expression." fulltype="org.eclipse.wst.xml.xpath2.api.XPath2Expression" type="XPath2Expression">
				<comment>
					<description>Parse a full XPath2 expression and type check it against the static context
 (if it provides a type model to check against)</description>
					<attribute name="@param">
						<description>expression String representation of XPath2 expression</description>
					</attribute>
					<attribute name="@param">
						<description>context Static context for the expression.</description>
					</attribute>
					<attribute name="@return">
						<description>A compiled expression.</description>
					</attribute>
				</comment>
				<params>
					<param name="expression" comment="String representation of XPath2 expression" fulltype="java.lang.String" type="String" />
					<param name="context" comment="Static context for the expression." fulltype="org.eclipse.wst.xml.xpath2.api.StaticContext" type="StaticContext" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass abstract="true" visibility="public" package="org.eclipse.wst.xml.xpath2.api" interface="true" fulltype="org.eclipse.wst.xml.xpath2.api.XPath2Expression" type="XPath2Expression">
		<comment>
			<description>This interface represents a parsed and statically bound XPath2 expression.</description>
			<attribute name="@noimplement">
				<description>This interface is not intended to be implemented by clients.</description>
			</attribute>
			<attribute name="@since">
				<description>2.0</description>
			</attribute>
		</comment>
		<methods>
			<method visibility="public" name="getFreeVariables" returncomment="A Collection containing javax.xml.namespacing.QName of free variables" fulltype="java.util.Collection" type="Collection">
				<comment>
					<description>Return a collections of QNames of the names of free variables referenced in the XPath expression.
 These variables may be requested during evaluation.</description>
					<attribute name="@return">
						<description>A Collection containing javax.xml.namespacing.QName of free variables</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getResolvedFunctions" returncomment="A Collection containing javax.xml.namespacing.QName of functions in use." fulltype="java.util.Collection" type="Collection">
				<comment>
					<description>Return a collections of the functions used in the XPath2 expression.</description>
					<attribute name="@return">
						<description>A Collection containing javax.xml.namespacing.QName of functions in use.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getAxes" returncomment="A Collection containing Strings with the axis names in use." fulltype="java.util.Collection" type="Collection">
				<comment>
					<description>Return a collections of the axis used in the XPath2 expression.</description>
					<attribute name="@return">
						<description>A Collection containing Strings with the axis names in use.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="isRootPathUsed" returncomment="true if the expression uses / or //, false otherwise." fulltype="boolean" type="boolean">
				<comment>
					<description>Whether or not the root path is in use in the XPath2 expression.</description>
					<attribute name="@return">
						<description>true if the expression uses / or //, false otherwise.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="evaluate" returncomment="A ResultSequence" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Evaluate the XPath2 expression, using the supplied DynamicContext.</description>
					<attribute name="@param">
						<description>dynamicContext Dynamic context for the expression.</description>
					</attribute>
					<attribute name="@param">
						<description>contextItems Context item (typically nodes, often one) to evaluate under.</description>
					</attribute>
					<attribute name="@return">
						<description>A ResultSequence</description>
					</attribute>
				</comment>
				<params>
					<param name="dynamicContext" comment="Dynamic context for the expression." fulltype="org.eclipse.wst.xml.xpath2.api.DynamicContext" type="DynamicContext" />
					<param name="contextItems" comment="Context item (typically nodes, often one) to evaluate under." fulltype="java.lang.Object[]" type="Object" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass abstract="true" visibility="public" package="org.eclipse.wst.xml.xpath2.api" interface="true" fulltype="org.eclipse.wst.xml.xpath2.api.XPath2Pattern" type="XPath2Pattern">
		<comment>
			<description>This is a compiled pattern (which is a simpler version of an expression, used to match in XSLT files, etc.)</description>
			<attribute name="@noimplement">
				<description>This interface is not intended to be implemented by clients.</description>
			</attribute>
			<attribute name="@since">
				<description>2.0</description>
			</attribute>
		</comment>
		<methods>
			<method visibility="public" name="getUserData" returncomment="The object passed in my the caller when the patten was created." fulltype="java.lang.Object" type="Object">
				<comment>
					<attribute name="@return">
						<description>The object passed in my the caller when the patten was created.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="matches" fulltype="boolean" type="boolean">
				<params>
					<param name="dc" fulltype="org.eclipse.wst.xml.xpath2.api.DynamicContext" type="DynamicContext" />
					<param name="context" fulltype="org.w3c.dom.Node" type="Node" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass abstract="true" visibility="public" package="org.eclipse.wst.xml.xpath2.api" interface="true" fulltype="org.eclipse.wst.xml.xpath2.api.XPath2PatternSet" type="XPath2PatternSet">
		<comment>
			<attribute name="@noimplement">
				<description>This interface is not intended to be implemented by clients.</description>
			</attribute>
			<attribute name="@since">
				<description>2.0</description>
			</attribute>
		</comment>
		<methods>
			<method visibility="public" name="compilePattern" fulltype="org.eclipse.wst.xml.xpath2.api.XPath2Pattern" type="XPath2Pattern">
				<params>
					<param name="context" fulltype="org.eclipse.wst.xml.xpath2.api.StaticContext" type="StaticContext" />
					<param name="pattern" fulltype="java.lang.String" type="String" />
					<param name="mode" fulltype="java.lang.String" type="String" />
					<param name="priority" fulltype="int" type="int" />
					<param name="userData" fulltype="java.lang.Object" type="Object" />
				</params>
			</method>
			<method visibility="public" name="removePattern" fulltype="void" type="void">
				<params>
					<param name="pattern" fulltype="org.eclipse.wst.xml.xpath2.api.XPath2Pattern" type="XPath2Pattern" />
				</params>
			</method>
			<method visibility="public" name="clear" fulltype="void" type="void" />
			<method visibility="public" name="match" fulltype="org.eclipse.wst.xml.xpath2.api.Match" type="Match">
				<params>
					<param name="dc" fulltype="org.eclipse.wst.xml.xpath2.api.DynamicContext" type="DynamicContext" />
					<param name="context" fulltype="org.w3c.dom.Node" type="Node" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass abstract="true" visibility="public" package="org.eclipse.wst.xml.xpath2.api.typesystem" interface="true" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.ComplexTypeDefinition" type="ComplexTypeDefinition">
		<implements>
			<interface fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
		</implements>
		<comment>
			<attribute name="@since">
				<description>2.0</description>
			</attribute>
		</comment>
		<fields>
			<field final="true" static="true" const="0" visibility="public" name="CONTENT_EMPTY" constexpr="0" fulltype="short" type="short">
				<comment>
					<description>Represents an empty content type. A content type with the distinguished 
 value empty validates elements with no character or element 
 information item children.</description>
				</comment>
			</field>
			<field final="true" static="true" const="1" visibility="public" name="CONTENT_SIMPLE" constexpr="1" fulltype="short" type="short">
				<comment>
					<description>Represents a simple content type. A content type which is simple 
 validates elements with character-only children.</description>
				</comment>
			</field>
			<field final="true" static="true" const="2" visibility="public" name="CONTENT_ELEMENT" constexpr="2" fulltype="short" type="short">
				<comment>
					<description>Represents an element-only content type. An element-only content type 
 validates elements with children that conform to the supplied content 
 model.</description>
				</comment>
			</field>
			<field final="true" static="true" const="3" visibility="public" name="CONTENT_MIXED" constexpr="3" fulltype="short" type="short">
				<comment>
					<description>Represents a mixed content type.</description>
				</comment>
			</field>
		</fields>
		<methods>
			<method visibility="public" name="getDerivationMethod" fulltype="short" type="short">
				<comment>
					<description>[derivation method]: either &lt;code&gt;DERIVATION_EXTENSION&lt;/code&gt;, 
 &lt;code&gt;DERIVATION_RESTRICTION&lt;/code&gt;, or &lt;code&gt;DERIVATION_NONE&lt;/code&gt; 
 (see &lt;code&gt;XSConstants&lt;/code&gt;).</description>
				</comment>
			</method>
			<method visibility="public" name="getAbstract" fulltype="boolean" type="boolean">
				<comment>
					<description>[abstract]: a boolean. Complex types for which &lt;code&gt;abstract&lt;/code&gt; is 
 true must not be used as the type definition for the validation of 
 element information items.</description>
				</comment>
			</method>
			<method visibility="public" name="getContentType" fulltype="short" type="short">
				<comment>
					<description>[content type]: one of empty (&lt;code&gt;CONTENTTYPE_EMPTY&lt;/code&gt;), a simple 
 type definition (&lt;code&gt;CONTENTTYPE_SIMPLE&lt;/code&gt;), mixed (
 &lt;code&gt;CONTENTTYPE_MIXED&lt;/code&gt;), or element-only (
 &lt;code&gt;CONTENTTYPE_ELEMENT&lt;/code&gt;).</description>
				</comment>
			</method>
			<method visibility="public" name="getSimpleType" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.SimpleTypeDefinition" type="SimpleTypeDefinition">
				<comment>
					<description>A simple type definition corresponding to a simple content model, 
 otherwise &lt;code&gt;null&lt;/code&gt;.</description>
				</comment>
			</method>
			<method visibility="public" name="isProhibitedSubstitution" returncomment="True if &lt;code&gt;restriction&lt;/code&gt; is a prohibited substitution, 
   otherwise false." fulltype="boolean" type="boolean">
				<comment>
					<description>[prohibited substitutions]: a subset of {extension, restriction}</description>
					<attribute name="@param">
						<description>restriction  Extension or restriction constants (see 
   &lt;code&gt;XSConstants&lt;/code&gt;).</description>
					</attribute>
					<attribute name="@return">
						<description>True if &lt;code&gt;restriction&lt;/code&gt; is a prohibited substitution, 
   otherwise false.</description>
					</attribute>
				</comment>
				<params>
					<param name="restriction" comment="Extension or restriction constants (see 
   &lt;code&gt;XSConstants&lt;/code&gt;)." fulltype="short" type="short" />
				</params>
			</method>
			<method visibility="public" name="getProhibitedSubstitutions" fulltype="short" type="short">
				<comment>
					<description>[prohibited substitutions]: A subset of {extension, restriction} or 
 &lt;code&gt;DERIVATION_NONE&lt;/code&gt; represented as a bit flag (see 
 &lt;code&gt;XSConstants&lt;/code&gt;).</description>
				</comment>
			</method>
		</methods>
	</jelclass>
	<jelclass abstract="true" visibility="public" package="org.eclipse.wst.xml.xpath2.api.typesystem" interface="true" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.ItemType" type="ItemType">
		<comment>
			<attribute name="@since">
				<description>2.0</description>
			</attribute>
		</comment>
		<fields>
			<field final="true" static="true" const="0" visibility="public" name="OCCURRENCE_OPTIONAL" constexpr="0" fulltype="short" type="short" />
			<field final="true" static="true" const="1" visibility="public" name="OCCURRENCE_ONE" constexpr="1" fulltype="short" type="short" />
			<field final="true" static="true" const="2" visibility="public" name="OCCURRENCE_NONE_OR_MANY" constexpr="2" fulltype="short" type="short" />
			<field final="true" static="true" const="3" visibility="public" name="OCCURRENCE_ONE_OR_MANY" constexpr="3" fulltype="short" type="short" />
			<field final="true" static="true" const="1" visibility="public" name="ALWAYS_ONE_MASK" constexpr="1" fulltype="short" type="short" />
			<field final="true" static="true" const="2" visibility="public" name="MAYBE_MANY_MASK" constexpr="2" fulltype="short" type="short" />
		</fields>
		<methods>
			<method visibility="public" name="getOccurrence" fulltype="short" type="short" />
		</methods>
	</jelclass>
	<jelclass abstract="true" visibility="public" package="org.eclipse.wst.xml.xpath2.api.typesystem" interface="true" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.NodeItemType" type="NodeItemType">
		<implements>
			<interface fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.ItemType" type="ItemType" />
		</implements>
		<comment>
			<attribute name="@since">
				<description>2.0</description>
			</attribute>
		</comment>
		<methods>
			<method visibility="public" name="isWildcard" returncomment="Wildcard test?" fulltype="boolean" type="boolean">
				<comment>
					<description>For attribute and element types, return whether the name
 part of the type test is a wildcard.</description>
					<attribute name="@return">
						<description>Wildcard test?</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getName" returncomment="name of the item type, if applicable, otherwise null" fulltype="javax.xml.namespace.QName" type="QName">
				<comment>
					<attribute name="@return">
						<description>name of the item type, if applicable, otherwise null</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getNodeType" returncomment="The DOM node type" fulltype="short" type="short">
				<comment>
					<description>Node type as per list in org.w3c.dom.Node</description>
					<attribute name="@return">
						<description>The DOM node type</description>
					</attribute>
				</comment>
			</method>
		</methods>
	</jelclass>
	<jelclass abstract="true" visibility="public" package="org.eclipse.wst.xml.xpath2.api.typesystem" interface="true" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.PrimitiveType" type="PrimitiveType">
		<implements>
			<interface fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
		</implements>
		<comment>
			<attribute name="@since">
				<description>2.0</description>
			</attribute>
		</comment>
		<methods>
			<method visibility="public" name="validate" returncomment="the actual value (QName, Boolean) of the string value" fulltype="boolean" type="boolean">
				<comment>
					<description>validate a given string against this simple type.</description>
					<attribute name="@param">
						<description>content       the string value that needs to be validated</description>
					</attribute>
					<attribute name="@param">
						<description>context       the validation context</description>
					</attribute>
					<attribute name="@param">
						<description>validatedInfo used to store validation result</description>
					</attribute>
					<attribute name="@return">
						<description>the actual value (QName, Boolean) of the string value</description>
					</attribute>
				</comment>
				<params>
					<param name="content" comment="the string value that needs to be validated" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="validateNative" returncomment="the actual value (QName, Boolean) of the string value" fulltype="boolean" type="boolean">
				<comment>
					<description>validate a given string against this simple type.</description>
					<attribute name="@param">
						<description>content       the string value that needs to be validated</description>
					</attribute>
					<attribute name="@param">
						<description>context       the validation context</description>
					</attribute>
					<attribute name="@param">
						<description>validatedInfo used to store validation result</description>
					</attribute>
					<attribute name="@return">
						<description>the actual value (QName, Boolean) of the string value</description>
					</attribute>
				</comment>
				<params>
					<param name="content" comment="the string value that needs to be validated" fulltype="java.lang.Object" type="Object" />
				</params>
			</method>
			<method visibility="public" name="construct" returncomment="the actual value (QName, Boolean) of the string value" fulltype="org.eclipse.wst.xml.xpath2.api.Item" type="Item">
				<comment>
					<description>validate a given string against this simple type.</description>
					<attribute name="@param">
						<description>content       the string value that needs to be validated</description>
					</attribute>
					<attribute name="@param">
						<description>context       the validation context</description>
					</attribute>
					<attribute name="@param">
						<description>validatedInfo used to store validation result</description>
					</attribute>
					<attribute name="@return">
						<description>the actual value (QName, Boolean) of the string value</description>
					</attribute>
				</comment>
				<params>
					<param name="content" comment="the string value that needs to be validated" fulltype="java.lang.Object" type="Object" />
				</params>
			</method>
			<method visibility="public" name="getInterfaceClass" returncomment="the actual value (QName, Boolean) of the string value" fulltype="java.lang.Class" type="Class">
				<comment>
					<attribute name="@return">
						<description>the actual value (QName, Boolean) of the string value</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getNativeType" returncomment="The expected native type (class or interface) to expect when calling getValue." fulltype="java.lang.Class" type="Class">
				<comment>
					<attribute name="@return">
						<description>The expected native type (class or interface) to expect when calling getValue.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="isEqual" returncomment="true if the two value are equal" fulltype="boolean" type="boolean">
				<comment>
					<description>Check whether two actual values are equal.</description>
					<attribute name="@param">
						<description>value1  the first value</description>
					</attribute>
					<attribute name="@param">
						<description>value2  the second value</description>
					</attribute>
					<attribute name="@return">
						<description>true if the two value are equal</description>
					</attribute>
				</comment>
				<params>
					<param name="value1" comment="the first value" fulltype="java.lang.Object" type="Object" />
					<param name="value2" comment="the second value" fulltype="java.lang.Object" type="Object" />
				</params>
			</method>
			<method visibility="public" name="isIDType" returncomment="whether this simple type is or is derived from ID." fulltype="boolean" type="boolean">
				<comment>
					<description>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&apos;t seem to be a
          clean way of doing it except to define special method like this.</description>
					<attribute name="@return">
						<description>whether this simple type is or is derived from ID.</description>
					</attribute>
				</comment>
			</method>
		</methods>
	</jelclass>
	<jelclass abstract="true" visibility="public" package="org.eclipse.wst.xml.xpath2.api.typesystem" interface="true" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.SimpleTypeDefinition" type="SimpleTypeDefinition">
		<implements>
			<interface fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
		</implements>
		<comment>
			<attribute name="@since">
				<description>2.0</description>
			</attribute>
		</comment>
		<fields>
			<field final="true" static="true" const="0" visibility="public" name="VARIETY_ABSENT" constexpr="0" fulltype="short" type="short">
				<comment>
					<description>The variety is absent for the anySimpleType definition.</description>
				</comment>
			</field>
			<field final="true" static="true" const="1" visibility="public" name="VARIETY_ATOMIC" constexpr="1" fulltype="short" type="short">
				<comment>
					<description>&lt;code&gt;Atomic&lt;/code&gt; type.</description>
				</comment>
			</field>
			<field final="true" static="true" const="2" visibility="public" name="VARIETY_LIST" constexpr="2" fulltype="short" type="short">
				<comment>
					<description>&lt;code&gt;List&lt;/code&gt; type.</description>
				</comment>
			</field>
			<field final="true" static="true" const="3" visibility="public" name="VARIETY_UNION" constexpr="3" fulltype="short" type="short">
				<comment>
					<description>&lt;code&gt;Union&lt;/code&gt; type.</description>
				</comment>
			</field>
		</fields>
		<methods>
			<method visibility="public" name="getVariety" fulltype="short" type="short">
				<comment>
					<description>[variety]: one of {atomic, list, union} or absent.</description>
				</comment>
			</method>
			<method visibility="public" name="getPrimitiveType" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.SimpleTypeDefinition" type="SimpleTypeDefinition">
				<comment>
					<description>If variety is &lt;code&gt;atomic&lt;/code&gt; the primitive type definition (a 
 built-in primitive datatype definition or the simple ur-type 
 definition) is available, otherwise &lt;code&gt;null&lt;/code&gt;.</description>
				</comment>
			</method>
			<method visibility="public" name="getBuiltInKind" fulltype="short" type="short">
				<comment>
					<description>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 &lt;code&gt;INTEGER_DV&lt;/code&gt; is returned.
 
 KILL!</description>
				</comment>
			</method>
			<method visibility="public" name="getItemType" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition">
				<comment>
					<description>If variety is &lt;code&gt;list&lt;/code&gt; the item type definition (an atomic or 
 union simple type definition) is available, otherwise 
 &lt;code&gt;null&lt;/code&gt;.</description>
				</comment>
			</method>
			<method visibility="public" name="getMemberTypes" fulltype="java.util.List" type="List">
				<comment>
					<description>If variety is &lt;code&gt;union&lt;/code&gt; the list of member type definitions (a 
 non-empty sequence of simple type definitions) is available, 
 otherwise an empty &lt;code&gt;XSObjectList&lt;/code&gt;.</description>
				</comment>
			</method>
			<method visibility="public" name="getOrdered" fulltype="short" type="short">
				<comment>
					<description>Fundamental Facet: ordered.</description>
				</comment>
			</method>
			<method visibility="public" name="getFinite" fulltype="boolean" type="boolean">
				<comment>
					<description>Fundamental Facet: cardinality.</description>
				</comment>
			</method>
			<method visibility="public" name="getBounded" fulltype="boolean" type="boolean">
				<comment>
					<description>Fundamental Facet: bounded.</description>
				</comment>
			</method>
			<method visibility="public" name="getNumeric" fulltype="boolean" type="boolean">
				<comment>
					<description>Fundamental Facet: numeric.</description>
				</comment>
			</method>
		</methods>
	</jelclass>
	<jelclass abstract="true" visibility="public" package="org.eclipse.wst.xml.xpath2.api.typesystem" interface="true" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition">
		<comment>
			<attribute name="@noimplement">
				<description>This interface is not intended to be implemented by clients.</description>
			</attribute>
			<attribute name="@since">
				<description>2.0</description>
			</attribute>
		</comment>
		<fields>
			<field final="true" static="true" const="0" visibility="public" name="DERIVATION_NONE" constexpr="0" fulltype="short" type="short" />
			<field final="true" static="true" const="1" visibility="public" name="DERIVATION_EXTENSION" constexpr="1" fulltype="short" type="short" />
			<field final="true" static="true" const="2" visibility="public" name="DERIVATION_RESTRICTION" constexpr="2" fulltype="short" type="short" />
			<field final="true" static="true" const="4" visibility="public" name="DERIVATION_SUBSTITUTION" constexpr="4" fulltype="short" type="short" />
			<field final="true" static="true" const="8" visibility="public" name="DERIVATION_UNION" constexpr="8" fulltype="short" type="short" />
			<field final="true" static="true" const="16" visibility="public" name="DERIVATION_LIST" constexpr="16" fulltype="short" type="short" />
		</fields>
		<methods>
			<method visibility="public" name="getNamespace" fulltype="java.lang.String" type="String" />
			<method visibility="public" name="getName" fulltype="java.lang.String" type="String" />
			<method visibility="public" name="getBaseType" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
			<method visibility="public" name="derivedFromType" fulltype="boolean" type="boolean">
				<params>
					<param name="ancestorType" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
					<param name="derivationMethod" fulltype="short" type="short" />
				</params>
			</method>
			<method visibility="public" name="derivedFrom" fulltype="boolean" type="boolean">
				<params>
					<param name="namespace" fulltype="java.lang.String" type="String" />
					<param name="name" fulltype="java.lang.String" type="String" />
					<param name="derivationMethod" fulltype="short" type="short" />
				</params>
			</method>
			<method visibility="public" name="getNativeType" fulltype="java.lang.Class" type="Class" />
			<method visibility="public" name="getSimpleTypes" fulltype="java.util.List" type="List">
				<params>
					<param name="attr" fulltype="org.w3c.dom.Attr" type="Attr" />
				</params>
			</method>
			<method visibility="public" name="getSimpleTypes" fulltype="java.util.List" type="List">
				<params>
					<param name="attr" fulltype="org.w3c.dom.Element" type="Element" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass abstract="true" visibility="public" package="org.eclipse.wst.xml.xpath2.api.typesystem" interface="true" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel" type="TypeModel">
		<comment>
			<attribute name="@since">
				<description>2.0</description>
			</attribute>
		</comment>
		<methods>
			<method visibility="public" name="getType" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition">
				<params>
					<param name="node" fulltype="org.w3c.dom.Node" type="Node" />
				</params>
			</method>
			<method visibility="public" name="lookupType" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition">
				<params>
					<param name="namespace" fulltype="java.lang.String" type="String" />
					<param name="typeName" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="lookupElementDeclaration" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition">
				<params>
					<param name="namespace" fulltype="java.lang.String" type="String" />
					<param name="elementName" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="lookupAttributeDeclaration" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition">
				<params>
					<param name="namespace" fulltype="java.lang.String" type="String" />
					<param name="attributeName" fulltype="java.lang.String" type="String" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass abstract="true" visibility="public" package="org.eclipse.wst.xml.xpath2.processor" interface="true" fulltype="org.eclipse.wst.xml.xpath2.processor.CollationProvider" type="CollationProvider">
		<comment>
			<description>Service provider interface for looking up collations from within the dynamic context.</description>
			<attribute name="@since">
				<description>1.1</description>
			</attribute>
			<attribute name="@deprecated">
				<description>Use org.eclipse.wst.xml.xpath2.api.CollationProvider instead</description>
			</attribute>
		</comment>
		<methods>
			<method visibility="public" name="get_collation" returncomment="The collation to use, or null if no such collation exists by this provider" fulltype="java.util.Comparator" type="Comparator">
				<comment>
					<description>Gets the named collator. W3C does not define collation names (yet?) so we are constrained to using an
 implementation-defined naming scheme.</description>
					<attribute name="@param">
						<description>name A URI designating the collation to use</description>
					</attribute>
					<attribute name="@return">
						<description>The collation to use, or null if no such collation exists by this provider</description>
					</attribute>
				</comment>
				<params>
					<param name="name" comment="A URI designating the collation to use" fulltype="java.lang.String" type="String" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="Object" visibility="public" package="org.eclipse.wst.xml.xpath2.processor" superclassfulltype="java.lang.Object" fulltype="org.eclipse.wst.xml.xpath2.processor.DOMBuilder" type="DOMBuilder">
		<implements>
			<interface fulltype="org.eclipse.wst.xml.xpath2.processor.DOMLoader" type="DOMLoader" />
		</implements>
		<comment>
			<description>The DOM builder loads an DOM from an InputStream. The loading is always namespace aware.</description>
		</comment>
		<fields>
			<field visibility="package-private" name="_validating" fulltype="boolean" type="boolean" />
			<field visibility="package-private" name="_namespace_aware" fulltype="boolean" type="boolean" />
		</fields>
		<methods>
			<constructor visibility="public" name="DOMBuilder">
				<comment>
					<description>Constructor for DOM builder.</description>
				</comment>
			</constructor>
			<method visibility="public" name="load" returncomment="The loaded document." fulltype="org.w3c.dom.Document" type="Document">
				<comment>
					<description>Loads The XML document.</description>
					<attribute name="@param">
						<description>in
            is the input stream.</description>
					</attribute>
					<attribute name="@throws">
						<description>DOMLoaderException
             DOM loader exception.</description>
					</attribute>
					<attribute name="@return">
						<description>The loaded document.</description>
					</attribute>
				</comment>
				<params>
					<param name="in" comment="is the input stream." fulltype="java.io.InputStream" type="InputStream" />
				</params>
				<exceptions>
					<exception comment="DOM loader exception." fulltype="org.eclipse.wst.xml.xpath2.processor.DOMLoaderException" type="DOMLoaderException" />
				</exceptions>
			</method>
			<method visibility="public" name="set_validating" fulltype="void" type="void">
				<comment>
					<description>Set validating boolean.</description>
					<attribute name="@param">
						<description>x
            is the value to set the validating boolean to.</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="is the value to set the validating boolean to." fulltype="boolean" type="boolean" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass abstract="true" visibility="public" package="org.eclipse.wst.xml.xpath2.processor" interface="true" fulltype="org.eclipse.wst.xml.xpath2.processor.DOMLoader" type="DOMLoader">
		<comment>
			<description>The DOM loader loads the XML document.</description>
		</comment>
		<methods>
			<method visibility="public" name="load" returncomment="The loaded document. The document is always loaded as namespace-aware" fulltype="org.w3c.dom.Document" type="Document">
				<comment>
					<description>The DOM loader loads the XML docuemnt</description>
					<attribute name="@param">
						<description>in
            is the input stream.</description>
					</attribute>
					<attribute name="@throws">
						<description>DOMLoaderException
             DOM loader exception.</description>
					</attribute>
					<attribute name="@return">
						<description>The loaded document. The document is always loaded as namespace-aware</description>
					</attribute>
				</comment>
				<params>
					<param name="in" comment="is the input stream." fulltype="java.io.InputStream" type="InputStream" />
				</params>
				<exceptions>
					<exception comment="DOM loader exception." fulltype="org.eclipse.wst.xml.xpath2.processor.DOMLoaderException" type="DOMLoaderException" />
				</exceptions>
			</method>
			<method visibility="public" name="set_validating" fulltype="void" type="void">
				<comment>
					<description>Set validating boolean.</description>
					<attribute name="@param">
						<description>val
            is the validating boolean.</description>
					</attribute>
				</comment>
				<params>
					<param name="val" comment="is the validating boolean." fulltype="boolean" type="boolean" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="XPathException" visibility="public" package="org.eclipse.wst.xml.xpath2.processor" serializable="true" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.XPathException" fulltype="org.eclipse.wst.xml.xpath2.processor.DOMLoaderException" type="DOMLoaderException">
		<comment>
			<description>Exception caused by DOM loader.</description>
			<attribute name="@deprecated">
				<description>Only used in deprecated APIs</description>
			</attribute>
		</comment>
		<methods>
			<constructor visibility="public" name="DOMLoaderException">
				<comment>
					<description>Constructor for DOM loader exception.</description>
					<attribute name="@param">
						<description>reason
            is the reason for the exception.</description>
					</attribute>
				</comment>
				<params>
					<param name="reason" comment="is the reason for the exception." fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
		</methods>
	</jelclass>
	<jelclass superclass="DefaultStaticContext" visibility="public" package="org.eclipse.wst.xml.xpath2.processor" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.DefaultStaticContext" fulltype="org.eclipse.wst.xml.xpath2.processor.DefaultDynamicContext" type="DefaultDynamicContext">
		<implements>
			<interface fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicContext" type="DynamicContext" />
		</implements>
		<comment>
			<description>The default implementation of a Dynamic Context.
 
 Initializes and provides functionality of a dynamic context according to the
 XPath 2.0 specification.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="DefaultDynamicContext">
				<comment>
					<description>Constructor.</description>
					<attribute name="@param">
						<description>schema
            Schema information of document. May be null</description>
					</attribute>
					<attribute name="@param">
						<description>doc
            Document [root] node of XML source.</description>
					</attribute>
				</comment>
				<params>
					<param name="schema" comment="Schema information of document. May be null" fulltype="XSModel" type="XSModel" />
					<param name="doc" comment="Document [root] node of XML source." fulltype="org.w3c.dom.Document" type="Document" />
				</params>
			</constructor>
			<constructor visibility="public" name="DefaultDynamicContext">
				<comment>
					<description>Constructor.</description>
					<attribute name="@param">
						<description>schema
            Schema information of document. May be null</description>
					</attribute>
					<attribute name="@param">
						<description>doc
            Document [root] node of XML source.</description>
					</attribute>
					<attribute name="@since">
						<description>2.0</description>
					</attribute>
				</comment>
				<params>
					<param name="schema" comment="Schema information of document. May be null" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel" type="TypeModel" />
				</params>
			</constructor>
			<method visibility="public" name="tz" returncomment="an xs:integer _tz" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration">
				<comment>
					<description>Reads the day from a TimeDuration type</description>
					<attribute name="@return">
						<description>an xs:integer _tz</description>
					</attribute>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="current_date_time" fulltype="java.util.GregorianCalendar" type="GregorianCalendar">
				<comment>
					<description>Gets the Current stable date time from the dynamic context.</description>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
					<attribute name="@see">
						<description>org.eclipse.wst.xml.xpath2.processor.DynamicContext#get_current_time()</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="set_focus" fulltype="void" type="void">
				<comment>
					<description>Changes the current focus.</description>
					<attribute name="@param">
						<description>f
            focus to set</description>
					</attribute>
				</comment>
				<params>
					<param name="f" comment="focus to set" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.Focus" type="Focus" />
				</params>
			</method>
			<method visibility="public" name="focus" returncomment="_focus" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.Focus" type="Focus">
				<comment>
					<description>Return the focus</description>
					<attribute name="@return">
						<description>_focus</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="context_item" returncomment="an AnyType result from _focus.context_item()" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType">
				<comment>
					<description>Retrieve context item that is in focus</description>
					<attribute name="@return">
						<description>an AnyType result from _focus.context_item()</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="context_position" returncomment="an integer result from _focus.position()" fulltype="int" type="int">
				<comment>
					<description>Retrieve the position of the focus</description>
					<attribute name="@return">
						<description>an integer result from _focus.position()</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="last" returncomment="an integer result from _focus.last()" fulltype="int" type="int">
				<comment>
					<description>Retrieve the position of the last focus</description>
					<attribute name="@return">
						<description>an integer result from _focus.last()</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="get_variable" returncomment="an AnyType result from get_var(name) or return NULL" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Retrieve the variable name</description>
					<attribute name="@return">
						<description>an AnyType result from get_var(name) or return NULL</description>
					</attribute>
					<attribute name="@since">
						<description>2.0</description>
					</attribute>
				</comment>
				<params>
					<param name="name" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</method>
			<method visibility="public" name="evaluate_function" returncomment="a ResultSequence from funct.evaluate(args)" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<attribute name="@return">
						<description>a ResultSequence from funct.evaluate(args)</description>
					</attribute>
				</comment>
				<params>
					<param name="name" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
					<param name="args" fulltype="java.util.Collection" type="Collection" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="add_function_library" fulltype="void" type="void">
				<comment>
					<description>Adds function definitions.</description>
					<attribute name="@param">
						<description>fl
            Function library to add.</description>
					</attribute>
				</comment>
				<params>
					<param name="fl" comment="Function library to add." fulltype="FunctionLibrary" type="FunctionLibrary" />
				</params>
			</method>
			<method visibility="public" name="get_doc" returncomment="a ResultSequence from ResultSequenceFactory.create_new()" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>get document</description>
					<attribute name="@return">
						<description>a ResultSequence from ResultSequenceFactory.create_new()</description>
					</attribute>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
				<params>
					<param name="resolved" fulltype="java.net.URI" type="URI" />
				</params>
			</method>
			<method visibility="public" name="resolve_uri" fulltype="java.net.URI" type="URI">
				<comment>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
				<params>
					<param name="uri" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="set_variable" fulltype="void" type="void">
				<comment>
					<description>Sets the value of a variable.</description>
					<attribute name="@param">
						<description>var
            Variable name.</description>
					</attribute>
					<attribute name="@param">
						<description>val
            Variable value.</description>
					</attribute>
				</comment>
				<params>
					<param name="var" comment="Variable name." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
					<param name="val" comment="Variable value." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
				</params>
			</method>
			<method visibility="public" name="set_variable" fulltype="void" type="void">
				<comment>
					<attribute name="@since">
						<description>2.0</description>
					</attribute>
				</comment>
				<params>
					<param name="var" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
					<param name="val" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
			</method>
			<method visibility="public" name="set_default_collation" fulltype="void" type="void">
				<comment>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
				<params>
					<param name="_default_collation" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="default_collation_name" fulltype="java.lang.String" type="String">
				<comment>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="get_collation" fulltype="java.util.Comparator" type="Comparator">
				<comment>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
				<params>
					<param name="uri" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="set_collation_provider" fulltype="void" type="void">
				<comment>
					<attribute name="@param">
						<description>provider</description>
					</attribute>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
				<params>
					<param name="provider" comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.CollationProvider" type="CollationProvider" />
				</params>
			</method>
			<method visibility="public" name="node_position" fulltype="int" type="int">
				<comment>
					<description>Use focus().position() to retrieve the value.</description>
					<attribute name="@deprecated">
						<description>This will be removed in a future version use focus().position().</description>
					</attribute>
				</comment>
				<params>
					<param name="node" fulltype="org.w3c.dom.Node" type="Node" />
				</params>
			</method>
			<method visibility="public" name="getTypeModel" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel" type="TypeModel">
				<comment>
					<attribute name="@since">
						<description>2.0</description>
					</attribute>
				</comment>
				<params>
					<param name="node" fulltype="org.w3c.dom.Node" type="Node" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="Object" visibility="public" package="org.eclipse.wst.xml.xpath2.processor" superclassfulltype="java.lang.Object" fulltype="org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator" type="DefaultEvaluator">
		<implements>
			<interface fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor" />
			<interface fulltype="org.eclipse.wst.xml.xpath2.processor.Evaluator" type="Evaluator" />
		</implements>
		<comment>
			<description>Default evaluator interface</description>
		</comment>
		<methods>
			<constructor visibility="public" name="DefaultEvaluator">
				<params>
					<param name="dynamicContext" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicContext" type="DynamicContext" />
					<param name="doc" fulltype="org.w3c.dom.Document" type="Document" />
				</params>
			</constructor>
			<constructor visibility="public" name="DefaultEvaluator">
				<comment>
					<attribute name="@since">
						<description>2.0</description>
					</attribute>
				</comment>
				<params>
					<param name="staticContext" fulltype="org.eclipse.wst.xml.xpath2.api.StaticContext" type="StaticContext" />
					<param name="dynamicContext" fulltype="org.eclipse.wst.xml.xpath2.api.DynamicContext" type="DynamicContext" />
					<param name="contextItems" fulltype="java.lang.Object[]" type="Object" />
				</params>
			</constructor>
			<method visibility="package-private" name="focus" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.Focus" type="Focus" />
			<method visibility="package-private" name="set_focus" fulltype="void" type="void">
				<params>
					<param name="f" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.Focus" type="Focus" />
				</params>
			</method>
			<method visibility="public" name="evaluate" returncomment="result sequence." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>evaluate the xpath node</description>
					<attribute name="@param">
						<description>node
            is the xpath node.</description>
					</attribute>
					<attribute name="@throws">
						<description>dynamic
             error.</description>
					</attribute>
					<attribute name="@return">
						<description>result sequence.</description>
					</attribute>
				</comment>
				<params>
					<param name="node" comment="is the xpath node." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathNode" type="XPathNode" />
				</params>
			</method>
			<method visibility="public" name="evaluate2" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<attribute name="@since">
						<description>2.0</description>
					</attribute>
				</comment>
				<params>
					<param name="node" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathNode" type="XPathNode" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="result sequence." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>iterate through xpath expression</description>
					<attribute name="@param">
						<description>xp
            is the xpath.</description>
					</attribute>
					<attribute name="@return">
						<description>result sequence.</description>
					</attribute>
				</comment>
				<params>
					<param name="xp" comment="is the xpath." fulltype="org.eclipse.wst.xml.xpath2.processor.ast.XPath" type="XPath" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a new function." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>visit for expression</description>
					<attribute name="@param">
						<description>fex
            is the for expression.</description>
					</attribute>
					<attribute name="@return">
						<description>a new function.</description>
					</attribute>
				</comment>
				<params>
					<param name="fex" comment="is the for expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.ForExpr" type="ForExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a new function or null." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>visit quantified expression</description>
					<attribute name="@param">
						<description>qex
            is the quantified expression.</description>
					</attribute>
					<attribute name="@return">
						<description>a new function or null.</description>
					</attribute>
				</comment>
				<params>
					<param name="qex" comment="is the quantified expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.QuantifiedExpr" type="QuantifiedExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a ifex.then_clause().accept(this)." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>visit if expression</description>
					<attribute name="@param">
						<description>ifex
            is the if expression.</description>
					</attribute>
					<attribute name="@return">
						<description>a ifex.then_clause().accept(this).</description>
					</attribute>
				</comment>
				<params>
					<param name="ifex" comment="is the if expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.IfExpr" type="IfExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a new function" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>visit or expression</description>
					<attribute name="@param">
						<description>orex
            is the or expression.</description>
					</attribute>
					<attribute name="@return">
						<description>a new function</description>
					</attribute>
				</comment>
				<params>
					<param name="orex" comment="is the or expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.OrExpr" type="OrExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a new function" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>visit and expression</description>
					<attribute name="@param">
						<description>andex
            is the and expression.</description>
					</attribute>
					<attribute name="@return">
						<description>a new function</description>
					</attribute>
				</comment>
				<params>
					<param name="andex" comment="is the and expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.AndExpr" type="AndExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a new function or null" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>visit compare expression</description>
					<attribute name="@param">
						<description>cmpex
            is the compare expression.</description>
					</attribute>
					<attribute name="@return">
						<description>a new function or null</description>
					</attribute>
				</comment>
				<params>
					<param name="cmpex" comment="is the compare expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.CmpExpr" type="CmpExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a new function" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>visit range expression</description>
					<attribute name="@param">
						<description>rex
            is the range expression.</description>
					</attribute>
					<attribute name="@return">
						<description>a new function</description>
					</attribute>
				</comment>
				<params>
					<param name="rex" comment="is the range expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.RangeExpr" type="RangeExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a new function" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>visit and expression</description>
					<attribute name="@param">
						<description>addex
            is the and expression.</description>
					</attribute>
					<attribute name="@return">
						<description>a new function</description>
					</attribute>
				</comment>
				<params>
					<param name="addex" comment="is the and expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.AddExpr" type="AddExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a new function" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>visit sub expression</description>
					<attribute name="@param">
						<description>subex
            is the sub expression.</description>
					</attribute>
					<attribute name="@return">
						<description>a new function</description>
					</attribute>
				</comment>
				<params>
					<param name="subex" comment="is the sub expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.SubExpr" type="SubExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a new function" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>visit multiply expression</description>
					<attribute name="@param">
						<description>mulex
            is the mul expression.</description>
					</attribute>
					<attribute name="@return">
						<description>a new function</description>
					</attribute>
				</comment>
				<params>
					<param name="mulex" comment="is the mul expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.MulExpr" type="MulExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a new function" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>visit division expression</description>
					<attribute name="@param">
						<description>mulex
            is the division expression.</description>
					</attribute>
					<attribute name="@return">
						<description>a new function</description>
					</attribute>
				</comment>
				<params>
					<param name="mulex" comment="is the division expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.DivExpr" type="DivExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a new function" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>visit integer division expression</description>
					<attribute name="@param">
						<description>mulex
            is the integer division expression.</description>
					</attribute>
					<attribute name="@return">
						<description>a new function</description>
					</attribute>
				</comment>
				<params>
					<param name="mulex" comment="is the integer division expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.IDivExpr" type="IDivExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a new function" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>visit modular expression</description>
					<attribute name="@param">
						<description>mulex
            is the modular expression.</description>
					</attribute>
					<attribute name="@return">
						<description>a new function</description>
					</attribute>
				</comment>
				<params>
					<param name="mulex" comment="is the modular expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.ModExpr" type="ModExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a new function" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>visit union expression</description>
					<attribute name="@param">
						<description>unex
            is the union expression.</description>
					</attribute>
					<attribute name="@return">
						<description>a new function</description>
					</attribute>
				</comment>
				<params>
					<param name="unex" comment="is the union expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.UnionExpr" type="UnionExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a new function" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>visit pipe expression</description>
					<attribute name="@param">
						<description>pipex
            is the pipe expression.</description>
					</attribute>
					<attribute name="@return">
						<description>a new function</description>
					</attribute>
				</comment>
				<params>
					<param name="pipex" comment="is the pipe expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.PipeExpr" type="PipeExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a new function" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>visit intersect expression</description>
					<attribute name="@param">
						<description>iexpr
            is the intersect expression.</description>
					</attribute>
					<attribute name="@return">
						<description>a new function</description>
					</attribute>
				</comment>
				<params>
					<param name="iexpr" comment="is the intersect expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.IntersectExpr" type="IntersectExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a new function" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>visit except expression</description>
					<attribute name="@param">
						<description>eexpr
            is the except expression.</description>
					</attribute>
					<attribute name="@return">
						<description>a new function</description>
					</attribute>
				</comment>
				<params>
					<param name="eexpr" comment="is the except expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.ExceptExpr" type="ExceptExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a new function" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>visit instance of expression</description>
					<attribute name="@param">
						<description>ioexp
            is the instance of expression.</description>
					</attribute>
					<attribute name="@return">
						<description>a new function</description>
					</attribute>
				</comment>
				<params>
					<param name="ioexp" comment="is the instance of expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.InstOfExpr" type="InstOfExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a new function" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>visit treat-as expression</description>
					<attribute name="@param">
						<description>taexp
            is the treat-as expression.</description>
					</attribute>
					<attribute name="@return">
						<description>a new function</description>
					</attribute>
				</comment>
				<params>
					<param name="taexp" comment="is the treat-as expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.TreatAsExpr" type="TreatAsExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a new function" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>visit castable expression</description>
					<attribute name="@param">
						<description>cexp
            is the castable expression.</description>
					</attribute>
					<attribute name="@return">
						<description>a new function</description>
					</attribute>
				</comment>
				<params>
					<param name="cexp" comment="is the castable expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.CastableExpr" type="CastableExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a new function" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>visit cast expression</description>
					<attribute name="@param">
						<description>cexp
            is the cast expression.</description>
					</attribute>
					<attribute name="@return">
						<description>a new function</description>
					</attribute>
				</comment>
				<params>
					<param name="cexp" comment="is the cast expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.CastExpr" type="CastExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a new function" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>visit minus expression</description>
					<attribute name="@param">
						<description>e
            is the minus expression.</description>
					</attribute>
					<attribute name="@return">
						<description>a new function</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the minus expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.MinusExpr" type="MinusExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a new function" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>visit plus expression</description>
					<attribute name="@param">
						<description>e
            is the plus expression.</description>
					</attribute>
					<attribute name="@return">
						<description>a new function</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the plus expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.PlusExpr" type="PlusExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a new function" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>visit XPath expression</description>
					<attribute name="@param">
						<description>e
            is the XPath expression.</description>
					</attribute>
					<attribute name="@return">
						<description>a new function</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the XPath expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathExpr" type="XPathExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a new function" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>visit a forward step expression</description>
					<attribute name="@param">
						<description>e
            is the forward step.</description>
					</attribute>
					<attribute name="@return">
						<description>a new function</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the forward step." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.ForwardStep" type="ForwardStep" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a new function" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>visit a reverse step expression</description>
					<attribute name="@param">
						<description>e
            is the reverse step.</description>
					</attribute>
					<attribute name="@return">
						<description>a new function</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the reverse step." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.ReverseStep" type="ReverseStep" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a result sequence" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>visit a name test expression</description>
					<attribute name="@param">
						<description>e
            is thename test.</description>
					</attribute>
					<attribute name="@return">
						<description>a result sequence</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is thename test." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.NameTest" type="NameTest" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a result sequence" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>visit variable reference</description>
					<attribute name="@param">
						<description>e
            is the variable reference.</description>
					</attribute>
					<attribute name="@return">
						<description>a result sequence</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the variable reference." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.VarRef" type="VarRef" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a result sequence" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>visit string literal.</description>
					<attribute name="@param">
						<description>e
            is the string literal.</description>
					</attribute>
					<attribute name="@return">
						<description>a result sequence</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the string literal." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.StringLiteral" type="StringLiteral" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a result sequence" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>visit integer literal.</description>
					<attribute name="@param">
						<description>e
            is the integer literal.</description>
					</attribute>
					<attribute name="@return">
						<description>a result sequence</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the integer literal." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.IntegerLiteral" type="IntegerLiteral" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a result sequence" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>visit double literal.</description>
					<attribute name="@param">
						<description>e
            is the double literal.</description>
					</attribute>
					<attribute name="@return">
						<description>a result sequence</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the double literal." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.DoubleLiteral" type="DoubleLiteral" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a result sequence" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>visit decimal literal.</description>
					<attribute name="@param">
						<description>e
            is the decimal literal.</description>
					</attribute>
					<attribute name="@return">
						<description>a result sequence</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the decimal literal." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.DecimalLiteral" type="DecimalLiteral" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a new function" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>visit parent expression.</description>
					<attribute name="@param">
						<description>e
            is the parent expression.</description>
					</attribute>
					<attribute name="@return">
						<description>a new function</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the parent expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.ParExpr" type="ParExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a result sequence" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>visit context item expression.</description>
					<attribute name="@param">
						<description>e
            is the context item expression.</description>
					</attribute>
					<attribute name="@return">
						<description>a result sequence</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the context item expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.CntxItemExpr" type="CntxItemExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a new function or null" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>visit function call.</description>
					<attribute name="@param">
						<description>e
            is the function call.</description>
					</attribute>
					<attribute name="@return">
						<description>a new function or null</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the function call." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.FunctionCall" type="FunctionCall" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="null" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>visit single type.</description>
					<attribute name="@param">
						<description>e
            is the single type.</description>
					</attribute>
					<attribute name="@return">
						<description>null</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the single type." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.SingleType" type="SingleType" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="null" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>visit sequence type.</description>
					<attribute name="@param">
						<description>e
            is the sequence type.</description>
					</attribute>
					<attribute name="@return">
						<description>null</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the sequence type." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.SequenceType" type="SequenceType" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="null" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>visit item type.</description>
					<attribute name="@param">
						<description>e
            is the item type.</description>
					</attribute>
					<attribute name="@return">
						<description>null</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the item type." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.ItemType" type="ItemType" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a new function" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>visit any kind test.</description>
					<attribute name="@param">
						<description>e
            is the any kind test.</description>
					</attribute>
					<attribute name="@return">
						<description>a new function</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the any kind test." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.AnyKindTest" type="AnyKindTest" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="result sequence" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>visit document test.</description>
					<attribute name="@param">
						<description>e
            is the document test.</description>
					</attribute>
					<attribute name="@return">
						<description>result sequence</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the document test." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.DocumentTest" type="DocumentTest" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a new function" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>visit text test.</description>
					<attribute name="@param">
						<description>e
            is the text test.</description>
					</attribute>
					<attribute name="@return">
						<description>a new function</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the text test." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.TextTest" type="TextTest" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a new function" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>visit comment test.</description>
					<attribute name="@param">
						<description>e
            is the text test.</description>
					</attribute>
					<attribute name="@return">
						<description>a new function</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the text test." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.CommentTest" type="CommentTest" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a argument" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>visit PI test.</description>
					<attribute name="@param">
						<description>e
            is the PI test.</description>
					</attribute>
					<attribute name="@return">
						<description>a argument</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the PI test." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.PITest" type="PITest" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a result sequence" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>visit attribute test.</description>
					<attribute name="@param">
						<description>e
            is the attribute test.</description>
					</attribute>
					<attribute name="@return">
						<description>a result sequence</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the attribute test." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.AttributeTest" type="AttributeTest" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a result sequence" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>visit schema attribute test.</description>
					<attribute name="@param">
						<description>e
            is the schema attribute test.</description>
					</attribute>
					<attribute name="@return">
						<description>a result sequence</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the schema attribute test." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.SchemaAttrTest" type="SchemaAttrTest" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a result sequence" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>visit element test.</description>
					<attribute name="@param">
						<description>e
            is the element test.</description>
					</attribute>
					<attribute name="@return">
						<description>a result sequence</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the element test." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.ElementTest" type="ElementTest" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a result sequence" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>visit schema element test.</description>
					<attribute name="@param">
						<description>e
            is the schema element test.</description>
					</attribute>
					<attribute name="@return">
						<description>a result sequence</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the schema element test." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.SchemaElemTest" type="SchemaElemTest" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a result sequence" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>visit axis step.</description>
					<attribute name="@param">
						<description>e
            is the axis step.</description>
					</attribute>
					<attribute name="@return">
						<description>a result sequence</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the axis step." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.AxisStep" type="AxisStep" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a result sequence" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>visit filter expression</description>
					<attribute name="@param">
						<description>e
            is the filter expression.</description>
					</attribute>
					<attribute name="@return">
						<description>a result sequence</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the filter expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.FilterExpr" type="FilterExpr" />
				</params>
			</method>
		</methods>
		<jelclass superclass="Object" visibility="package-private" package="org.eclipse.wst.xml.xpath2.processor" superclassfulltype="java.lang.Object" fulltype="org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator.Pair" type="DefaultEvaluator.Pair">
			<fields>
				<field visibility="public" name="_one" fulltype="java.lang.Object" type="Object" />
				<field visibility="public" name="_two" fulltype="java.lang.Object" type="Object" />
			</fields>
			<methods>
				<constructor visibility="public" name="DefaultEvaluator.Pair">
					<params>
						<param name="o" fulltype="java.lang.Object" type="Object" />
						<param name="t" fulltype="java.lang.Object" type="Object" />
					</params>
				</constructor>
			</methods>
		</jelclass>
		<jelclass superclass="Object" visibility="package-private" package="org.eclipse.wst.xml.xpath2.processor" superclassfulltype="java.lang.Object" fulltype="org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator.VariableScope" type="DefaultEvaluator.VariableScope">
			<fields>
				<field final="true" visibility="public" name="name" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				<field final="true" visibility="public" name="value" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				<field final="true" visibility="public" name="nextScope" fulltype="org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator.VariableScope" type="DefaultEvaluator.VariableScope" />
			</fields>
			<methods>
				<constructor visibility="public" name="DefaultEvaluator.VariableScope">
					<params>
						<param name="name" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
						<param name="value" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
						<param name="nextScope" fulltype="org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator.VariableScope" type="DefaultEvaluator.VariableScope" />
					</params>
				</constructor>
			</methods>
		</jelclass>
	</jelclass>
	<jelclass superclass="Object" visibility="package-private" package="org.eclipse.wst.xml.xpath2.processor" superclassfulltype="java.lang.Object" fulltype="org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator.Pair" type="DefaultEvaluator.Pair">
		<fields>
			<field visibility="public" name="_one" fulltype="java.lang.Object" type="Object" />
			<field visibility="public" name="_two" fulltype="java.lang.Object" type="Object" />
		</fields>
		<methods>
			<constructor visibility="public" name="DefaultEvaluator.Pair">
				<params>
					<param name="o" fulltype="java.lang.Object" type="Object" />
					<param name="t" fulltype="java.lang.Object" type="Object" />
				</params>
			</constructor>
		</methods>
	</jelclass>
	<jelclass superclass="Object" visibility="package-private" package="org.eclipse.wst.xml.xpath2.processor" superclassfulltype="java.lang.Object" fulltype="org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator.VariableScope" type="DefaultEvaluator.VariableScope">
		<fields>
			<field final="true" visibility="public" name="name" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
			<field final="true" visibility="public" name="value" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
			<field final="true" visibility="public" name="nextScope" fulltype="org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator.VariableScope" type="DefaultEvaluator.VariableScope" />
		</fields>
		<methods>
			<constructor visibility="public" name="DefaultEvaluator.VariableScope">
				<params>
					<param name="name" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
					<param name="value" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
					<param name="nextScope" fulltype="org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator.VariableScope" type="DefaultEvaluator.VariableScope" />
				</params>
			</constructor>
		</methods>
	</jelclass>
	<jelclass abstract="true" visibility="public" package="org.eclipse.wst.xml.xpath2.processor" interface="true" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicContext" type="DynamicContext">
		<implements>
			<interface fulltype="org.eclipse.wst.xml.xpath2.processor.StaticContext" type="StaticContext" />
		</implements>
		<comment>
			<description>Interface for dynamic context.</description>
			<attribute name="@deprecated">
				<description>Use</description>
			</attribute>
		</comment>
		<fields>
			<field final="true" static="true" const="http://www.w3.org/2005/xpath-functions/collation/codepoint" visibility="public" name="CODEPOINT_COLLATION" constexpr="&quot;http://www.w3.org/2005/xpath-functions/collation/codepoint&quot;" fulltype="java.lang.String" type="String">
				<comment>
					<description>The default collation which is guaranteed to always be implemented</description>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
			</field>
		</fields>
		<methods>
			<method visibility="public" name="context_item" returncomment="the context item." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType">
				<comment>
					<description>Get context item.</description>
					<attribute name="@return">
						<description>the context item.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="context_position" returncomment="position of context node." fulltype="int" type="int">
				<comment>
					<description>Get context node position.</description>
					<attribute name="@return">
						<description>position of context node.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="last" returncomment="last item position." fulltype="int" type="int">
				<comment>
					<description>Get position of last item.</description>
					<attribute name="@return">
						<description>last item position.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="get_variable" returncomment="variable." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Get variable.</description>
					<attribute name="@param">
						<description>name
            is the name of the variable.</description>
					</attribute>
					<attribute name="@return">
						<description>variable.</description>
					</attribute>
					<attribute name="@since">
						<description>2.0</description>
					</attribute>
				</comment>
				<params>
					<param name="name" comment="is the name of the variable." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</method>
			<method visibility="public" name="set_variable" fulltype="void" type="void">
				<comment>
					<description>Set variable.</description>
					<attribute name="@param">
						<description>var
            is name of the variable.</description>
					</attribute>
					<attribute name="@param">
						<description>val
            is the value to be set for the variable.</description>
					</attribute>
				</comment>
				<params>
					<param name="var" comment="is name of the variable." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
					<param name="val" comment="is the value to be set for the variable." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
				</params>
			</method>
			<method visibility="public" name="set_variable" fulltype="void" type="void">
				<comment>
					<description>Sets a XPath2 sequence into a variable.</description>
					<attribute name="@since">
						<description>2.0</description>
					</attribute>
				</comment>
				<params>
					<param name="var" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
					<param name="val" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
			</method>
			<method visibility="public" name="evaluate_function" returncomment="result of the function evaluation." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Evaluate the function of the arguments.</description>
					<attribute name="@param">
						<description>name
            is the name.</description>
					</attribute>
					<attribute name="@param">
						<description>args
            are the arguments.</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError
             dynamic error.</description>
					</attribute>
					<attribute name="@return">
						<description>result of the function evaluation.</description>
					</attribute>
				</comment>
				<params>
					<param name="name" comment="is the name." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
					<param name="args" comment="are the arguments." fulltype="java.util.Collection" type="Collection" />
				</params>
				<exceptions>
					<exception comment="dynamic error." fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="tz" returncomment="current date time and implicit timezone." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration">
				<comment>
					<description>Reads the day from a TimeDuration type</description>
					<attribute name="@return">
						<description>current date time and implicit timezone.</description>
					</attribute>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="get_doc" returncomment="document." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Get document.</description>
					<attribute name="@param">
						<description>uri
            is the URI of the document.</description>
					</attribute>
					<attribute name="@return">
						<description>document.</description>
					</attribute>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
				<params>
					<param name="uri" comment="is the URI of the document." fulltype="java.net.URI" type="URI" />
				</params>
			</method>
			<method visibility="public" name="resolve_uri" returncomment="the absolutized, resolved URI." fulltype="java.net.URI" type="URI">
				<comment>
					<description>Resolve an URI</description>
					<attribute name="@param">
						<description>uri
            is the possibly relative URI to resolve</description>
					</attribute>
					<attribute name="@return">
						<description>the absolutized, resolved URI.</description>
					</attribute>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
				<params>
					<param name="uri" comment="is the possibly relative URI to resolve" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="current_date_time" returncomment="The current date and time, which will always be same for the dynamic context." fulltype="java.util.GregorianCalendar" type="GregorianCalendar">
				<comment>
					<description>Returns the current date time using the GregorianCalendar.</description>
					<attribute name="@return">
						<description>The current date and time, which will always be same for the dynamic context.</description>
					</attribute>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="set_focus" fulltype="void" type="void">
				<comment>
					<description>Set focus.</description>
					<attribute name="@param">
						<description>focus
            is focus to be set.</description>
					</attribute>
				</comment>
				<params>
					<param name="focus" comment="is focus to be set." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.Focus" type="Focus" />
				</params>
			</method>
			<method visibility="public" name="focus" returncomment="Focus" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.Focus" type="Focus">
				<comment>
					<description>Return focus.</description>
					<attribute name="@return">
						<description>Focus</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="get_collation" returncomment="A Jaa collator, or null, if no such Collator exists" fulltype="java.util.Comparator" type="Comparator">
				<comment>
					<description>Return a useful collator for the specified URI</description>
					<attribute name="@param">
						<description>uri</description>
					</attribute>
					<attribute name="@return">
						<description>A Jaa collator, or null, if no such Collator exists</description>
					</attribute>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
				<params>
					<param name="uri" comment="" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="default_collation_name" returncomment="The default name to use as the collator" fulltype="java.lang.String" type="String">
				<comment>
					<description>Returns the current default collator</description>
					<attribute name="@return">
						<description>The default name to use as the collator</description>
					</attribute>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="node_position" fulltype="int" type="int">
				<comment>
					<attribute name="@deprecated" />
				</comment>
				<params>
					<param name="node" fulltype="org.w3c.dom.Node" type="Node" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="XPathException" visibility="public" package="org.eclipse.wst.xml.xpath2.processor" serializable="true" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.XPathException" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
		<comment>
			<description>Dynamic Error like division by 0 or type errors.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="DynamicError">
				<comment>
					<description>Constructor for Dynamic Error.</description>
					<attribute name="@param">
						<description>code
            is the code that is set.</description>
					</attribute>
					<attribute name="@param">
						<description>err
            is the reason for the error.</description>
					</attribute>
				</comment>
				<params>
					<param name="code" comment="is the code that is set." fulltype="java.lang.String" type="String" />
					<param name="err" comment="is the reason for the error." fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
			<constructor visibility="public" name="DynamicError">
				<comment>
					<description>Constructor for Dynamic Error.</description>
					<attribute name="@param">
						<description>te
            is the error type.</description>
					</attribute>
				</comment>
				<params>
					<param name="te" comment="is the error type." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.TypeError" type="TypeError" />
				</params>
			</constructor>
			<method visibility="public" name="code" returncomment="the code." fulltype="java.lang.String" type="String">
				<comment>
					<description>Returns the string of the code.</description>
					<attribute name="@return">
						<description>the code.</description>
					</attribute>
				</comment>
			</method>
			<method static="true" visibility="public" name="cant_cast" returncomment="the DynamicError." fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
				<comment>
					<description>Returns the dynamic error.</description>
					<attribute name="@param">
						<description>err
            is the error</description>
					</attribute>
					<attribute name="@return">
						<description>the DynamicError.</description>
					</attribute>
				</comment>
				<params>
					<param name="err" comment="is the error" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method static="true" visibility="public" name="throw_type_error" returncomment="the DynamicError." fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
				<comment>
					<description>Returns the dynamic error.</description>
					<attribute name="@throws">
						<description>DynamicError
             a Dynamic Error</description>
					</attribute>
					<attribute name="@return">
						<description>the DynamicError.</description>
					</attribute>
				</comment>
				<exceptions>
					<exception comment="a Dynamic Error" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method static="true" visibility="public" name="argument_type_error" returncomment="the DynamicError." fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
				<comment>
					<description>Returns the dynamic error.</description>
					<attribute name="@param">
						<description>type Type found</description>
					</attribute>
					<attribute name="@return">
						<description>the DynamicError.</description>
					</attribute>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
				<params>
					<param name="type" comment="Type found" fulltype="java.lang.Class" type="Class" />
				</params>
			</method>
			<method static="true" visibility="public" name="invalidType" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
				<comment>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method static="true" visibility="public" name="inputToLargeForDecimal" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
				<comment>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method static="true" visibility="public" name="user_error" returncomment="the DynamicError." fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
				<comment>
					<description>Returns the dynamic error.</description>
					<attribute name="@param">
						<description>desc
            is the description of the error</description>
					</attribute>
					<attribute name="@return">
						<description>the DynamicError.</description>
					</attribute>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
				<params>
					<param name="ns" fulltype="java.lang.String" type="String" />
					<param name="code" fulltype="java.lang.String" type="String" />
					<param name="desc" comment="is the description of the error" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method static="true" visibility="public" name="user_error" returncomment="the DynamicError." fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
				<comment>
					<description>Returns the dynamic error.</description>
					<attribute name="@param">
						<description>err
            is the description of the error</description>
					</attribute>
					<attribute name="@return">
						<description>the DynamicError.</description>
					</attribute>
				</comment>
				<params>
					<param name="err" comment="is the description of the error" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method static="true" visibility="public" name="regex_flags_error" returncomment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
				<comment>
					<description>Returns the Dynamic Error for invalid flags in regular expressions</description>
					<attribute name="@param">
						<description>err</description>
					</attribute>
					<attribute name="@return" />
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
				<params>
					<param name="err" comment="" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method static="true" visibility="public" name="regex_error" returncomment="the DynamicError." fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
				<comment>
					<description>Returns the dynamic error.</description>
					<attribute name="@param">
						<description>err
            is the error</description>
					</attribute>
					<attribute name="@return">
						<description>the DynamicError.</description>
					</attribute>
				</comment>
				<params>
					<param name="err" comment="is the error" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method static="true" visibility="public" name="regex_match_zero_length" returncomment="the DynamicError." fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
				<comment>
					<description>Returns the dynamic error.</description>
					<attribute name="@param">
						<description>err
            is the error</description>
					</attribute>
					<attribute name="@return">
						<description>the DynamicError.</description>
					</attribute>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
				<params>
					<param name="err" comment="is the error" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method static="true" visibility="public" name="unsupported_codepoint" returncomment="the DynamicError." fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
				<comment>
					<description>Returns the dynamic error for an unsupported Unicode codepoint</description>
					<attribute name="@param">
						<description>err
            is the error</description>
					</attribute>
					<attribute name="@return">
						<description>the DynamicError.</description>
					</attribute>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
				<params>
					<param name="err" comment="is the error" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method static="true" visibility="public" name="unsupported_collation" returncomment="the DynamicError." fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
				<comment>
					<description>Returns the dynamic error for an unsupported normalization form</description>
					<attribute name="@param">
						<description>collationName
            is the error</description>
					</attribute>
					<attribute name="@return">
						<description>the DynamicError.</description>
					</attribute>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
				<params>
					<param name="collationName" comment="is the error" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method static="true" visibility="public" name="unsupported_normalization_form" returncomment="the DynamicError." fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
				<comment>
					<description>Returns the dynamic error for an unsupported normalization form</description>
					<attribute name="@param">
						<description>err
            is the error</description>
					</attribute>
					<attribute name="@return">
						<description>the DynamicError.</description>
					</attribute>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
				<params>
					<param name="err" comment="is the error" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method static="true" visibility="public" name="runtime_error" returncomment="the DynamicError." fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
				<comment>
					<description>Returns the dynamic error for an unsupported normalization form</description>
					<attribute name="@param">
						<description>err
            is the error</description>
					</attribute>
					<attribute name="@return">
						<description>the DynamicError.</description>
					</attribute>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
				<params>
					<param name="msg" fulltype="java.lang.String" type="String" />
					<param name="err" comment="is the error" fulltype="java.lang.Throwable" type="Throwable" />
				</params>
			</method>
			<method static="true" visibility="public" name="lexical_error" returncomment="the make_error" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
				<comment>
					<description>Returns the error message when reads an Invalid lexical value</description>
					<attribute name="@param">
						<description>msg
            is the message</description>
					</attribute>
					<attribute name="@return">
						<description>the make_error</description>
					</attribute>
				</comment>
				<params>
					<param name="msg" comment="is the message" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method static="true" visibility="public" name="not_cmp" returncomment="the make_error" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
				<comment>
					<description>Returns the error message when reads an Items not comparable</description>
					<attribute name="@param">
						<description>msg
            is the message</description>
					</attribute>
					<attribute name="@return">
						<description>the make_error</description>
					</attribute>
				</comment>
				<params>
					<param name="msg" comment="is the message" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method static="true" visibility="public" name="more_one_item" returncomment="the make_error" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
				<comment>
					<description>Returns the error message</description>
					<attribute name="@param">
						<description>msg
            is the message</description>
					</attribute>
					<attribute name="@return">
						<description>the make_error</description>
					</attribute>
				</comment>
				<params>
					<param name="msg" comment="is the message" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method static="true" visibility="public" name="empty_seq" returncomment="the make_error" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
				<comment>
					<description>Returns the error message</description>
					<attribute name="@param">
						<description>msg
            is the message</description>
					</attribute>
					<attribute name="@return">
						<description>the make_error</description>
					</attribute>
				</comment>
				<params>
					<param name="msg" comment="is the message" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method static="true" visibility="public" name="not_one" returncomment="the make_error" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
				<comment>
					<description>Returns the error message</description>
					<attribute name="@param">
						<description>msg
            is the message</description>
					</attribute>
					<attribute name="@return">
						<description>the make_error</description>
					</attribute>
				</comment>
				<params>
					<param name="msg" comment="is the message" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method static="true" visibility="public" name="invalidCollectionArgument" returncomment="the make_error" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
				<comment>
					<description>Returns the error message when reads Invalid argument to fn:collection</description>
					<attribute name="@param">
						<description>msg
            is the message</description>
					</attribute>
					<attribute name="@return">
						<description>the make_error</description>
					</attribute>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
			</method>
			<method static="true" visibility="public" name="invalid_doc" returncomment="the make_error" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
				<comment>
					<description>Returns the error message when reads Invalid argument to fn:doc</description>
					<attribute name="@param">
						<description>msg
            is the message</description>
					</attribute>
					<attribute name="@return">
						<description>the make_error</description>
					</attribute>
				</comment>
				<params>
					<param name="msg" comment="is the message" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method static="true" visibility="public" name="doc_not_found" returncomment="the make_error" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
				<comment>
					<description>Returns the error message when fn:doc cannot load its document</description>
					<attribute name="@param">
						<description>msg
            is the message</description>
					</attribute>
					<attribute name="@return">
						<description>the make_error</description>
					</attribute>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
				<params>
					<param name="msg" comment="is the message" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method static="true" visibility="public" name="div_zero" returncomment="the make_error" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
				<comment>
					<description>Returns the error message when reads a Division by zero</description>
					<attribute name="@param">
						<description>msg
            is the message</description>
					</attribute>
					<attribute name="@return">
						<description>the make_error</description>
					</attribute>
				</comment>
				<params>
					<param name="msg" comment="is the message" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method static="true" visibility="public" name="numeric_overflow" returncomment="the make_error" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
				<comment>
					<description>Numeric operation overflow/underflow</description>
					<attribute name="@param">
						<description>msg
            is the message</description>
					</attribute>
					<attribute name="@return">
						<description>the make_error</description>
					</attribute>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
				<params>
					<param name="msg" comment="is the message" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method static="true" visibility="public" name="contextUndefined" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
				<comment>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
			</method>
			<method static="true" visibility="public" name="invalidForCastConstructor" returncomment="FORG0001" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
				<comment>
					<description>Data is invalid for casting or the data type constructor.</description>
					<attribute name="@param">
						<description>msg</description>
					</attribute>
					<attribute name="@return">
						<description>FORG0001</description>
					</attribute>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
			</method>
			<method static="true" visibility="public" name="invalidPrefix" returncomment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
				<comment>
					<description>No namespace found for prefix.</description>
					<attribute name="@return" />
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
			</method>
			<method static="true" visibility="public" name="noContextDoc" returncomment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
				<comment>
					<description>No context document</description>
					<attribute name="@return" />
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
			</method>
			<method static="true" visibility="public" name="noBaseURI" returncomment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
				<comment>
					<description>No base-uri defined.</description>
					<attribute name="@return" />
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
			</method>
			<method static="true" visibility="public" name="errorResolvingURI" returncomment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
				<comment>
					<description>Error resolving relative uri against base-uri.</description>
					<attribute name="@return" />
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
			</method>
			<method static="true" visibility="public" name="invalidTimezone" returncomment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
				<comment>
					<description>Invalid Timezone value.</description>
					<attribute name="@return" />
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
			</method>
			<method static="true" visibility="public" name="overflowUnderflow" returncomment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
				<comment>
					<description>Overflow/underflow in duration operation.</description>
					<attribute name="@return" />
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
			</method>
			<method static="true" visibility="public" name="nan" returncomment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
				<comment>
					<description>Overflow/underflow in duration operation.</description>
					<attribute name="@return" />
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
			</method>
			<method static="true" visibility="public" name="invalidLexicalValue" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
				<comment>
					<description>Invalid lexical value</description>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
			</method>
			<method static="true" visibility="public" name="overflowDateTime" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
				<comment>
					<description>Overflow/underflow in date/time operation</description>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
			</method>
			<method static="true" visibility="public" name="inconsistentTimeZone" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError">
				<comment>
					<description>The two arguments to fn:dateTime have inconsistent timezones</description>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="Object" visibility="public" package="org.eclipse.wst.xml.xpath2.processor" superclassfulltype="java.lang.Object" fulltype="org.eclipse.wst.xml.xpath2.processor.Engine" type="Engine">
		<implements>
			<interface fulltype="org.eclipse.wst.xml.xpath2.api.XPath2Engine" type="XPath2Engine" />
		</implements>
		<comment>
			<attribute name="@since">
				<description>2.0</description>
			</attribute>
		</comment>
		<methods>
			<constructor visibility="public" name="Engine" />
			<method visibility="public" name="parseExpression" fulltype="org.eclipse.wst.xml.xpath2.api.XPath2Expression" type="XPath2Expression">
				<params>
					<param name="expression" fulltype="java.lang.String" type="String" />
					<param name="context" fulltype="org.eclipse.wst.xml.xpath2.api.StaticContext" type="StaticContext" />
				</params>
			</method>
			<method visibility="package-private" name="effectiveBooleanValue" fulltype="boolean" type="boolean">
				<params>
					<param name="rs" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass abstract="true" visibility="public" package="org.eclipse.wst.xml.xpath2.processor" interface="true" fulltype="org.eclipse.wst.xml.xpath2.processor.Evaluator" type="Evaluator">
		<comment>
			<description>interface to Evaluator</description>
		</comment>
		<methods>
			<method visibility="public" name="evaluate" returncomment="Result of evaluation." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Evaluate the root node.</description>
					<attribute name="@param">
						<description>root
            is the XPath node.</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError
             dynamic error.</description>
					</attribute>
					<attribute name="@return">
						<description>Result of evaluation.</description>
					</attribute>
				</comment>
				<params>
					<param name="root" comment="is the XPath node." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathNode" type="XPathNode" />
				</params>
				<exceptions>
					<exception comment="dynamic error." fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="Object" visibility="public" package="org.eclipse.wst.xml.xpath2.processor" superclassfulltype="java.lang.Object" fulltype="org.eclipse.wst.xml.xpath2.processor.JFlexCupParser" type="JFlexCupParser">
		<implements>
			<interface fulltype="org.eclipse.wst.xml.xpath2.processor.XPathParser" type="XPathParser" />
		</implements>
		<comment>
			<description>JFlexCupParser parses the xpath expression</description>
		</comment>
		<methods>
			<constructor visibility="public" name="JFlexCupParser" />
			<method visibility="public" name="parse" returncomment="the xpath value." fulltype="org.eclipse.wst.xml.xpath2.processor.ast.XPath" type="XPath">
				<comment>
					<description>Tries to parse the xpath expression</description>
					<attribute name="@param">
						<description>xpath
            is the xpath string.</description>
					</attribute>
					<attribute name="@throws">
						<description>XPathParserException.</description>
					</attribute>
					<attribute name="@return">
						<description>the xpath value.</description>
					</attribute>
				</comment>
				<params>
					<param name="xpath" comment="is the xpath string." fulltype="java.lang.String" type="String" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.XPathParserException" type="XPathParserException" />
				</exceptions>
			</method>
			<method visibility="public" name="parse" returncomment="the xpath value." fulltype="org.eclipse.wst.xml.xpath2.processor.ast.XPath" type="XPath">
				<comment>
					<description>Tries to parse the xpath expression</description>
					<attribute name="@param">
						<description>xpath
            is the xpath string.</description>
					</attribute>
					<attribute name="@param">
						<description>isRootlessAccess
            if &apos;true&apos; then PsychoPath engine can&apos;t parse xpath expressions starting with / or //.</description>
					</attribute>
					<attribute name="@throws">
						<description>XPathParserException.</description>
					</attribute>
					<attribute name="@return">
						<description>the xpath value.</description>
					</attribute>
					<attribute name="@since">
						<description>2.0</description>
					</attribute>
				</comment>
				<params>
					<param name="xpath" comment="is the xpath string." fulltype="java.lang.String" type="String" />
					<param name="isRootlessAccess" comment="if &apos;true&apos; then PsychoPath engine can&apos;t parse xpath expressions starting with / or //." fulltype="boolean" type="boolean" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.XPathParserException" type="XPathParserException" />
				</exceptions>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="Object" visibility="public" package="org.eclipse.wst.xml.xpath2.processor" superclassfulltype="java.lang.Object" fulltype="org.eclipse.wst.xml.xpath2.processor.PsychoPathTypeHelper" type="PsychoPathTypeHelper">
		<comment>
			<description>An PsychoPath Engine helper class providing useful module implementations for commonly 
 performed &quot;XML schema&quot; evaluation tasks.</description>
			<attribute name="@since">
				<description>2.0</description>
			</attribute>
		</comment>
		<fields>
			<field static="true" visibility="public" name="DAYTIMEDURATION_DT" fulltype="short" type="short" />
			<field static="true" visibility="public" name="YEARMONTHDURATION_DT" fulltype="short" type="short" />
		</fields>
		<methods>
			<constructor visibility="public" name="PsychoPathTypeHelper" />
			<method static="true" visibility="public" name="getXSDTypeShortCode" fulltype="short" type="short">
				<params>
					<param name="typeDef" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass abstract="true" superclass="Object" visibility="public" package="org.eclipse.wst.xml.xpath2.processor" superclassfulltype="java.lang.Object" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
		<implements>
			<interface fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
		</implements>
		<comment>
			<description>Interface to the methods of range of result sequence</description>
			<attribute name="@deprecated">
				<description>Use org.eclipse.wst.xml.xpath2.api.ResultSequence instead</description>
			</attribute>
		</comment>
		<methods>
			<constructor visibility="public" name="ResultSequence" />
			<method abstract="true" visibility="public" name="add" fulltype="void" type="void">
				<comment>
					<description>add item</description>
					<attribute name="@param">
						<description>item
            is an item of any type.</description>
					</attribute>
				</comment>
				<params>
					<param name="item" comment="is an item of any type." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
				</params>
			</method>
			<method abstract="true" visibility="public" name="concat" fulltype="void" type="void">
				<comment>
					<description>concatinate from rs</description>
					<attribute name="@param">
						<description>rs
            is a Result Sequence.</description>
					</attribute>
				</comment>
				<params>
					<param name="rs" comment="is a Result Sequence." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
			</method>
			<method abstract="true" visibility="public" name="iterator" fulltype="java.util.ListIterator" type="ListIterator">
				<comment>
					<description>List Iterator.</description>
				</comment>
			</method>
			<method abstract="true" visibility="public" name="get" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType">
				<comment>
					<description>get item in index i</description>
					<attribute name="@param">
						<description>i
            is the position.</description>
					</attribute>
				</comment>
				<params>
					<param name="i" comment="is the position." fulltype="int" type="int" />
				</params>
			</method>
			<method abstract="true" visibility="public" name="size" returncomment="the size." fulltype="int" type="int">
				<comment>
					<description>get the size</description>
					<attribute name="@return">
						<description>the size.</description>
					</attribute>
				</comment>
			</method>
			<method abstract="true" visibility="public" name="clear" fulltype="void" type="void">
				<comment>
					<description>clear</description>
				</comment>
			</method>
			<method abstract="true" visibility="public" name="create_new" returncomment="a new result sequence." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>create a new result sequence</description>
					<attribute name="@return">
						<description>a new result sequence.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="first" returncomment="the first item." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType">
				<comment>
					<description>retrieve the first item</description>
					<attribute name="@return">
						<description>the first item.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="empty" returncomment="boolean." fulltype="boolean" type="boolean">
				<comment>
					<description>check is the sequence is empty</description>
					<attribute name="@return">
						<description>boolean.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="string" returncomment="result string" fulltype="java.lang.String" type="String">
				<comment>
					<description>retrieve items in sequence</description>
					<attribute name="@return">
						<description>result string</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="release" fulltype="void" type="void">
				<comment>
					<description>release the result sequence</description>
				</comment>
			</method>
			<method visibility="public" name="item" fulltype="org.eclipse.wst.xml.xpath2.api.Item" type="Item">
				<comment>
					<attribute name="@since">
						<description>2.0</description>
					</attribute>
				</comment>
				<params>
					<param name="index" fulltype="int" type="int" />
				</params>
			</method>
			<method visibility="public" name="itemType" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.ItemType" type="ItemType">
				<comment>
					<attribute name="@since">
						<description>2.0</description>
					</attribute>
				</comment>
				<params>
					<param name="index" fulltype="int" type="int" />
				</params>
			</method>
			<method visibility="public" name="value" fulltype="java.lang.Object" type="Object">
				<comment>
					<attribute name="@since">
						<description>2.0</description>
					</attribute>
				</comment>
				<params>
					<param name="index" fulltype="int" type="int" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass abstract="true" superclass="Object" visibility="public" package="org.eclipse.wst.xml.xpath2.processor" superclassfulltype="java.lang.Object" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory" type="ResultSequenceFactory">
		<comment>
			<description>Result sequence factory</description>
		</comment>
		<methods>
			<constructor visibility="public" name="ResultSequenceFactory" />
			<method abstract="true" visibility="protected" name="fact_create_new" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
			<method abstract="true" visibility="protected" name="fact_release" fulltype="void" type="void">
				<params>
					<param name="rs" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
			</method>
			<method visibility="protected" name="fact_create_new" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<params>
					<param name="item" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
				</params>
			</method>
			<method visibility="protected" name="fact_print_debug" fulltype="void" type="void" />
			<method static="true" visibility="public" name="create_new" returncomment="the creation of a new result sequence" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<attribute name="@return">
						<description>the creation of a new result sequence</description>
					</attribute>
				</comment>
			</method>
			<method static="true" visibility="public" name="create_new" returncomment="factory creating new item" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<attribute name="@param">
						<description>item
            is an item of any type.</description>
					</attribute>
					<attribute name="@return">
						<description>factory creating new item</description>
					</attribute>
				</comment>
				<params>
					<param name="item" comment="is an item of any type." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
				</params>
			</method>
			<method static="true" visibility="public" name="release" fulltype="void" type="void">
				<comment>
					<attribute name="@param">
						<description>rs
            is the result sequence factory release rs</description>
					</attribute>
				</comment>
				<params>
					<param name="rs" comment="is the result sequence factory release rs" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
			</method>
			<method static="true" visibility="public" name="print_debug" fulltype="void" type="void">
				<comment>
					<description>factory debug</description>
				</comment>
			</method>
		</methods>
	</jelclass>
	<jelclass abstract="true" visibility="public" package="org.eclipse.wst.xml.xpath2.processor" interface="true" fulltype="org.eclipse.wst.xml.xpath2.processor.StaticChecker" type="StaticChecker">
		<comment>
			<description>Interface to static checker.</description>
		</comment>
		<methods>
			<method visibility="public" name="check" fulltype="void" type="void">
				<comment>
					<description>checks XPathNode</description>
					<attribute name="@throws">
						<description>static error.</description>
					</attribute>
					<attribute name="@param">
						<description>root
            is an XPath node.</description>
					</attribute>
				</comment>
				<params>
					<param name="root" comment="is an XPath node." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathNode" type="XPathNode" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.StaticError" type="StaticError" />
				</exceptions>
			</method>
		</methods>
	</jelclass>
	<jelclass abstract="true" visibility="public" package="org.eclipse.wst.xml.xpath2.processor" interface="true" fulltype="org.eclipse.wst.xml.xpath2.processor.StaticContext" type="StaticContext">
		<comment>
			<description>interface to static context</description>
			<attribute name="@deprecated">
				<description>See &lt;tt&gt;org.eclipse.wst.xml.xpath2.api.StaticContext&lt;/tt&gt; instead</description>
			</attribute>
		</comment>
		<methods>
			<method visibility="public" name="xpath1_compatible" returncomment="boolean" fulltype="boolean" type="boolean">
				<comment>
					<description>is it xpath 1.0 compatible.</description>
					<attribute name="@return">
						<description>boolean</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="prefix_exists" returncomment="boolean" fulltype="boolean" type="boolean">
				<comment>
					<description>namespaces does the prefix exist</description>
					<attribute name="@param">
						<description>prefix
            is the prefix</description>
					</attribute>
					<attribute name="@return">
						<description>boolean</description>
					</attribute>
				</comment>
				<params>
					<param name="prefix" comment="is the prefix" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="resolve_prefix" returncomment="string" fulltype="java.lang.String" type="String">
				<comment>
					<attribute name="@param">
						<description>prefix
            is the prefix</description>
					</attribute>
					<attribute name="@return">
						<description>string</description>
					</attribute>
				</comment>
				<params>
					<param name="prefix" comment="is the prefix" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="default_namespace" returncomment="string" fulltype="java.lang.String" type="String">
				<comment>
					<description>the default namespace</description>
					<attribute name="@return">
						<description>string</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="default_function_namespace" returncomment="string" fulltype="java.lang.String" type="String">
				<comment>
					<description>the default function namespace</description>
					<attribute name="@return">
						<description>string</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="attribute_type_definition" returncomment="attributes&apos;s type definition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition">
				<comment>
					<attribute name="@param">
						<description>attr
            is the qname variable</description>
					</attribute>
					<attribute name="@return">
						<description>attributes&apos;s type definition</description>
					</attribute>
					<attribute name="@since">
						<description>2.0</description>
					</attribute>
				</comment>
				<params>
					<param name="attr" comment="is the qname variable" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</method>
			<method visibility="public" name="element_type_definition" returncomment="element&apos;s type definition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition">
				<comment>
					<attribute name="@param">
						<description>elem
            is the elem of the qname</description>
					</attribute>
					<attribute name="@return">
						<description>element&apos;s type definition</description>
					</attribute>
				</comment>
				<params>
					<param name="elem" comment="is the elem of the qname" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</method>
			<method visibility="public" name="attribute_declared" returncomment="boolean" fulltype="boolean" type="boolean">
				<comment>
					<description>is the attribute declared?</description>
					<attribute name="@param">
						<description>attr
            is the attribute of the qname</description>
					</attribute>
					<attribute name="@return">
						<description>boolean</description>
					</attribute>
				</comment>
				<params>
					<param name="attr" comment="is the attribute of the qname" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</method>
			<method visibility="public" name="element_declared" returncomment="boolean" fulltype="boolean" type="boolean">
				<comment>
					<description>is the element declared?</description>
					<attribute name="@param">
						<description>elem
            is the elem of the qname</description>
					</attribute>
					<attribute name="@return">
						<description>boolean</description>
					</attribute>
				</comment>
				<params>
					<param name="elem" comment="is the elem of the qname" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</method>
			<method visibility="public" name="function_exists" returncomment="boolean" fulltype="boolean" type="boolean">
				<comment>
					<description>is the element declared?</description>
					<attribute name="@param">
						<description>name
            is the qname name</description>
					</attribute>
					<attribute name="@param">
						<description>arity
            integer of qname</description>
					</attribute>
					<attribute name="@return">
						<description>boolean</description>
					</attribute>
				</comment>
				<params>
					<param name="name" comment="is the qname name" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
					<param name="arity" comment="integer of qname" fulltype="int" type="int" />
				</params>
			</method>
			<method visibility="public" name="base_uri" returncomment="uri" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSAnyURI" type="XSAnyURI">
				<comment>
					<description>base uri</description>
					<attribute name="@return">
						<description>uri</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="new_scope" fulltype="void" type="void">
				<comment>
					<description>new scope</description>
				</comment>
			</method>
			<method visibility="public" name="destroy_scope" fulltype="void" type="void">
				<comment>
					<description>destroy scope</description>
				</comment>
			</method>
			<method visibility="public" name="add_variable" fulltype="void" type="void">
				<comment>
					<description>add variable</description>
					<attribute name="@param">
						<description>name
            is the qname</description>
					</attribute>
				</comment>
				<params>
					<param name="name" comment="is the qname" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</method>
			<method visibility="public" name="del_variable" returncomment="boolean if deleted variable" fulltype="boolean" type="boolean">
				<comment>
					<description>delete the variable</description>
					<attribute name="@param">
						<description>name
            is the qname</description>
					</attribute>
					<attribute name="@return">
						<description>boolean if deleted variable</description>
					</attribute>
				</comment>
				<params>
					<param name="name" comment="is the qname" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</method>
			<method visibility="public" name="variable_exists" returncomment="boolean if variable exists" fulltype="boolean" type="boolean">
				<comment>
					<attribute name="@param">
						<description>name
            is the qname</description>
					</attribute>
					<attribute name="@return">
						<description>boolean if variable exists</description>
					</attribute>
				</comment>
				<params>
					<param name="name" comment="is the qname" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</method>
			<method visibility="public" name="variable_in_scope" fulltype="boolean" type="boolean">
				<comment>
					<attribute name="@param">
						<description>var
            is the variable of qname</description>
					</attribute>
				</comment>
				<params>
					<param name="var" comment="is the variable of qname" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</method>
			<method visibility="public" name="type_defined" returncomment="boolean" fulltype="boolean" type="boolean">
				<comment>
					<attribute name="@param">
						<description>name
            is qname</description>
					</attribute>
					<attribute name="@return">
						<description>boolean</description>
					</attribute>
				</comment>
				<params>
					<param name="name" comment="is qname" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</method>
			<method visibility="public" name="derives_from" returncomment="boolean" fulltype="boolean" type="boolean">
				<comment>
					<attribute name="@param">
						<description>at
            the node type</description>
					</attribute>
					<attribute name="@param">
						<description>et
            is the qname</description>
					</attribute>
					<attribute name="@return">
						<description>boolean</description>
					</attribute>
				</comment>
				<params>
					<param name="at" comment="the node type" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType" />
					<param name="et" comment="is the qname" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</method>
			<method visibility="public" name="derives_from" returncomment="boolean" fulltype="boolean" type="boolean">
				<comment>
					<attribute name="@param">
						<description>at
            the node type</description>
					</attribute>
					<attribute name="@param">
						<description>et
            is the XSTypeDefinition of the node</description>
					</attribute>
					<attribute name="@return">
						<description>boolean</description>
					</attribute>
					<attribute name="@since">
						<description>2.0</description>
					</attribute>
				</comment>
				<params>
					<param name="at" comment="the node type" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType" />
					<param name="et" comment="is the XSTypeDefinition of the node" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
				</params>
			</method>
			<method visibility="public" name="add_namespace" fulltype="void" type="void">
				<comment>
					<description>add namespace</description>
					<attribute name="@param">
						<description>prefix
            the prefix of the namespace</description>
					</attribute>
					<attribute name="@param">
						<description>ns
            is the XSTypeDefinition of the node</description>
					</attribute>
				</comment>
				<params>
					<param name="prefix" comment="the prefix of the namespace" fulltype="java.lang.String" type="String" />
					<param name="ns" comment="is the XSTypeDefinition of the node" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="expand_function_qname" returncomment="boolean if function can be expanded" fulltype="boolean" type="boolean">
				<comment>
					<description>expand function</description>
					<attribute name="@param">
						<description>name
            is the qname</description>
					</attribute>
					<attribute name="@return">
						<description>boolean if function can be expanded</description>
					</attribute>
				</comment>
				<params>
					<param name="name" comment="is the qname" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</method>
			<method visibility="public" name="expand_elem_type_qname" returncomment="boolean if function can be expanded" fulltype="boolean" type="boolean">
				<comment>
					<description>expand element type qname</description>
					<attribute name="@param">
						<description>name
            is the qname</description>
					</attribute>
					<attribute name="@return">
						<description>boolean if function can be expanded</description>
					</attribute>
				</comment>
				<params>
					<param name="name" comment="is the qname" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</method>
			<method visibility="public" name="expand_qname" returncomment="boolean if function can be expanded" fulltype="boolean" type="boolean">
				<comment>
					<description>expand qname</description>
					<attribute name="@param">
						<description>name
            is the qname</description>
					</attribute>
					<attribute name="@return">
						<description>boolean if function can be expanded</description>
					</attribute>
				</comment>
				<params>
					<param name="name" comment="is the qname" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</method>
			<method visibility="public" name="add_function_library" fulltype="void" type="void">
				<comment>
					<description>add function to library</description>
					<attribute name="@param">
						<description>fl
            is the function library</description>
					</attribute>
				</comment>
				<params>
					<param name="fl" comment="is the function library" fulltype="FunctionLibrary" type="FunctionLibrary" />
				</params>
			</method>
			<method visibility="public" name="make_atomic" returncomment="any atomic type" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType" type="AnyAtomicType">
				<comment>
					<attribute name="@param">
						<description>name
            is the qname</description>
					</attribute>
					<attribute name="@return">
						<description>any atomic type</description>
					</attribute>
				</comment>
				<params>
					<param name="name" comment="is the qname" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</method>
			<method visibility="public" name="set_base_uri" fulltype="void" type="void">
				<comment>
					<description>Sets the base uri for the context.</description>
					<attribute name="@param">
						<description>baseuri</description>
					</attribute>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
				<params>
					<param name="baseuri" comment="" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="get_collections" fulltype="java.util.Map" type="Map">
				<comment>
					<attribute name="@since">
						<description>1.1
 
 Gets the collections map, which maps a String into a List of Document, in
 Java5 it would be &lt;code&gt;Map&lt;String, List&lt;Document&gt;&gt;&lt;/code&gt;</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="set_collections" fulltype="void" type="void">
				<comment>
					<attribute name="@since">
						<description>1.1
 
 Sets the collections map, which maps a String into a List of Document, in
 Java5 it would be &lt;code&gt;Map&lt;String, List&lt;Document&gt;&gt;&lt;/code&gt;</description>
					</attribute>
				</comment>
				<params>
					<param name="collections" fulltype="java.util.Map" type="Map" />
				</params>
			</method>
			<method visibility="public" name="getTypeModel" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel" type="TypeModel">
				<comment>
					<description>Gets the type provider in use for the specified DOM node.</description>
					<attribute name="@since">
						<description>2.0</description>
					</attribute>
				</comment>
				<params>
					<param name="element" fulltype="org.w3c.dom.Node" type="Node" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="XPathException" visibility="public" package="org.eclipse.wst.xml.xpath2.processor" serializable="true" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.XPathException" fulltype="org.eclipse.wst.xml.xpath2.processor.StaticError" type="StaticError">
		<comment>
			<description>Base class for all static errors as defined by the XPath 2.0 specification</description>
		</comment>
		<methods>
			<constructor visibility="public" name="StaticError">
				<comment>
					<description>Constructor for a generic static error</description>
					<attribute name="@param">
						<description>code
            The error code as specified in XPath 2.0</description>
					</attribute>
					<attribute name="@param">
						<description>err
            Humar readable error message</description>
					</attribute>
				</comment>
				<params>
					<param name="code" comment="The error code as specified in XPath 2.0" fulltype="java.lang.String" type="String" />
					<param name="err" comment="Humar readable error message" fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
			<method visibility="public" name="code" returncomment="error code which represents the error" fulltype="java.lang.String" type="String">
				<comment>
					<attribute name="@return">
						<description>error code which represents the error</description>
					</attribute>
				</comment>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="Object" visibility="public" package="org.eclipse.wst.xml.xpath2.processor" superclassfulltype="java.lang.Object" fulltype="org.eclipse.wst.xml.xpath2.processor.StaticNameResolver" type="StaticNameResolver">
		<implements>
			<interface fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor" />
			<interface fulltype="org.eclipse.wst.xml.xpath2.processor.StaticChecker" type="StaticChecker" />
		</implements>
		<comment>
			<description>This class resolves static names.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="StaticNameResolver">
				<comment>
					<description>Constructor for static name resolver</description>
					<attribute name="@param">
						<description>sc
            is the static context.</description>
					</attribute>
					<attribute name="@since">
						<description>2.0</description>
					</attribute>
				</comment>
				<params>
					<param name="sc" comment="is the static context." fulltype="org.eclipse.wst.xml.xpath2.processor.StaticContext" type="StaticContext" />
				</params>
			</constructor>
			<constructor visibility="public" name="StaticNameResolver">
				<comment>
					<attribute name="@since">
						<description>2.0</description>
					</attribute>
				</comment>
				<params>
					<param name="context" fulltype="org.eclipse.wst.xml.xpath2.api.StaticContext" type="StaticContext" />
				</params>
			</constructor>
			<method visibility="public" name="getAxes" fulltype="java.util.Set" type="Set">
				<comment>
					<attribute name="@since">
						<description>2.0</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getFreeVariables" fulltype="java.util.Set" type="Set">
				<comment>
					<attribute name="@since">
						<description>2.0</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getResolvedFunctions" fulltype="java.util.Set" type="Set">
				<comment>
					<attribute name="@since">
						<description>2.0</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="check" fulltype="void" type="void">
				<comment>
					<description>Check the XPath node.</description>
					<attribute name="@param">
						<description>node
            is the XPath node to check.</description>
					</attribute>
					<attribute name="@throws">
						<description>StaticError
             static error.</description>
					</attribute>
				</comment>
				<params>
					<param name="node" comment="is the XPath node to check." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathNode" type="XPathNode" />
				</params>
				<exceptions>
					<exception comment="static error." fulltype="org.eclipse.wst.xml.xpath2.processor.StaticError" type="StaticError" />
				</exceptions>
			</method>
			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Validate an XPath by visiting all the nodes.</description>
					<attribute name="@param">
						<description>xp
            is the XPath.</description>
					</attribute>
					<attribute name="@return">
						<description>null.</description>
					</attribute>
				</comment>
				<params>
					<param name="xp" comment="is the XPath." fulltype="org.eclipse.wst.xml.xpath2.processor.ast.XPath" type="XPath" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Validate a for expression.</description>
					<attribute name="@param">
						<description>fex
            is the for expression.</description>
					</attribute>
					<attribute name="@return">
						<description>null.</description>
					</attribute>
				</comment>
				<params>
					<param name="fex" comment="is the for expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.ForExpr" type="ForExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Validate a quantified expression.</description>
					<attribute name="@param">
						<description>qex
            is the quantified expression.</description>
					</attribute>
					<attribute name="@return">
						<description>null.</description>
					</attribute>
				</comment>
				<params>
					<param name="qex" comment="is the quantified expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.QuantifiedExpr" type="QuantifiedExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Validate an if expression.</description>
					<attribute name="@param">
						<description>ifex
            is the if expression.</description>
					</attribute>
					<attribute name="@return">
						<description>null.</description>
					</attribute>
				</comment>
				<params>
					<param name="ifex" comment="is the if expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.IfExpr" type="IfExpr" />
				</params>
			</method>
			<method visibility="public" name="printBinExpr" fulltype="void" type="void">
				<comment>
					<description>Validate a binary expression by checking its left and right children.</description>
					<attribute name="@param">
						<description>name
            is the name of the binary expression.</description>
					</attribute>
					<attribute name="@param">
						<description>e
            is the expression itself.</description>
					</attribute>
				</comment>
				<params>
					<param name="name" comment="is the name of the binary expression." fulltype="java.lang.String" type="String" />
					<param name="e" comment="is the expression itself." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.BinExpr" type="BinExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Validate an OR expression.</description>
					<attribute name="@param">
						<description>orex
            is the expression.</description>
					</attribute>
					<attribute name="@return">
						<description>null.</description>
					</attribute>
				</comment>
				<params>
					<param name="orex" comment="is the expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.OrExpr" type="OrExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Validate an AND expression.</description>
					<attribute name="@param">
						<description>andex
            is the expression.</description>
					</attribute>
					<attribute name="@return">
						<description>null.</description>
					</attribute>
				</comment>
				<params>
					<param name="andex" comment="is the expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.AndExpr" type="AndExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Validate a comparison expression.</description>
					<attribute name="@param">
						<description>cmpex
            is the expression.</description>
					</attribute>
					<attribute name="@return">
						<description>null.</description>
					</attribute>
				</comment>
				<params>
					<param name="cmpex" comment="is the expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.CmpExpr" type="CmpExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Validate a range expression.</description>
					<attribute name="@param">
						<description>rex
            is the expression.</description>
					</attribute>
					<attribute name="@return">
						<description>null.</description>
					</attribute>
				</comment>
				<params>
					<param name="rex" comment="is the expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.RangeExpr" type="RangeExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Validate an additon expression.</description>
					<attribute name="@param">
						<description>addex
            is the expression.</description>
					</attribute>
					<attribute name="@return">
						<description>null.</description>
					</attribute>
				</comment>
				<params>
					<param name="addex" comment="is the expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.AddExpr" type="AddExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Validate a subtraction expression.</description>
					<attribute name="@param">
						<description>subex
            is the expression.</description>
					</attribute>
					<attribute name="@return">
						<description>null.</description>
					</attribute>
				</comment>
				<params>
					<param name="subex" comment="is the expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.SubExpr" type="SubExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Validate a multiplication expression.</description>
					<attribute name="@param">
						<description>mulex
            is the expression.</description>
					</attribute>
					<attribute name="@return">
						<description>null.</description>
					</attribute>
				</comment>
				<params>
					<param name="mulex" comment="is the expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.MulExpr" type="MulExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Validate a division expression.</description>
					<attribute name="@param">
						<description>mulex
            is the expression.</description>
					</attribute>
					<attribute name="@return">
						<description>null.</description>
					</attribute>
				</comment>
				<params>
					<param name="mulex" comment="is the expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.DivExpr" type="DivExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Validate an integer divison expression.</description>
					<attribute name="@param">
						<description>mulex
            is the expression.</description>
					</attribute>
					<attribute name="@return">
						<description>null.</description>
					</attribute>
				</comment>
				<params>
					<param name="mulex" comment="is the expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.IDivExpr" type="IDivExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Validate a mod expression.</description>
					<attribute name="@param">
						<description>mulex
            is the expression.</description>
					</attribute>
					<attribute name="@return">
						<description>null.</description>
					</attribute>
				</comment>
				<params>
					<param name="mulex" comment="is the expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.ModExpr" type="ModExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Validate a union expression.</description>
					<attribute name="@param">
						<description>unex
            is the expression.</description>
					</attribute>
					<attribute name="@return">
						<description>null.</description>
					</attribute>
				</comment>
				<params>
					<param name="unex" comment="is the expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.UnionExpr" type="UnionExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Validate a piped expression.</description>
					<attribute name="@param">
						<description>pipex
            is the expression.</description>
					</attribute>
					<attribute name="@return">
						<description>null.</description>
					</attribute>
				</comment>
				<params>
					<param name="pipex" comment="is the expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.PipeExpr" type="PipeExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Validate an intersection expression.</description>
					<attribute name="@param">
						<description>iexpr
            is the expression.</description>
					</attribute>
					<attribute name="@return">
						<description>null.</description>
					</attribute>
				</comment>
				<params>
					<param name="iexpr" comment="is the expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.IntersectExpr" type="IntersectExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Validate an except expression.</description>
					<attribute name="@param">
						<description>eexpr
            is the expression.</description>
					</attribute>
					<attribute name="@return">
						<description>null.</description>
					</attribute>
				</comment>
				<params>
					<param name="eexpr" comment="is the expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.ExceptExpr" type="ExceptExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Validate an &apos;instance of&apos; expression.</description>
					<attribute name="@param">
						<description>ioexp
            is the expression.</description>
					</attribute>
					<attribute name="@return">
						<description>null.</description>
					</attribute>
				</comment>
				<params>
					<param name="ioexp" comment="is the expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.InstOfExpr" type="InstOfExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Validate a &apos;treat as&apos; expression.</description>
					<attribute name="@param">
						<description>taexp
            is the expression.</description>
					</attribute>
					<attribute name="@return">
						<description>null.</description>
					</attribute>
				</comment>
				<params>
					<param name="taexp" comment="is the expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.TreatAsExpr" type="TreatAsExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Validate a castable expression.</description>
					<attribute name="@param">
						<description>cexp
            is the expression.</description>
					</attribute>
					<attribute name="@return">
						<description>null.</description>
					</attribute>
				</comment>
				<params>
					<param name="cexp" comment="is the expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.CastableExpr" type="CastableExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Validate a cast expression.</description>
					<attribute name="@param">
						<description>cexp
            is the expression.</description>
					</attribute>
					<attribute name="@return">
						<description>null.</description>
					</attribute>
				</comment>
				<params>
					<param name="cexp" comment="is the expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.CastExpr" type="CastExpr" />
				</params>
			</method>
			<method visibility="public" name="printUnExpr" fulltype="void" type="void">
				<comment>
					<description>Validate a unary expression by checking its one child.</description>
					<attribute name="@param">
						<description>name
            is the name of the expression.</description>
					</attribute>
					<attribute name="@param">
						<description>e
            is the expression itself.</description>
					</attribute>
				</comment>
				<params>
					<param name="name" comment="is the name of the expression." fulltype="java.lang.String" type="String" />
					<param name="e" comment="is the expression itself." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.UnExpr" type="UnExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Validate a minus expression.</description>
					<attribute name="@param">
						<description>e
            is the expression.</description>
					</attribute>
					<attribute name="@return">
						<description>null.</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.MinusExpr" type="MinusExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Validate a plus expression.</description>
					<attribute name="@param">
						<description>e
            is the expression.</description>
					</attribute>
					<attribute name="@return">
						<description>null.</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.PlusExpr" type="PlusExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Validate an xpath expression.</description>
					<attribute name="@param">
						<description>e
            is the expression.</description>
					</attribute>
					<attribute name="@return">
						<description>null.</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathExpr" type="XPathExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Validate a forward step.</description>
					<attribute name="@param">
						<description>e
            is the expression.</description>
					</attribute>
					<attribute name="@return">
						<description>null.</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.ForwardStep" type="ForwardStep" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Validate a reverse step.</description>
					<attribute name="@param">
						<description>e
            is the expression.</description>
					</attribute>
					<attribute name="@return">
						<description>null.</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.ReverseStep" type="ReverseStep" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Validate a name test.</description>
					<attribute name="@param">
						<description>e
            is the expression.</description>
					</attribute>
					<attribute name="@return">
						<description>null.</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.NameTest" type="NameTest" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Validate a variable reference.</description>
					<attribute name="@param">
						<description>e
            is the expression.</description>
					</attribute>
					<attribute name="@return">
						<description>null.</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.VarRef" type="VarRef" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Validate a string literal.</description>
					<attribute name="@param">
						<description>e
            is the expression.</description>
					</attribute>
					<attribute name="@return">
						<description>null.</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.StringLiteral" type="StringLiteral" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Validate an integer literal.</description>
					<attribute name="@param">
						<description>e
            is the expression.</description>
					</attribute>
					<attribute name="@return">
						<description>null.</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.IntegerLiteral" type="IntegerLiteral" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Validate a double literal.</description>
					<attribute name="@param">
						<description>e
            is the expression.</description>
					</attribute>
					<attribute name="@return">
						<description>null.</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.DoubleLiteral" type="DoubleLiteral" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Validate a decimal literal.</description>
					<attribute name="@param">
						<description>e
            is the expression.</description>
					</attribute>
					<attribute name="@return">
						<description>null.</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.DecimalLiteral" type="DecimalLiteral" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Validate a parenthesized expression.</description>
					<attribute name="@param">
						<description>e
            is the expression.</description>
					</attribute>
					<attribute name="@return">
						<description>null.</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.ParExpr" type="ParExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Validate a context item expression.</description>
					<attribute name="@param">
						<description>e
            is the expression.</description>
					</attribute>
					<attribute name="@return">
						<description>null.</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.CntxItemExpr" type="CntxItemExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Validate a function call.</description>
					<attribute name="@param">
						<description>e
            is the expression.</description>
					</attribute>
					<attribute name="@return">
						<description>null.</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.FunctionCall" type="FunctionCall" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Validate a single type.</description>
					<attribute name="@param">
						<description>e
            is the expression.</description>
					</attribute>
					<attribute name="@return">
						<description>null.</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.SingleType" type="SingleType" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Validate a sequence type.</description>
					<attribute name="@param">
						<description>e
            is the expression.</description>
					</attribute>
					<attribute name="@return">
						<description>null.</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.SequenceType" type="SequenceType" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Validate an item type.</description>
					<attribute name="@param">
						<description>e
            is the expression.</description>
					</attribute>
					<attribute name="@return">
						<description>null.</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.ItemType" type="ItemType" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Validate an any kind test.</description>
					<attribute name="@param">
						<description>e
            is the expression.</description>
					</attribute>
					<attribute name="@return">
						<description>null.</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.AnyKindTest" type="AnyKindTest" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Validate a document test.</description>
					<attribute name="@param">
						<description>e
            is the expression.</description>
					</attribute>
					<attribute name="@return">
						<description>null.</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.DocumentTest" type="DocumentTest" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Validate a text test.</description>
					<attribute name="@param">
						<description>e
            is the expression.</description>
					</attribute>
					<attribute name="@return">
						<description>null.</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.TextTest" type="TextTest" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Validate a comment test.</description>
					<attribute name="@param">
						<description>e
            is the expression.</description>
					</attribute>
					<attribute name="@return">
						<description>null.</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.CommentTest" type="CommentTest" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Validate a processing instructing test.</description>
					<attribute name="@param">
						<description>e
            is the expression.</description>
					</attribute>
					<attribute name="@return">
						<description>null.</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.PITest" type="PITest" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Validate an attribute test.</description>
					<attribute name="@param">
						<description>e
            is the expression.</description>
					</attribute>
					<attribute name="@return">
						<description>null.</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.AttributeTest" type="AttributeTest" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Validate a schema attribute test.</description>
					<attribute name="@param">
						<description>e
            is the expression.</description>
					</attribute>
					<attribute name="@return">
						<description>null.</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.SchemaAttrTest" type="SchemaAttrTest" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Validate an element test.</description>
					<attribute name="@param">
						<description>e
            is the expression.</description>
					</attribute>
					<attribute name="@return">
						<description>null.</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.ElementTest" type="ElementTest" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Validate a schema element test.</description>
					<attribute name="@param">
						<description>e
            is the expression.</description>
					</attribute>
					<attribute name="@return">
						<description>null.</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.SchemaElemTest" type="SchemaElemTest" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Validate an axis step.</description>
					<attribute name="@param">
						<description>e
            is the expression.</description>
					</attribute>
					<attribute name="@return">
						<description>null.</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.AxisStep" type="AxisStep" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="null." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Validate a filter expression.</description>
					<attribute name="@param">
						<description>e
            is the expression.</description>
					</attribute>
					<attribute name="@return">
						<description>null.</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.FilterExpr" type="FilterExpr" />
				</params>
			</method>
			<method visibility="public" name="isRootUsed" fulltype="boolean" type="boolean">
				<comment>
					<attribute name="@since">
						<description>2.0</description>
					</attribute>
				</comment>
			</method>
		</methods>
		<jelclass superclass="Error" visibility="package-private" package="org.eclipse.wst.xml.xpath2.processor" serializable="true" superclassfulltype="java.lang.Error" fulltype="org.eclipse.wst.xml.xpath2.processor.StaticNameResolver.DummyError" type="StaticNameResolver.DummyError">
			<methods>
				<constructor visibility="package-private" name="StaticNameResolver.DummyError" />
			</methods>
		</jelclass>
		<jelclass superclass="Object" visibility="package-private" package="org.eclipse.wst.xml.xpath2.processor" superclassfulltype="java.lang.Object" fulltype="org.eclipse.wst.xml.xpath2.processor.StaticNameResolver.VariableScope" type="StaticNameResolver.VariableScope">
			<fields>
				<field final="true" visibility="public" name="name" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				<field final="true" visibility="public" name="typeDef" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.ItemType" type="ItemType" />
				<field final="true" visibility="public" name="nextScope" fulltype="org.eclipse.wst.xml.xpath2.processor.StaticNameResolver.VariableScope" type="StaticNameResolver.VariableScope" />
			</fields>
			<methods>
				<constructor visibility="public" name="StaticNameResolver.VariableScope">
					<params>
						<param name="name" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
						<param name="typeDef" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.ItemType" type="ItemType" />
						<param name="nextScope" fulltype="org.eclipse.wst.xml.xpath2.processor.StaticNameResolver.VariableScope" type="StaticNameResolver.VariableScope" />
					</params>
				</constructor>
			</methods>
		</jelclass>
	</jelclass>
	<jelclass superclass="Error" visibility="package-private" package="org.eclipse.wst.xml.xpath2.processor" serializable="true" superclassfulltype="java.lang.Error" fulltype="org.eclipse.wst.xml.xpath2.processor.StaticNameResolver.DummyError" type="StaticNameResolver.DummyError">
		<methods>
			<constructor visibility="package-private" name="StaticNameResolver.DummyError" />
		</methods>
	</jelclass>
	<jelclass superclass="Object" visibility="package-private" package="org.eclipse.wst.xml.xpath2.processor" superclassfulltype="java.lang.Object" fulltype="org.eclipse.wst.xml.xpath2.processor.StaticNameResolver.VariableScope" type="StaticNameResolver.VariableScope">
		<fields>
			<field final="true" visibility="public" name="name" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
			<field final="true" visibility="public" name="typeDef" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.ItemType" type="ItemType" />
			<field final="true" visibility="public" name="nextScope" fulltype="org.eclipse.wst.xml.xpath2.processor.StaticNameResolver.VariableScope" type="StaticNameResolver.VariableScope" />
		</fields>
		<methods>
			<constructor visibility="public" name="StaticNameResolver.VariableScope">
				<params>
					<param name="name" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
					<param name="typeDef" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.ItemType" type="ItemType" />
					<param name="nextScope" fulltype="org.eclipse.wst.xml.xpath2.processor.StaticNameResolver.VariableScope" type="StaticNameResolver.VariableScope" />
				</params>
			</constructor>
		</methods>
	</jelclass>
	<jelclass superclass="RuntimeException" visibility="public" package="org.eclipse.wst.xml.xpath2.processor" serializable="true" superclassfulltype="java.lang.RuntimeException" fulltype="org.eclipse.wst.xml.xpath2.processor.XPathException" type="XPathException">
		<comment>
			<description>This exception is thrown when there is a problem with an XPath exception.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="XPathException">
				<comment>
					<description>Constructor for XPathException</description>
					<attribute name="@param">
						<description>reason
            Is the reason why the exception has been thrown.</description>
					</attribute>
				</comment>
				<params>
					<param name="reason" comment="Is the reason why the exception has been thrown." fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
			<method visibility="public" name="reason" returncomment="the reason why the exception has been throw." fulltype="java.lang.String" type="String">
				<comment>
					<description>The reason why the exception has been thrown.</description>
					<attribute name="@return">
						<description>the reason why the exception has been throw.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getMessage" fulltype="java.lang.String" type="String" />
		</methods>
	</jelclass>
	<jelclass abstract="true" visibility="public" package="org.eclipse.wst.xml.xpath2.processor" interface="true" fulltype="org.eclipse.wst.xml.xpath2.processor.XPathParser" type="XPathParser">
		<comment>
			<description>This is an interface class for the XPath parser.</description>
		</comment>
		<methods>
			<method visibility="public" name="parse" returncomment="The parsed XPath." fulltype="org.eclipse.wst.xml.xpath2.processor.ast.XPath" type="XPath">
				<comment>
					<description>Constructor for the XPath parser interface.</description>
					<attribute name="@param">
						<description>xpath
            is the input XPath to be parsed.</description>
					</attribute>
					<attribute name="@throws">
						<description>XPathParserException
             XPath parser exception.</description>
					</attribute>
					<attribute name="@return">
						<description>The parsed XPath.</description>
					</attribute>
				</comment>
				<params>
					<param name="xpath" comment="is the input XPath to be parsed." fulltype="java.lang.String" type="String" />
				</params>
				<exceptions>
					<exception comment="XPath parser exception." fulltype="org.eclipse.wst.xml.xpath2.processor.XPathParserException" type="XPathParserException" />
				</exceptions>
			</method>
			<method visibility="public" name="parse" returncomment="The parsed XPath." fulltype="org.eclipse.wst.xml.xpath2.processor.ast.XPath" type="XPath">
				<comment>
					<description>Constructor for the XPath parser interface.</description>
					<attribute name="@param">
						<description>xpath
            is the input XPath to be parsed.</description>
					</attribute>
					<attribute name="@param">
						<description>isRootlessAccess
            if &apos;true&apos; then PsychoPath engine can&apos;t parse xpath expressions starting with / or //.</description>
					</attribute>
					<attribute name="@throws">
						<description>XPathParserException
             XPath parser exception.</description>
					</attribute>
					<attribute name="@return">
						<description>The parsed XPath.</description>
					</attribute>
					<attribute name="@since">
						<description>2.0</description>
					</attribute>
				</comment>
				<params>
					<param name="xpath" comment="is the input XPath to be parsed." fulltype="java.lang.String" type="String" />
					<param name="isRootlessAccess" comment="if &apos;true&apos; then PsychoPath engine can&apos;t parse xpath expressions starting with / or //." fulltype="boolean" type="boolean" />
				</params>
				<exceptions>
					<exception comment="XPath parser exception." fulltype="org.eclipse.wst.xml.xpath2.processor.XPathParserException" type="XPathParserException" />
				</exceptions>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="StaticError" visibility="public" package="org.eclipse.wst.xml.xpath2.processor" serializable="true" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.StaticError" fulltype="org.eclipse.wst.xml.xpath2.processor.XPathParserException" type="XPathParserException">
		<comment>
			<description>This exception is thrown if there is a problem with the XPath parser.</description>
		</comment>
		<fields>
			<field final="true" static="true" const="XPST0003" visibility="public" name="INVALID_XPATH_EXPRESSION" constexpr="&quot;XPST0003&quot;" fulltype="java.lang.String" type="String">
				<comment>
					<description>The type of exception.</description>
				</comment>
			</field>
		</fields>
		<methods>
			<constructor visibility="public" name="XPathParserException">
				<comment>
					<description>Constructor for XPathParserException.</description>
					<attribute name="@param">
						<description>reason
            is the reason why the exception has been thrown.</description>
					</attribute>
				</comment>
				<params>
					<param name="reason" comment="is the reason why the exception has been thrown." fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
		</methods>
	</jelclass>
	<jelclass superclass="Object" visibility="public" package="org.eclipse.wst.xml.xpath2.processor" superclassfulltype="java.lang.Object" fulltype="org.eclipse.wst.xml.xpath2.processor.XercesLoader" type="XercesLoader">
		<implements>
			<interface fulltype="org.eclipse.wst.xml.xpath2.processor.DOMLoader" type="DOMLoader" />
		</implements>
		<comment>
			<description>Xerces loader class. The loading is always namespace aware.</description>
		</comment>
		<fields>
			<field final="true" static="true" const="http://xml.org/sax/features/namespaces" visibility="public" name="NAMESPACES_FEATURE" constexpr="&quot;http://xml.org/sax/features/namespaces&quot;" fulltype="java.lang.String" type="String" />
			<field final="true" static="true" const="http://xml.org/sax/features/validation" visibility="public" name="VALIDATION_FEATURE" constexpr="&quot;http://xml.org/sax/features/validation&quot;" fulltype="java.lang.String" type="String" />
			<field final="true" static="true" const="http://apache.org/xml/features/validation/schema" visibility="public" name="SCHEMA_VALIDATION_FEATURE" constexpr="&quot;http://apache.org/xml/features/validation/schema&quot;" fulltype="java.lang.String" type="String" />
			<field final="true" static="true" const="http://apache.org/xml/features/validation/schema-full-checking" visibility="public" name="SCHEMA_FULL_CHECKING_FEATURE" constexpr="&quot;http://apache.org/xml/features/validation/schema-full-checking&quot;" fulltype="java.lang.String" type="String" />
			<field final="true" static="true" const="http://apache.org/xml/features/validation/dynamic" visibility="public" name="DYNAMIC_VALIDATION_FEATURE" constexpr="&quot;http://apache.org/xml/features/validation/dynamic&quot;" fulltype="java.lang.String" type="String" />
			<field final="true" static="true" const="http://apache.org/xml/features/nonvalidating/load-external-dtd" visibility="public" name="LOAD_EXTERNAL_DTD_FEATURE" constexpr="&quot;http://apache.org/xml/features/nonvalidating/load-external-dtd&quot;" fulltype="java.lang.String" type="String" />
			<field final="true" static="true" const="http://java.sun.com/xml/jaxp/properties/schemaLanguage" visibility="public" name="JAXP_SCHEMA_LANGUAGE" constexpr="&quot;http://java.sun.com/xml/jaxp/properties/schemaLanguage&quot;" fulltype="java.lang.String" type="String" />
			<field final="true" static="true" const="http://www.w3.org/2001/XMLSchema" visibility="public" name="W3C_XML_SCHEMA" constexpr="&quot;http://www.w3.org/2001/XMLSchema&quot;" fulltype="java.lang.String" type="String" />
			<field final="true" static="true" const="http://apache.org/xml/properties/dom/document-class-name" visibility="public" name="DOCUMENT_IMPLEMENTATION_PROPERTY" constexpr="&quot;http://apache.org/xml/properties/dom/document-class-name&quot;" fulltype="java.lang.String" type="String" />
			<field final="true" static="true" const="org.apache.xerces.dom.PSVIDocumentImpl" visibility="public" name="DOCUMENT_PSVI_IMPLEMENTATION" constexpr="&quot;org.apache.xerces.dom.PSVIDocumentImpl&quot;" fulltype="java.lang.String" type="String" />
			<field visibility="package-private" name="_validating" fulltype="boolean" type="boolean" />
			<field visibility="package-private" name="_schema" fulltype="javax.xml.validation.Schema" type="Schema" />
		</fields>
		<methods>
			<constructor visibility="public" name="XercesLoader">
				<comment>
					<description>Constructor for Xerces loader.</description>
				</comment>
			</constructor>
			<constructor visibility="public" name="XercesLoader">
				<comment>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
				<params>
					<param name="schema" fulltype="javax.xml.validation.Schema" type="Schema" />
				</params>
			</constructor>
			<method visibility="public" name="load" returncomment="The loaded document." fulltype="org.w3c.dom.Document" type="Document">
				<comment>
					<description>The Xerces loader loads the XML document</description>
					<attribute name="@param">
						<description>in
            is the input stream.</description>
					</attribute>
					<attribute name="@throws">
						<description>DOMLoaderException
             DOM loader exception.</description>
					</attribute>
					<attribute name="@return">
						<description>The loaded document.</description>
					</attribute>
				</comment>
				<params>
					<param name="in" comment="is the input stream." fulltype="java.io.InputStream" type="InputStream" />
				</params>
				<exceptions>
					<exception comment="DOM loader exception." fulltype="org.eclipse.wst.xml.xpath2.processor.DOMLoaderException" type="DOMLoaderException" />
				</exceptions>
			</method>
			<method visibility="public" name="set_validating" fulltype="void" type="void">
				<comment>
					<description>Set validating boolean.</description>
					<attribute name="@param">
						<description>x
            is the value to set the validating boolean to.</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="is the value to set the validating boolean to." fulltype="boolean" type="boolean" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="XPathNode" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathNode" fulltype="org.eclipse.wst.xml.xpath2.processor.ast.XPath" type="XPath">
		<implements>
			<interface fulltype="org.eclipse.wst.xml.xpath2.api.XPath2Expression" type="XPath2Expression" />
		</implements>
		<comment>
			<description>Support for XPath.</description>
			<attribute name="@deprecated">
				<description>This is only for internal use, use XPath2Expression instead</description>
			</attribute>
		</comment>
		<methods>
			<constructor visibility="public" name="XPath">
				<comment>
					<description>Constructor for XPath.</description>
					<attribute name="@param">
						<description>exprs
            XPath expressions.</description>
					</attribute>
				</comment>
				<params>
					<param name="exprs" comment="XPath expressions." fulltype="java.util.Collection" type="Collection" />
				</params>
			</constructor>
			<method visibility="public" name="accept" returncomment="Result of Visitor operation." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Support for Visitor interface.</description>
					<attribute name="@return">
						<description>Result of Visitor operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="v" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor" />
				</params>
			</method>
			<method visibility="public" name="iterator" returncomment="Result of Iterator operation." fulltype="java.util.Iterator" type="Iterator">
				<comment>
					<description>Support for Iterator interface.</description>
					<attribute name="@return">
						<description>Result of Iterator operation.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getFreeVariables" fulltype="java.util.Collection" type="Collection">
				<comment>
					<attribute name="@since">
						<description>2.0</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="setFreeVariables" fulltype="void" type="void">
				<comment>
					<attribute name="@since">
						<description>2.0</description>
					</attribute>
				</comment>
				<params>
					<param name="_freeVariables" fulltype="java.util.Collection" type="Collection" />
				</params>
			</method>
			<method visibility="public" name="getResolvedFunctions" fulltype="java.util.Collection" type="Collection">
				<comment>
					<attribute name="@since">
						<description>2.0</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="setResolvedFunctions" fulltype="void" type="void">
				<comment>
					<attribute name="@since">
						<description>2.0</description>
					</attribute>
				</comment>
				<params>
					<param name="_resolvedFunctions" fulltype="java.util.Collection" type="Collection" />
				</params>
			</method>
			<method visibility="public" name="getAxes" fulltype="java.util.Collection" type="Collection">
				<comment>
					<attribute name="@since">
						<description>2.0</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="setAxes" fulltype="void" type="void">
				<comment>
					<attribute name="@since">
						<description>2.0</description>
					</attribute>
				</comment>
				<params>
					<param name="_axes" fulltype="java.util.Collection" type="Collection" />
				</params>
			</method>
			<method visibility="public" name="isRootPathUsed" fulltype="boolean" type="boolean">
				<comment>
					<attribute name="@since">
						<description>2.0</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="setRootUsed" fulltype="void" type="void">
				<comment>
					<attribute name="@since">
						<description>2.0</description>
					</attribute>
				</comment>
				<params>
					<param name="_rootUsed" fulltype="boolean" type="boolean" />
				</params>
			</method>
			<method visibility="public" name="evaluate" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<attribute name="@since">
						<description>2.0</description>
					</attribute>
				</comment>
				<params>
					<param name="dynamicContext" fulltype="org.eclipse.wst.xml.xpath2.api.DynamicContext" type="DynamicContext" />
					<param name="contextItems" fulltype="java.lang.Object[]" type="Object" />
				</params>
			</method>
			<method visibility="public" name="getStaticContext" fulltype="org.eclipse.wst.xml.xpath2.api.StaticContext" type="StaticContext">
				<comment>
					<attribute name="@since">
						<description>2.0</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="setStaticContext" fulltype="void" type="void">
				<comment>
					<attribute name="@since">
						<description>2.0</description>
					</attribute>
				</comment>
				<params>
					<param name="context" fulltype="org.eclipse.wst.xml.xpath2.api.StaticContext" type="StaticContext" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="FunctionLibrary" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.function" superclassfulltype="FunctionLibrary" fulltype="org.eclipse.wst.xml.xpath2.processor.function.FnFunctionLibrary" type="FnFunctionLibrary">
		<comment>
			<description>Maintains a library of core functions and user defined functions.</description>
		</comment>
		<fields>
			<field final="true" static="true" const="http://www.w3.org/2005/xpath-functions" visibility="public" name="XPATH_FUNCTIONS_NS" constexpr="&quot;http://www.w3.org/2005/xpath-functions&quot;" fulltype="java.lang.String" type="String">
				<comment>
					<description>Path to xpath functions specification.</description>
				</comment>
			</field>
		</fields>
		<methods>
			<constructor visibility="public" name="FnFunctionLibrary">
				<comment>
					<description>Constructor for FnFunctionLibrary.</description>
				</comment>
			</constructor>
		</methods>
	</jelclass>
	<jelclass superclass="ConstructorFL" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.function" superclassfulltype="ConstructorFL" fulltype="org.eclipse.wst.xml.xpath2.processor.function.XSCtrLibrary" type="XSCtrLibrary">
		<comment>
			<description>XML Schema control library support.</description>
		</comment>
		<fields>
			<field final="true" static="true" const="http://www.w3.org/2001/XMLSchema" visibility="public" name="XML_SCHEMA_NS" constexpr="&quot;http://www.w3.org/2001/XMLSchema&quot;" fulltype="java.lang.String" type="String">
				<comment>
					<description>Path to w3.org XML Schema specification.</description>
				</comment>
			</field>
		</fields>
		<methods>
			<constructor visibility="public" name="XSCtrLibrary">
				<comment>
					<description>Constructor for XSCtrLibrary.</description>
				</comment>
			</constructor>
		</methods>
	</jelclass>
	<jelclass superclass="ParentAxis" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ParentAxis" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.AncestorAxis" type="AncestorAxis">
		<comment>
			<description>Returns the ancestors of the context node, this always includes the root
 node.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="AncestorAxis" />
			<method visibility="public" name="iterate" fulltype="void" type="void">
				<comment>
					<description>Get the ancestors of the context node.</description>
					<attribute name="@param">
						<description>node
            is the type of node.</description>
					</attribute>
				</comment>
				<params>
					<param name="node" comment="is the type of node." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType" />
					<param name="copyInto" fulltype="org.eclipse.wst.xml.xpath2.api.ResultBuffer" type="ResultBuffer" />
					<param name="limitNode" fulltype="org.w3c.dom.Node" type="Node" />
				</params>
			</method>
			<method visibility="public" name="name" fulltype="java.lang.String" type="String" />
		</methods>
	</jelclass>
	<jelclass superclass="ReverseAxis" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ReverseAxis" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.AncestorOrSelfAxis" type="AncestorOrSelfAxis">
		<comment>
			<description>The ancestor-or-self axis contains the context node and the ancestors of the
 context node, this always includes the root node.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="AncestorOrSelfAxis" />
			<method visibility="public" name="iterate" fulltype="void" type="void">
				<comment>
					<description>Get ancestor nodes of the context node and the context node itself.</description>
					<attribute name="@param">
						<description>node
            is the type of node.</description>
					</attribute>
				</comment>
				<params>
					<param name="node" comment="is the type of node." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType" />
					<param name="copyInto" fulltype="org.eclipse.wst.xml.xpath2.api.ResultBuffer" type="ResultBuffer" />
					<param name="limitNode" fulltype="org.w3c.dom.Node" type="Node" />
				</params>
			</method>
			<method visibility="public" name="name" fulltype="java.lang.String" type="String" />
		</methods>
	</jelclass>
	<jelclass superclass="ForwardAxis" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ForwardAxis" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.AttributeAxis" type="AttributeAxis">
		<comment>
			<description>The attribute axis contains the attributes of the context node. The axis will
 be empty unless the context node is an element.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="AttributeAxis" />
			<method visibility="public" name="iterate" fulltype="void" type="void">
				<comment>
					<description>Retrieves the context node&apos;s attributes.</description>
					<attribute name="@param">
						<description>node
            is the type of node.</description>
					</attribute>
				</comment>
				<params>
					<param name="node" comment="is the type of node." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType" />
					<param name="copyInto" fulltype="org.eclipse.wst.xml.xpath2.api.ResultBuffer" type="ResultBuffer" />
					<param name="limitNode" fulltype="org.w3c.dom.Node" type="Node" />
				</params>
			</method>
			<method visibility="public" name="principal_node_kind" returncomment="The type of node." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType">
				<comment>
					<description>Retrieves the node&apos;s principle node kind.</description>
					<attribute name="@return">
						<description>The type of node.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="name" fulltype="java.lang.String" type="String" />
		</methods>
	</jelclass>
	<jelclass abstract="true" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal" interface="true" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.Axis" type="Axis">
		<comment>
			<description>This is the interface class for an Axis.
 
 An axis defines the &quot;direction of movement&quot; for a step between a context node
 and another node that is reachable via the axis.</description>
		</comment>
		<methods>
			<method visibility="public" name="iterate" fulltype="void" type="void">
				<comment>
					<description>Get elements and attributes.</description>
					<attribute name="@param">
						<description>node
            is the type of node.</description>
					</attribute>
					<attribute name="@param">
						<description>copyInto TODO</description>
					</attribute>
					<attribute name="@param">
						<description>limitNode TODO</description>
					</attribute>
				</comment>
				<params>
					<param name="node" comment="is the type of node." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType" />
					<param name="copyInto" comment="TODO" fulltype="org.eclipse.wst.xml.xpath2.api.ResultBuffer" type="ResultBuffer" />
					<param name="limitNode" comment="TODO" fulltype="org.w3c.dom.Node" type="Node" />
				</params>
			</method>
			<method visibility="public" name="principal_node_kind" returncomment="The principle node kind." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType">
				<comment>
					<description>Get the principle kind of node.</description>
					<attribute name="@return">
						<description>The principle node kind.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="name" returncomment="Axis title" fulltype="java.lang.String" type="String">
				<comment>
					<description>Returns the title of the sequence as it appears in the XPath source</description>
					<attribute name="@return">
						<description>Axis title</description>
					</attribute>
				</comment>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="ForwardAxis" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ForwardAxis" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ChildAxis" type="ChildAxis">
		<comment>
			<description>The child axis contains the children of the context node.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="ChildAxis" />
			<method visibility="public" name="iterate" fulltype="void" type="void">
				<comment>
					<description>Retrieves the context node&apos;s children.</description>
					<attribute name="@param">
						<description>node
            is the type of node.</description>
					</attribute>
				</comment>
				<params>
					<param name="node" comment="is the type of node." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType" />
					<param name="copyInto" fulltype="org.eclipse.wst.xml.xpath2.api.ResultBuffer" type="ResultBuffer" />
					<param name="limitNode" fulltype="org.w3c.dom.Node" type="Node" />
				</params>
			</method>
			<method visibility="protected" name="addChildren" fulltype="void" type="void">
				<params>
					<param name="node" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType" />
					<param name="copyInto" fulltype="org.eclipse.wst.xml.xpath2.api.ResultBuffer" type="ResultBuffer" />
					<param name="recurse" fulltype="boolean" type="boolean" />
				</params>
			</method>
			<method visibility="public" name="name" fulltype="java.lang.String" type="String" />
		</methods>
	</jelclass>
	<jelclass superclass="XPathError" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal" serializable="true" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.XPathError" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.CupError" type="CupError">
		<comment>
			<description>Error caused by CUP Parser.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="CupError">
				<comment>
					<description>Constructor for CUP error.</description>
					<attribute name="@param">
						<description>reason
            is the reason for the error.</description>
					</attribute>
				</comment>
				<params>
					<param name="reason" comment="is the reason for the error." fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
		</methods>
	</jelclass>
	<jelclass superclass="ResultSequenceFactory" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.DefaultRSFactory" type="DefaultRSFactory">
		<comment>
			<description>Factory implementation which creates sequences of type DefaultResultSequence.</description>
		</comment>
		<fields>
			<field final="true" static="true" const="50" visibility="public" name="POOL_SIZE" constexpr="50" fulltype="int" type="int" />
		</fields>
		<methods>
			<constructor visibility="public" name="DefaultRSFactory">
				<comment>
					<description>Constructor of factory.</description>
				</comment>
			</constructor>
			<method visibility="protected" name="fact_create_new" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
			<method visibility="protected" name="fact_release" fulltype="void" type="void">
				<params>
					<param name="rs" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
			</method>
			<method visibility="protected" name="fact_print_debug" fulltype="void" type="void" />
		</methods>
	</jelclass>
	<jelclass superclass="ResultSequence" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.DefaultResultSequence" type="DefaultResultSequence">
		<comment>
			<description>Default implementation of a result sequence.</description>
			<attribute name="@deprecated">
				<description>use ResultBuffer instead</description>
			</attribute>
		</comment>
		<methods>
			<constructor visibility="public" name="DefaultResultSequence">
				<comment>
					<description>Constructor.
 
 an empty array is created</description>
				</comment>
			</constructor>
			<constructor visibility="public" name="DefaultResultSequence">
				<comment>
					<attribute name="@param">
						<description>item
            is added</description>
					</attribute>
				</comment>
				<params>
					<param name="item" comment="is added" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
				</params>
			</constructor>
			<method visibility="public" name="add" fulltype="void" type="void">
				<comment>
					<attribute name="@param">
						<description>item
            is added to array _seq</description>
					</attribute>
				</comment>
				<params>
					<param name="item" comment="is added to array _seq" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
				</params>
			</method>
			<method visibility="public" name="concat" fulltype="void" type="void">
				<comment>
					<attribute name="@param">
						<description>rs
            ResultSequence</description>
					</attribute>
				</comment>
				<params>
					<param name="rs" comment="ResultSequence" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
			</method>
			<method visibility="public" name="iterator" returncomment="the next iteration of array _seq" fulltype="java.util.ListIterator" type="ListIterator">
				<comment>
					<attribute name="@return">
						<description>the next iteration of array _seq</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="size" returncomment="integer of the size of array _seq" fulltype="int" type="int">
				<comment>
					<attribute name="@return">
						<description>integer of the size of array _seq</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="get" returncomment="item i from array _seq" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType">
				<comment>
					<attribute name="@param">
						<description>i
            is the position of the array item that is wanted.</description>
					</attribute>
					<attribute name="@return">
						<description>item i from array _seq</description>
					</attribute>
				</comment>
				<params>
					<param name="i" comment="is the position of the array item that is wanted." fulltype="int" type="int" />
				</params>
			</method>
			<method visibility="public" name="first" returncomment="first item from array _seq" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType">
				<comment>
					<attribute name="@return">
						<description>first item from array _seq</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="firstValue" returncomment="first item from array _seq" fulltype="java.lang.Object" type="Object">
				<comment>
					<attribute name="@return">
						<description>first item from array _seq</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="empty" returncomment="a boolean" fulltype="boolean" type="boolean">
				<comment>
					<description>Whether or not array _seq is empty</description>
					<attribute name="@return">
						<description>a boolean</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="sequenceType" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.ItemType" type="ItemType" />
			<method visibility="public" name="clear" fulltype="void" type="void">
				<comment>
					<description>Clears the sequence.</description>
				</comment>
			</method>
			<method visibility="public" name="create_new" returncomment="The new sequence." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Create a new sequence.</description>
					<attribute name="@return">
						<description>The new sequence.</description>
					</attribute>
				</comment>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="Object" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal" superclassfulltype="java.lang.Object" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.DefaultStaticContext" type="DefaultStaticContext">
		<implements>
			<interface fulltype="org.eclipse.wst.xml.xpath2.processor.StaticContext" type="StaticContext" />
		</implements>
		<comment>
			<description>Default implementation of a static context as described by the XPath 2.0
 specification.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="DefaultStaticContext">
				<comment>
					<description>Constructor.</description>
					<attribute name="@param">
						<description>schema
            Schema information from document. May be null.</description>
					</attribute>
				</comment>
				<params>
					<param name="model" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel" type="TypeModel" />
				</params>
			</constructor>
			<constructor visibility="public" name="DefaultStaticContext">
				<comment>
					<description>Constructor for schema-less documents.</description>
				</comment>
			</constructor>
			<method visibility="public" name="get_cntxt_item_type" fulltype="java.lang.String" type="String" />
			<method visibility="public" name="set_cntxt_item_type" fulltype="void" type="void">
				<params>
					<param name="cntxtItemType" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="get_collections" fulltype="java.util.Map" type="Map" />
			<method visibility="public" name="set_collections" fulltype="void" type="void">
				<params>
					<param name="collections" fulltype="java.util.Map" type="Map" />
				</params>
			</method>
			<method visibility="public" name="get_default_collection_type" fulltype="java.lang.String" type="String" />
			<method visibility="public" name="set_default_collection_type" fulltype="void" type="void">
				<params>
					<param name="defaultCollectionType" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="base_uri" returncomment="XSAnyURI" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSAnyURI" type="XSAnyURI">
				<comment>
					<description>return the base URI</description>
					<attribute name="@return">
						<description>XSAnyURI</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="xpath1_compatible" returncomment="boolean" fulltype="boolean" type="boolean">
				<comment>
					<description>is it xpath1 compatible?</description>
					<attribute name="@return">
						<description>boolean</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="add_namespace" fulltype="void" type="void">
				<comment>
					<description>adds namespace</description>
					<attribute name="@param">
						<description>prefix
            namespace prefix</description>
					</attribute>
					<attribute name="@param">
						<description>namespace
            namespace URI</description>
					</attribute>
				</comment>
				<params>
					<param name="prefix" comment="namespace prefix" fulltype="java.lang.String" type="String" />
					<param name="namespace" comment="namespace URI" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="default_namespace" returncomment="string" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the default namespace, when one is not allocated</description>
					<attribute name="@return">
						<description>string</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="default_function_namespace" returncomment="string" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the defaul function namespace</description>
					<attribute name="@return">
						<description>string</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="add_function_library" fulltype="void" type="void">
				<comment>
					<description>Adds a function to the library.</description>
					<attribute name="@param">
						<description>fl
            Function library to add.</description>
					</attribute>
				</comment>
				<params>
					<param name="fl" comment="Function library to add." fulltype="FunctionLibrary" type="FunctionLibrary" />
				</params>
			</method>
			<method visibility="public" name="function_exists" returncomment="true if function exists. False otherwise." fulltype="boolean" type="boolean">
				<comment>
					<description>Check for existance of function.</description>
					<attribute name="@param">
						<description>name
            function name.</description>
					</attribute>
					<attribute name="@param">
						<description>arity
            arity of function.</description>
					</attribute>
					<attribute name="@return">
						<description>true if function exists. False otherwise.</description>
					</attribute>
				</comment>
				<params>
					<param name="name" comment="function name." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
					<param name="arity" comment="arity of function." fulltype="int" type="int" />
				</params>
			</method>
			<method visibility="public" name="function" fulltype="Function" type="Function">
				<params>
					<param name="name" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
					<param name="arity" fulltype="int" type="int" />
				</params>
			</method>
			<method visibility="public" name="make_atomic" returncomment="Atomic type of desired type." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType" type="AnyAtomicType">
				<comment>
					<description>Creates an atomic from a specific type name initialized with a default
 value.</description>
					<attribute name="@param">
						<description>name
            name of type to create</description>
					</attribute>
					<attribute name="@return">
						<description>Atomic type of desired type.</description>
					</attribute>
				</comment>
				<params>
					<param name="name" comment="name of type to create" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</method>
			<method visibility="public" name="expand_qname" returncomment="true on success." fulltype="boolean" type="boolean">
				<comment>
					<description>Expands the qname&apos;s prefix into a namespace.</description>
					<attribute name="@param">
						<description>name
            qname to expand.</description>
					</attribute>
					<attribute name="@return">
						<description>true on success.</description>
					</attribute>
				</comment>
				<params>
					<param name="name" comment="qname to expand." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</method>
			<method visibility="public" name="expand_function_qname" returncomment="true on success." fulltype="boolean" type="boolean">
				<comment>
					<description>Expands a qname and uses the default function namespace if unprefixed.</description>
					<attribute name="@param">
						<description>name
            qname to expand.</description>
					</attribute>
					<attribute name="@return">
						<description>true on success.</description>
					</attribute>
				</comment>
				<params>
					<param name="name" comment="qname to expand." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</method>
			<method visibility="public" name="expand_elem_type_qname" returncomment="true on success." fulltype="boolean" type="boolean">
				<comment>
					<description>Expands a qname and uses the default type/element namespace if
 unprefixed.</description>
					<attribute name="@param">
						<description>name
            qname to expand.</description>
					</attribute>
					<attribute name="@return">
						<description>true on success.</description>
					</attribute>
				</comment>
				<params>
					<param name="name" comment="qname to expand." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</method>
			<method visibility="public" name="type_defined" returncomment="true if type is defined." fulltype="boolean" type="boolean">
				<comment>
					<description>Checks whether the type is defined in the in scope schema definitions.</description>
					<attribute name="@param">
						<description>qname
            type name.</description>
					</attribute>
					<attribute name="@return">
						<description>true if type is defined.</description>
					</attribute>
				</comment>
				<params>
					<param name="qname" comment="type name." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</method>
			<method visibility="public" name="type_defined" returncomment="true if type is defined." fulltype="boolean" type="boolean">
				<comment>
					<description>Checks whether the type is defined in the in scope schema definitions.</description>
					<attribute name="@param">
						<description>ns
            namespace of type.</description>
					</attribute>
					<attribute name="@param">
						<description>type
            name of type.</description>
					</attribute>
					<attribute name="@return">
						<description>true if type is defined.</description>
					</attribute>
				</comment>
				<params>
					<param name="ns" comment="namespace of type." fulltype="java.lang.String" type="String" />
					<param name="type" comment="name of type." fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="element_declared" returncomment="true if element declared." fulltype="boolean" type="boolean">
				<comment>
					<description>is element declared?</description>
					<attribute name="@param">
						<description>elem
            name of element.</description>
					</attribute>
					<attribute name="@return">
						<description>true if element declared.</description>
					</attribute>
				</comment>
				<params>
					<param name="elem" comment="name of element." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</method>
			<method visibility="public" name="element_type_definition" returncomment="schema definition of type" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition">
				<comment>
					<description>Obtains schema definition of the type of an element.</description>
					<attribute name="@param">
						<description>elem
            name of element who&apos;s type is desired.</description>
					</attribute>
					<attribute name="@return">
						<description>schema definition of type</description>
					</attribute>
				</comment>
				<params>
					<param name="elem" comment="name of element who&apos;s type is desired." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</method>
			<method visibility="public" name="attribute_declared" returncomment="true if attribute is declared." fulltype="boolean" type="boolean">
				<comment>
					<description>Checks if an attribute is in the in-scope schema definitions.</description>
					<attribute name="@param">
						<description>attr
            name of attribute.</description>
					</attribute>
					<attribute name="@return">
						<description>true if attribute is declared.</description>
					</attribute>
				</comment>
				<params>
					<param name="attr" comment="name of attribute." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</method>
			<method visibility="public" name="attribute_type_definition" returncomment="schema definition of the type of the attribute" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition">
				<comment>
					<description>Retrieves type definition of the attribute in an element.</description>
					<attribute name="@param">
						<description>elem
            element name</description>
					</attribute>
					<attribute name="@return">
						<description>schema definition of the type of the attribute</description>
					</attribute>
				</comment>
				<params>
					<param name="elem" comment="element name" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</method>
			<method visibility="public" name="prefix_exists" returncomment="true if it does." fulltype="boolean" type="boolean">
				<comment>
					<description>does prefix exist?</description>
					<attribute name="@param">
						<description>pref
            prefix name.</description>
					</attribute>
					<attribute name="@return">
						<description>true if it does.</description>
					</attribute>
				</comment>
				<params>
					<param name="pref" comment="prefix name." fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="resolve_prefix" returncomment="uri prefix is resolved to or null." fulltype="java.lang.String" type="String">
				<comment>
					<description>Resolves a prefix into a namespace URI.</description>
					<attribute name="@param">
						<description>pref
            prefix name</description>
					</attribute>
					<attribute name="@return">
						<description>uri prefix is resolved to or null.</description>
					</attribute>
				</comment>
				<params>
					<param name="pref" comment="prefix name" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="derives_from" returncomment="true if a derivation exists" fulltype="boolean" type="boolean">
				<comment>
					<description>Checks if an XML node derives from a specified type.</description>
					<attribute name="@param">
						<description>at
            node actual type</description>
					</attribute>
					<attribute name="@param">
						<description>et
            name of expected type</description>
					</attribute>
					<attribute name="@return">
						<description>true if a derivation exists</description>
					</attribute>
				</comment>
				<params>
					<param name="at" comment="node actual type" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType" />
					<param name="et" comment="name of expected type" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</method>
			<method visibility="public" name="derives_from" returncomment="true if a derivation exists." fulltype="boolean" type="boolean">
				<comment>
					<description>Checks if an XML node derives from a specified type definition.</description>
					<attribute name="@param">
						<description>at
            node actual type.</description>
					</attribute>
					<attribute name="@param">
						<description>et
            type definition of expected type.</description>
					</attribute>
					<attribute name="@return">
						<description>true if a derivation exists.</description>
					</attribute>
				</comment>
				<params>
					<param name="at" comment="node actual type." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType" />
					<param name="et" comment="type definition of expected type." fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
				</params>
			</method>
			<method visibility="public" name="new_scope" fulltype="void" type="void">
				<comment>
					<description>Creates a new scope level.</description>
				</comment>
			</method>
			<method visibility="public" name="destroy_scope" fulltype="void" type="void">
				<comment>
					<description>Destroys a scope.</description>
				</comment>
			</method>
			<method visibility="public" name="variable_exists" returncomment="true if it does." fulltype="boolean" type="boolean">
				<comment>
					<description>does variable exist in current scope ?</description>
					<attribute name="@param">
						<description>var
            variable name.</description>
					</attribute>
					<attribute name="@return">
						<description>true if it does.</description>
					</attribute>
				</comment>
				<params>
					<param name="var" comment="variable name." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</method>
			<method visibility="public" name="variable_in_scope" returncomment="true if variable is in current or above scope." fulltype="boolean" type="boolean">
				<comment>
					<description>checks to see if variable is in scope</description>
					<attribute name="@param">
						<description>var
            variable name.</description>
					</attribute>
					<attribute name="@return">
						<description>true if variable is in current or above scope.</description>
					</attribute>
				</comment>
				<params>
					<param name="var" comment="variable name." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</method>
			<method visibility="public" name="add_variable" fulltype="void" type="void">
				<comment>
					<description>Adds a variable to current scope.
 
 used for static checking.... i.e. presence of variables</description>
					<attribute name="@param">
						<description>var
            variable name to add.</description>
					</attribute>
				</comment>
				<params>
					<param name="var" comment="variable name to add." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</method>
			<method visibility="protected" name="set_variable" fulltype="void" type="void">
				<params>
					<param name="var" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
					<param name="val" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
				</params>
			</method>
			<method visibility="protected" name="set_variable" fulltype="void" type="void">
				<params>
					<param name="var" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
					<param name="val" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
			</method>
			<method visibility="public" name="del_variable" returncomment="false if variable doesn&apos;t exist." fulltype="boolean" type="boolean">
				<comment>
					<description>Deletes a variable from current scope.</description>
					<attribute name="@param">
						<description>var
            variable name to delete.</description>
					</attribute>
					<attribute name="@return">
						<description>false if variable doesn&apos;t exist.</description>
					</attribute>
				</comment>
				<params>
					<param name="var" comment="variable name to delete." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</method>
			<method visibility="protected" name="get_var" fulltype="java.lang.Object" type="Object">
				<params>
					<param name="var" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</method>
			<method visibility="public" name="debug_print_vars" fulltype="void" type="void">
				<comment>
					<description>Debug function which will print current variable scopes and info.</description>
				</comment>
			</method>
			<method visibility="public" name="set_base_uri" fulltype="void" type="void">
				<comment>
					<description>Set the Base URI for the static context.</description>
				</comment>
				<params>
					<param name="baseuri" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="set_documents" fulltype="void" type="void">
				<params>
					<param name="_documents" fulltype="java.util.Map" type="Map" />
				</params>
			</method>
			<method visibility="public" name="get_documents" fulltype="java.util.Map" type="Map" />
			<method visibility="public" name="getTypeModel" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel" type="TypeModel">
				<params>
					<param name="node" fulltype="org.w3c.dom.Node" type="Node" />
				</params>
			</method>
			<method visibility="public" name="get_function_libraries" fulltype="java.util.Map" type="Map" />
		</methods>
	</jelclass>
	<jelclass superclass="ChildAxis" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ChildAxis" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.DescendantAxis" type="DescendantAxis">
		<comment>
			<description>The descendant axis contains the descendants of the context node</description>
		</comment>
		<methods>
			<constructor visibility="public" name="DescendantAxis" />
			<method visibility="public" name="iterate" fulltype="void" type="void">
				<comment>
					<description>Using the context node retrieve the descendants of this node</description>
					<attribute name="@param">
						<description>node
            is the type of node.</description>
					</attribute>
				</comment>
				<params>
					<param name="node" comment="is the type of node." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType" />
					<param name="copyInto" fulltype="org.eclipse.wst.xml.xpath2.api.ResultBuffer" type="ResultBuffer" />
					<param name="limitNode" fulltype="org.w3c.dom.Node" type="Node" />
				</params>
			</method>
			<method visibility="public" name="name" fulltype="java.lang.String" type="String" />
		</methods>
	</jelclass>
	<jelclass superclass="ForwardAxis" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ForwardAxis" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.DescendantOrSelfAxis" type="DescendantOrSelfAxis">
		<comment>
			<description>The descendant-or-self axis contains the context node and the descendants of
 the context node.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="DescendantOrSelfAxis" />
			<method visibility="public" name="iterate" fulltype="void" type="void">
				<comment>
					<description>Retrieve the the descendants of the context node and the context node
 itself.</description>
					<attribute name="@param">
						<description>node
            is the type of node.</description>
					</attribute>
				</comment>
				<params>
					<param name="node" comment="is the type of node." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType" />
					<param name="rs" fulltype="org.eclipse.wst.xml.xpath2.api.ResultBuffer" type="ResultBuffer" />
					<param name="limitNode" fulltype="org.w3c.dom.Node" type="Node" />
				</params>
			</method>
			<method visibility="public" name="name" fulltype="java.lang.String" type="String" />
		</methods>
	</jelclass>
	<jelclass superclass="Object" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal" superclassfulltype="java.lang.Object" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.DynamicContextAdapter" type="DynamicContextAdapter">
		<implements>
			<interface fulltype="org.eclipse.wst.xml.xpath2.api.DynamicContext" type="DynamicContext" />
		</implements>
		<methods>
			<constructor visibility="public" name="DynamicContextAdapter">
				<params>
					<param name="dc" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicContext" type="DynamicContext" />
				</params>
			</constructor>
			<method visibility="public" name="getLimitNode" fulltype="org.w3c.dom.Node" type="Node" />
			<method visibility="public" name="getVariable" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<params>
					<param name="name" fulltype="javax.xml.namespace.QName" type="QName" />
				</params>
			</method>
			<method visibility="public" name="resolveUri" fulltype="java.net.URI" type="URI">
				<params>
					<param name="uri" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="getCurrentDateTime" fulltype="java.util.GregorianCalendar" type="GregorianCalendar" />
			<method visibility="public" name="getTimezoneOffset" fulltype="javax.xml.datatype.Duration" type="Duration" />
			<method visibility="public" name="getDocument" fulltype="org.w3c.dom.Document" type="Document">
				<params>
					<param name="uri" fulltype="java.net.URI" type="URI" />
				</params>
			</method>
			<method visibility="public" name="getCollections" fulltype="java.util.Map" type="Map" />
			<method visibility="public" name="getDefaultCollection" fulltype="java.util.List" type="List" />
			<method visibility="public" name="getCollationProvider" fulltype="org.eclipse.wst.xml.xpath2.api.CollationProvider" type="CollationProvider" />
		</methods>
	</jelclass>
	<jelclass superclass="Object" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal" superclassfulltype="java.lang.Object" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.Focus" type="Focus">
		<comment>
			<description>set the focus from a result sequence</description>
		</comment>
		<methods>
			<constructor visibility="public" name="Focus">
				<comment>
					<description>Sets the _rs to rs and context position to 1.</description>
					<attribute name="@param">
						<description>rs
            is a ResultSequence and is set to _rs.</description>
					</attribute>
				</comment>
				<params>
					<param name="rs" comment="is a ResultSequence and is set to _rs." fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
			</constructor>
			<method visibility="public" name="context_item" returncomment="the item from _rs, or null if there is no context item." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType">
				<comment>
					<description>Retrieves previous item from current context position.</description>
					<attribute name="@return">
						<description>the item from _rs, or null if there is no context item.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="advance_cp" returncomment="the boolean." fulltype="boolean" type="boolean">
				<comment>
					<description>Checks to see if possible to advance rs.</description>
					<attribute name="@return">
						<description>the boolean.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="position" returncomment="the current position of rs." fulltype="int" type="int">
				<comment>
					<description>returns an integer of the current position.</description>
					<attribute name="@return">
						<description>the current position of rs.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="last" returncomment="the size of rs." fulltype="int" type="int">
				<comment>
					<description>returns the position of the last item in rs.</description>
					<attribute name="@return">
						<description>the size of rs.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="set_position" fulltype="void" type="void">
				<comment>
					<description>sets the position.</description>
					<attribute name="@param">
						<description>p
            is the position that is set.</description>
					</attribute>
				</comment>
				<params>
					<param name="p" comment="is the position that is set." fulltype="int" type="int" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="ForwardAxis" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ForwardAxis" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.FollowingAxis" type="FollowingAxis">
		<comment>
			<description>the following axis contains the context node&apos;s following siblings, those
 children of the context node&apos;s parent that occur after the context node in
 document order.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="FollowingAxis" />
			<method visibility="public" name="iterate" fulltype="void" type="void">
				<comment>
					<description>Return the result of FollowingAxis expression</description>
					<attribute name="@param">
						<description>node
            is the type of node.</description>
					</attribute>
				</comment>
				<params>
					<param name="node" comment="is the type of node." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType" />
					<param name="result" fulltype="org.eclipse.wst.xml.xpath2.api.ResultBuffer" type="ResultBuffer" />
					<param name="limitNode" fulltype="org.w3c.dom.Node" type="Node" />
				</params>
			</method>
			<method visibility="public" name="name" fulltype="java.lang.String" type="String" />
		</methods>
	</jelclass>
	<jelclass superclass="ForwardAxis" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ForwardAxis" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.FollowingSiblingAxis" type="FollowingSiblingAxis">
		<comment>
			<description>The following-sibling axis contains the context node&apos;s following siblings,
 those children of the context node&apos;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.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="FollowingSiblingAxis" />
			<method visibility="public" name="iterate" fulltype="void" type="void">
				<comment>
					<description>Return the result of FollowingSiblingAxis expression</description>
					<attribute name="@param">
						<description>node
            is the type of node.</description>
					</attribute>
				</comment>
				<params>
					<param name="node" comment="is the type of node." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType" />
					<param name="copyInto" fulltype="org.eclipse.wst.xml.xpath2.api.ResultBuffer" type="ResultBuffer" />
					<param name="limitNode" fulltype="org.w3c.dom.Node" type="Node" />
				</params>
			</method>
			<method visibility="public" name="name" fulltype="java.lang.String" type="String" />
		</methods>
	</jelclass>
	<jelclass abstract="true" superclass="Object" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal" superclassfulltype="java.lang.Object" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ForwardAxis" type="ForwardAxis">
		<implements>
			<interface fulltype="org.eclipse.wst.xml.xpath2.processor.internal.Axis" type="Axis" />
		</implements>
		<comment>
			<description>An axis that only ever contains the context node or nodes that are after the
 context node in document order is a forward axis.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="ForwardAxis" />
			<method visibility="public" name="principal_node_kind" returncomment="The element type." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType">
				<comment>
					<description>Return the new Element Type</description>
					<attribute name="@return">
						<description>The element type.</description>
					</attribute>
				</comment>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="XPathError" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal" serializable="true" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.XPathError" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.JFlexError" type="JFlexError">
		<comment>
			<description>Error caused by JFlex</description>
		</comment>
		<methods>
			<constructor visibility="public" name="JFlexError">
				<comment>
					<description>Constructor for JFlex error.</description>
					<attribute name="@param">
						<description>reason
            is the reason for the error.</description>
					</attribute>
				</comment>
				<params>
					<param name="reason" comment="is the reason for the error." fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
		</methods>
	</jelclass>
	<jelclass superclass="Object" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal" superclassfulltype="java.lang.Object" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.Normalizer" type="Normalizer">
		<implements>
			<interface fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor" />
		</implements>
		<comment>
			<description>Normalizer that uses XPathVisitor.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="Normalizer">
				<comment>
					<description>Static Context is set to sc</description>
					<attribute name="@param">
						<description>sc
            is the StaticContext.</description>
					</attribute>
				</comment>
				<params>
					<param name="sc" comment="is the StaticContext." fulltype="org.eclipse.wst.xml.xpath2.processor.StaticContext" type="StaticContext" />
				</params>
			</constructor>
			<method visibility="public" name="visit" returncomment="the xpath expressions." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Returns the normalized tree</description>
					<attribute name="@param">
						<description>xp
            is the xpath expression.</description>
					</attribute>
					<attribute name="@return">
						<description>the xpath expressions.</description>
					</attribute>
				</comment>
				<params>
					<param name="xp" comment="is the xpath expression." fulltype="org.eclipse.wst.xml.xpath2.processor.ast.XPath" type="XPath" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="fex expression." fulltype="java.lang.Object" type="Object">
				<comment>
					<attribute name="@param">
						<description>fex
            is the For expression.</description>
					</attribute>
					<attribute name="@return">
						<description>fex expression.</description>
					</attribute>
				</comment>
				<params>
					<param name="fex" comment="is the For expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.ForExpr" type="ForExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="qex expression." fulltype="java.lang.Object" type="Object">
				<comment>
					<attribute name="@param">
						<description>qex
            is the Quantified expression.</description>
					</attribute>
					<attribute name="@return">
						<description>qex expression.</description>
					</attribute>
				</comment>
				<params>
					<param name="qex" comment="is the Quantified expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.QuantifiedExpr" type="QuantifiedExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="ifex expression." fulltype="java.lang.Object" type="Object">
				<comment>
					<attribute name="@param">
						<description>ifex
            is the &apos;if&apos; expression.</description>
					</attribute>
					<attribute name="@return">
						<description>ifex expression.</description>
					</attribute>
				</comment>
				<params>
					<param name="ifex" comment="is the &apos;if&apos; expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.IfExpr" type="IfExpr" />
				</params>
			</method>
			<method visibility="public" name="printBinExpr" fulltype="void" type="void">
				<comment>
					<attribute name="@param">
						<description>name
            of binary expression.</description>
					</attribute>
					<attribute name="@param">
						<description>e
            is the binary expression.</description>
					</attribute>
				</comment>
				<params>
					<param name="name" comment="of binary expression." fulltype="java.lang.String" type="String" />
					<param name="e" comment="is the binary expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.BinExpr" type="BinExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="make logic expr(orex)." fulltype="java.lang.Object" type="Object">
				<comment>
					<attribute name="@param">
						<description>orex
            is the &apos;or&apos; expression.</description>
					</attribute>
					<attribute name="@return">
						<description>make logic expr(orex).</description>
					</attribute>
				</comment>
				<params>
					<param name="orex" comment="is the &apos;or&apos; expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.OrExpr" type="OrExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="make logic expr(andex)." fulltype="java.lang.Object" type="Object">
				<comment>
					<attribute name="@param">
						<description>andex
            is the &apos;and&apos; expression.</description>
					</attribute>
					<attribute name="@return">
						<description>make logic expr(andex).</description>
					</attribute>
				</comment>
				<params>
					<param name="andex" comment="is the &apos;and&apos; expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.AndExpr" type="AndExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="cmpex." fulltype="java.lang.Object" type="Object">
				<comment>
					<attribute name="@param">
						<description>cmpex
            is the compare expression.</description>
					</attribute>
					<attribute name="@return">
						<description>cmpex.</description>
					</attribute>
				</comment>
				<params>
					<param name="cmpex" comment="is the compare expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.CmpExpr" type="CmpExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a new function." fulltype="java.lang.Object" type="Object">
				<comment>
					<attribute name="@param">
						<description>rex
            is the range expression.</description>
					</attribute>
					<attribute name="@return">
						<description>a new function.</description>
					</attribute>
				</comment>
				<params>
					<param name="rex" comment="is the range expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.RangeExpr" type="RangeExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a new function." fulltype="java.lang.Object" type="Object">
				<comment>
					<attribute name="@param">
						<description>addex
            is the add expression.</description>
					</attribute>
					<attribute name="@return">
						<description>a new function.</description>
					</attribute>
				</comment>
				<params>
					<param name="addex" comment="is the add expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.AddExpr" type="AddExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a new function." fulltype="java.lang.Object" type="Object">
				<comment>
					<attribute name="@param">
						<description>subex
            is the sub expression.</description>
					</attribute>
					<attribute name="@return">
						<description>a new function.</description>
					</attribute>
				</comment>
				<params>
					<param name="subex" comment="is the sub expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.SubExpr" type="SubExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a new function." fulltype="java.lang.Object" type="Object">
				<comment>
					<attribute name="@param">
						<description>mulex
            is the multiply expression.</description>
					</attribute>
					<attribute name="@return">
						<description>a new function.</description>
					</attribute>
				</comment>
				<params>
					<param name="mulex" comment="is the multiply expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.MulExpr" type="MulExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a new function." fulltype="java.lang.Object" type="Object">
				<comment>
					<attribute name="@param">
						<description>mulex
            is the division expression.</description>
					</attribute>
					<attribute name="@return">
						<description>a new function.</description>
					</attribute>
				</comment>
				<params>
					<param name="mulex" comment="is the division expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.DivExpr" type="DivExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a new function." fulltype="java.lang.Object" type="Object">
				<comment>
					<attribute name="@param">
						<description>mulex
            is the integer division expression that always returns an
            integer.</description>
					</attribute>
					<attribute name="@return">
						<description>a new function.</description>
					</attribute>
				</comment>
				<params>
					<param name="mulex" comment="is the integer division expression that always returns an
            integer." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.IDivExpr" type="IDivExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a new function." fulltype="java.lang.Object" type="Object">
				<comment>
					<attribute name="@param">
						<description>mulex
            is the mod expression.</description>
					</attribute>
					<attribute name="@return">
						<description>a new function.</description>
					</attribute>
				</comment>
				<params>
					<param name="mulex" comment="is the mod expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.ModExpr" type="ModExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a new function." fulltype="java.lang.Object" type="Object">
				<comment>
					<attribute name="@param">
						<description>unex
            is the union expression.</description>
					</attribute>
					<attribute name="@return">
						<description>a new function.</description>
					</attribute>
				</comment>
				<params>
					<param name="unex" comment="is the union expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.UnionExpr" type="UnionExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a new function." fulltype="java.lang.Object" type="Object">
				<comment>
					<attribute name="@param">
						<description>pipex
            is the pipe expression.</description>
					</attribute>
					<attribute name="@return">
						<description>a new function.</description>
					</attribute>
				</comment>
				<params>
					<param name="pipex" comment="is the pipe expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.PipeExpr" type="PipeExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a new function." fulltype="java.lang.Object" type="Object">
				<comment>
					<attribute name="@param">
						<description>iexpr
            is the intersect expression.</description>
					</attribute>
					<attribute name="@return">
						<description>a new function.</description>
					</attribute>
				</comment>
				<params>
					<param name="iexpr" comment="is the intersect expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.IntersectExpr" type="IntersectExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a new function." fulltype="java.lang.Object" type="Object">
				<comment>
					<attribute name="@param">
						<description>eexpr
            is the except expression.</description>
					</attribute>
					<attribute name="@return">
						<description>a new function.</description>
					</attribute>
				</comment>
				<params>
					<param name="eexpr" comment="is the except expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.ExceptExpr" type="ExceptExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a ioexp." fulltype="java.lang.Object" type="Object">
				<comment>
					<attribute name="@param">
						<description>ioexp
            is the instance of expression.</description>
					</attribute>
					<attribute name="@return">
						<description>a ioexp.</description>
					</attribute>
				</comment>
				<params>
					<param name="ioexp" comment="is the instance of expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.InstOfExpr" type="InstOfExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a taexp." fulltype="java.lang.Object" type="Object">
				<comment>
					<attribute name="@param">
						<description>taexp
            is the treat as expression.</description>
					</attribute>
					<attribute name="@return">
						<description>a taexp.</description>
					</attribute>
				</comment>
				<params>
					<param name="taexp" comment="is the treat as expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.TreatAsExpr" type="TreatAsExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="cexp." fulltype="java.lang.Object" type="Object">
				<comment>
					<attribute name="@param">
						<description>cexp
            is the castable expression.</description>
					</attribute>
					<attribute name="@return">
						<description>cexp.</description>
					</attribute>
				</comment>
				<params>
					<param name="cexp" comment="is the castable expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.CastableExpr" type="CastableExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="cexp." fulltype="java.lang.Object" type="Object">
				<comment>
					<attribute name="@param">
						<description>cexp
            is the cast expression.</description>
					</attribute>
					<attribute name="@return">
						<description>cexp.</description>
					</attribute>
				</comment>
				<params>
					<param name="cexp" comment="is the cast expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.CastExpr" type="CastExpr" />
				</params>
			</method>
			<method visibility="public" name="printUnExpr" fulltype="void" type="void">
				<comment>
					<attribute name="@param">
						<description>name
            is the name.</description>
					</attribute>
					<attribute name="@param">
						<description>e
            is the Un Expression.</description>
					</attribute>
				</comment>
				<params>
					<param name="name" comment="is the name." fulltype="java.lang.String" type="String" />
					<param name="e" comment="is the Un Expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.UnExpr" type="UnExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="new sub expression" fulltype="java.lang.Object" type="Object">
				<comment>
					<attribute name="@param">
						<description>e
            is the minus expression.</description>
					</attribute>
					<attribute name="@return">
						<description>new sub expression</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the minus expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.MinusExpr" type="MinusExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="new add expression" fulltype="java.lang.Object" type="Object">
				<comment>
					<attribute name="@param">
						<description>e
            is the plus expression.</description>
					</attribute>
					<attribute name="@return">
						<description>new add expression</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the plus expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.PlusExpr" type="PlusExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="result." fulltype="java.lang.Object" type="Object">
				<comment>
					<attribute name="@param">
						<description>e
            is the xpath expression.</description>
					</attribute>
					<attribute name="@return">
						<description>result.</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the xpath expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathExpr" type="XPathExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="e" fulltype="java.lang.Object" type="Object">
				<comment>
					<attribute name="@param">
						<description>e
            is the forward step.</description>
					</attribute>
					<attribute name="@return">
						<description>e</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the forward step." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.ForwardStep" type="ForwardStep" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="e" fulltype="java.lang.Object" type="Object">
				<comment>
					<attribute name="@param">
						<description>e
            is the reverse step.</description>
					</attribute>
					<attribute name="@return">
						<description>e</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the reverse step." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.ReverseStep" type="ReverseStep" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="e" fulltype="java.lang.Object" type="Object">
				<comment>
					<attribute name="@param">
						<description>e
            is the Name test.</description>
					</attribute>
					<attribute name="@return">
						<description>e</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the Name test." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.NameTest" type="NameTest" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="e" fulltype="java.lang.Object" type="Object">
				<comment>
					<attribute name="@param">
						<description>e
            is the veriable reference.</description>
					</attribute>
					<attribute name="@return">
						<description>e</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the veriable reference." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.VarRef" type="VarRef" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="e" fulltype="java.lang.Object" type="Object">
				<comment>
					<attribute name="@param">
						<description>e
            is the string literal.</description>
					</attribute>
					<attribute name="@return">
						<description>e</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the string literal." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.StringLiteral" type="StringLiteral" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="e" fulltype="java.lang.Object" type="Object">
				<comment>
					<attribute name="@param">
						<description>e
            is the integer literal.</description>
					</attribute>
					<attribute name="@return">
						<description>e</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the integer literal." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.IntegerLiteral" type="IntegerLiteral" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="e" fulltype="java.lang.Object" type="Object">
				<comment>
					<attribute name="@param">
						<description>e
            is the double literal.</description>
					</attribute>
					<attribute name="@return">
						<description>e</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the double literal." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.DoubleLiteral" type="DoubleLiteral" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="e" fulltype="java.lang.Object" type="Object">
				<comment>
					<attribute name="@param">
						<description>e
            is the decimal literal.</description>
					</attribute>
					<attribute name="@return">
						<description>e</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the decimal literal." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.DecimalLiteral" type="DecimalLiteral" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="e" fulltype="java.lang.Object" type="Object">
				<comment>
					<attribute name="@param">
						<description>e
            is the par expression.</description>
					</attribute>
					<attribute name="@return">
						<description>e</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the par expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.ParExpr" type="ParExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="new function" fulltype="java.lang.Object" type="Object">
				<comment>
					<attribute name="@param">
						<description>e
            is the Cntx Item Expression.</description>
					</attribute>
					<attribute name="@return">
						<description>new function</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the Cntx Item Expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.CntxItemExpr" type="CntxItemExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="e" fulltype="java.lang.Object" type="Object">
				<comment>
					<attribute name="@param">
						<description>e
            is the fucntion call.</description>
					</attribute>
					<attribute name="@return">
						<description>e</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the fucntion call." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.FunctionCall" type="FunctionCall" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="e" fulltype="java.lang.Object" type="Object">
				<comment>
					<attribute name="@param">
						<description>e
            is the single type.</description>
					</attribute>
					<attribute name="@return">
						<description>e</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the single type." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.SingleType" type="SingleType" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="e" fulltype="java.lang.Object" type="Object">
				<comment>
					<attribute name="@param">
						<description>e
            is the sequence type.</description>
					</attribute>
					<attribute name="@return">
						<description>e</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the sequence type." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.SequenceType" type="SequenceType" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="e" fulltype="java.lang.Object" type="Object">
				<comment>
					<attribute name="@param">
						<description>e
            is the item type.</description>
					</attribute>
					<attribute name="@return">
						<description>e</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the item type." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.ItemType" type="ItemType" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="e" fulltype="java.lang.Object" type="Object">
				<comment>
					<attribute name="@param">
						<description>e
            is the any kind test.</description>
					</attribute>
					<attribute name="@return">
						<description>e</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the any kind test." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.AnyKindTest" type="AnyKindTest" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="e" fulltype="java.lang.Object" type="Object">
				<comment>
					<attribute name="@param">
						<description>e
            is the document test.</description>
					</attribute>
					<attribute name="@return">
						<description>e</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the document test." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.DocumentTest" type="DocumentTest" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="e" fulltype="java.lang.Object" type="Object">
				<comment>
					<attribute name="@param">
						<description>e
            is the text test.</description>
					</attribute>
					<attribute name="@return">
						<description>e</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the text test." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.TextTest" type="TextTest" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="e" fulltype="java.lang.Object" type="Object">
				<comment>
					<attribute name="@param">
						<description>e
            is the common test.</description>
					</attribute>
					<attribute name="@return">
						<description>e</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the common test." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.CommentTest" type="CommentTest" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="e" fulltype="java.lang.Object" type="Object">
				<comment>
					<attribute name="@param">
						<description>e
            is the PI test.</description>
					</attribute>
					<attribute name="@return">
						<description>e</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the PI test." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.PITest" type="PITest" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="e" fulltype="java.lang.Object" type="Object">
				<comment>
					<attribute name="@param">
						<description>e
            is the attribute test.</description>
					</attribute>
					<attribute name="@return">
						<description>e</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the attribute test." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.AttributeTest" type="AttributeTest" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="e" fulltype="java.lang.Object" type="Object">
				<comment>
					<attribute name="@param">
						<description>e
            is the schema attribute test.</description>
					</attribute>
					<attribute name="@return">
						<description>e</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the schema attribute test." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.SchemaAttrTest" type="SchemaAttrTest" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="e" fulltype="java.lang.Object" type="Object">
				<comment>
					<attribute name="@param">
						<description>e
            is the element test.</description>
					</attribute>
					<attribute name="@return">
						<description>e</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the element test." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.ElementTest" type="ElementTest" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="e" fulltype="java.lang.Object" type="Object">
				<comment>
					<attribute name="@param">
						<description>e
            is the schema element test.</description>
					</attribute>
					<attribute name="@return">
						<description>e</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the schema element test." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.SchemaElemTest" type="SchemaElemTest" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="e" fulltype="java.lang.Object" type="Object">
				<comment>
					<attribute name="@param">
						<description>e
            is the axis step.</description>
					</attribute>
					<attribute name="@return">
						<description>e</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the axis step." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.AxisStep" type="AxisStep" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="e" fulltype="java.lang.Object" type="Object">
				<comment>
					<attribute name="@param">
						<description>e
            is the filter expression.</description>
					</attribute>
					<attribute name="@return">
						<description>e</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is the filter expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.FilterExpr" type="FilterExpr" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="ReverseAxis" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ReverseAxis" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ParentAxis" type="ParentAxis">
		<comment>
			<description>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</description>
		</comment>
		<methods>
			<constructor visibility="public" name="ParentAxis" />
			<method visibility="public" name="iterate" fulltype="void" type="void">
				<comment>
					<description>returns parent accessors of the context node</description>
					<attribute name="@param">
						<description>node
            is the node type.</description>
					</attribute>
					<attribute name="@throws">
						<description>dc
             is the Dynamic context.</description>
					</attribute>
				</comment>
				<params>
					<param name="node" comment="is the node type." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType" />
					<param name="copyInto" fulltype="org.eclipse.wst.xml.xpath2.api.ResultBuffer" type="ResultBuffer" />
					<param name="limitNode" fulltype="org.w3c.dom.Node" type="Node" />
				</params>
			</method>
			<method visibility="public" name="findParent" fulltype="org.w3c.dom.Node" type="Node">
				<params>
					<param name="n" fulltype="org.w3c.dom.Node" type="Node" />
				</params>
			</method>
			<method visibility="public" name="name" fulltype="java.lang.String" type="String" />
		</methods>
	</jelclass>
	<jelclass superclass="ReverseAxis" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ReverseAxis" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.PrecedingAxis" type="PrecedingAxis">
		<comment>
			<description>the preceding axis contains all nodes that are descendants of the root of the
 tree in which the context node is found</description>
		</comment>
		<methods>
			<constructor visibility="public" name="PrecedingAxis" />
			<method visibility="public" name="iterate" fulltype="void" type="void">
				<comment>
					<description>returns preceding nodes of the context node</description>
					<attribute name="@param">
						<description>node
            is the node type.</description>
					</attribute>
					<attribute name="@throws">
						<description>dc
             is the Dynamic context.</description>
					</attribute>
				</comment>
				<params>
					<param name="node" comment="is the node type." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType" />
					<param name="result" fulltype="org.eclipse.wst.xml.xpath2.api.ResultBuffer" type="ResultBuffer" />
					<param name="limitNode" fulltype="org.w3c.dom.Node" type="Node" />
				</params>
			</method>
			<method visibility="public" name="name" fulltype="java.lang.String" type="String" />
		</methods>
	</jelclass>
	<jelclass superclass="ReverseAxis" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ReverseAxis" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.PrecedingSiblingAxis" type="PrecedingSiblingAxis">
		<comment>
			<description>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</description>
		</comment>
		<methods>
			<constructor visibility="public" name="PrecedingSiblingAxis" />
			<method visibility="public" name="iterate" fulltype="void" type="void">
				<comment>
					<description>returns preceding nodes of the context node</description>
					<attribute name="@param">
						<description>node
            is the node type.</description>
					</attribute>
					<attribute name="@throws">
						<description>dc
             is the Dynamic context.</description>
					</attribute>
				</comment>
				<params>
					<param name="node" comment="is the node type." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType" />
					<param name="copyInto" fulltype="org.eclipse.wst.xml.xpath2.api.ResultBuffer" type="ResultBuffer" />
					<param name="limitNode" fulltype="org.w3c.dom.Node" type="Node" />
				</params>
			</method>
			<method visibility="public" name="name" fulltype="java.lang.String" type="String" />
		</methods>
	</jelclass>
	<jelclass superclass="ResultSequence" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.RangeResultSequence" type="RangeResultSequence">
		<comment>
			<description>A range expression can be used to construct a sequence of consecutive
 integers.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="RangeResultSequence">
				<comment>
					<description>set the start and end of the range result sequence</description>
					<attribute name="@param">
						<description>start
            is the integer position of the start of range.</description>
					</attribute>
					<attribute name="@param">
						<description>end
            is the integer position of the end of range.</description>
					</attribute>
				</comment>
				<params>
					<param name="start" comment="is the integer position of the start of range." fulltype="int" type="int" />
					<param name="end" comment="is the integer position of the end of range." fulltype="int" type="int" />
				</params>
			</constructor>
			<method visibility="public" name="add" fulltype="void" type="void">
				<comment>
					<description>item is an integer to add to the range.</description>
					<attribute name="@param">
						<description>item
            is an integer.</description>
					</attribute>
				</comment>
				<params>
					<param name="item" comment="is an integer." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
				</params>
			</method>
			<method visibility="public" name="concat" fulltype="void" type="void">
				<comment>
					<description>remove the tail from the range given.</description>
					<attribute name="@param">
						<description>rs
            is the range</description>
					</attribute>
				</comment>
				<params>
					<param name="rs" comment="is the range" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
			</method>
			<method visibility="public" name="iterator" returncomment="tail" fulltype="java.util.ListIterator" type="ListIterator">
				<comment>
					<description>interate through range.</description>
					<attribute name="@return">
						<description>tail</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="get" returncomment="item from range" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType">
				<comment>
					<attribute name="@return">
						<description>item from range</description>
					</attribute>
				</comment>
				<params>
					<param name="i" fulltype="int" type="int" />
				</params>
			</method>
			<method visibility="public" name="size" returncomment="size" fulltype="int" type="int">
				<comment>
					<attribute name="@return">
						<description>size</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="clear" fulltype="void" type="void">
				<comment>
					<description>clear range</description>
				</comment>
			</method>
			<method visibility="public" name="create_new" returncomment="null" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>create new result sequence</description>
					<attribute name="@return">
						<description>null</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="first" returncomment="first item in range" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType">
				<comment>
					<attribute name="@return">
						<description>first item in range</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="firstValue" returncomment="first item in range" fulltype="java.lang.Object" type="Object">
				<comment>
					<attribute name="@return">
						<description>first item in range</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="empty" returncomment="boolean" fulltype="boolean" type="boolean">
				<comment>
					<description>asks if the range is empty?</description>
					<attribute name="@return">
						<description>boolean</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="sequenceType" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.ItemType" type="ItemType" />
			<method visibility="public" name="release" fulltype="void" type="void">
				<comment>
					<description>release</description>
				</comment>
			</method>
		</methods>
	</jelclass>
	<jelclass abstract="true" superclass="Object" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal" superclassfulltype="java.lang.Object" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ReverseAxis" type="ReverseAxis">
		<implements>
			<interface fulltype="org.eclipse.wst.xml.xpath2.processor.internal.Axis" type="Axis" />
		</implements>
		<comment>
			<description>An axis that only ever contains the context node or nodes that are before the
 context node in document order is a reverse axis.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="ReverseAxis" />
			<method visibility="public" name="principal_node_kind" returncomment="new element type" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType">
				<comment>
					<attribute name="@return">
						<description>new element type</description>
					</attribute>
				</comment>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="ForwardAxis" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ForwardAxis" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.SelfAxis" type="SelfAxis">
		<comment>
			<description>Create a result sequence that contains the context node</description>
		</comment>
		<methods>
			<constructor visibility="public" name="SelfAxis" />
			<method visibility="public" name="iterate" fulltype="void" type="void">
				<comment>
					<description>create new rs and add the context node to it</description>
					<attribute name="@param">
						<description>node
            is the node type</description>
					</attribute>
				</comment>
				<params>
					<param name="node" comment="is the node type" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType" />
					<param name="copyInto" fulltype="org.eclipse.wst.xml.xpath2.api.ResultBuffer" type="ResultBuffer" />
					<param name="limitNode" fulltype="org.w3c.dom.Node" type="Node" />
				</params>
			</method>
			<method visibility="public" name="name" fulltype="java.lang.String" type="String" />
		</methods>
	</jelclass>
	<jelclass superclass="Object" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal" superclassfulltype="java.lang.Object" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.SeqType" type="SeqType">
		<comment>
			<description>represents a Sequence types used for matching expected arguments of functions</description>
		</comment>
		<fields>
			<field final="true" static="true" const="0" visibility="public" name="OCC_NONE" constexpr="0" fulltype="int" type="int" />
			<field final="true" static="true" const="1" visibility="public" name="OCC_STAR" constexpr="1" fulltype="int" type="int" />
			<field final="true" static="true" const="2" visibility="public" name="OCC_PLUS" constexpr="2" fulltype="int" type="int" />
			<field final="true" static="true" const="3" visibility="public" name="OCC_QMARK" constexpr="3" fulltype="int" type="int" />
			<field final="true" static="true" const="4" visibility="public" name="OCC_EMPTY" constexpr="4" fulltype="int" type="int" />
			<field final="true" static="true" const="http://www.w3.org/2001/XMLSchema" visibility="public" name="XML_SCHEMA_NS" constexpr="&quot;http://www.w3.org/2001/XMLSchema&quot;" fulltype="java.lang.String" type="String">
				<comment>
					<description>Path to w3.org XML Schema specification.</description>
				</comment>
			</field>
		</fields>
		<methods>
			<constructor visibility="public" name="SeqType">
				<comment>
					<description>sequence type</description>
					<attribute name="@param">
						<description>t
            is any type</description>
					</attribute>
					<attribute name="@param">
						<description>occ
            is an integer in the sequence.</description>
					</attribute>
				</comment>
				<params>
					<param name="t" comment="is any type" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="occ" comment="is an integer in the sequence." fulltype="int" type="int" />
				</params>
			</constructor>
			<constructor visibility="public" name="SeqType">
				<comment>
					<attribute name="@param">
						<description>occ
            is an integer in the sequence.</description>
					</attribute>
				</comment>
				<params>
					<param name="occ" comment="is an integer in the sequence." fulltype="int" type="int" />
				</params>
			</constructor>
			<constructor visibility="public" name="SeqType">
				<comment>
					<attribute name="@param">
						<description>type_class
            is a class which represents the expected type</description>
					</attribute>
					<attribute name="@param">
						<description>occ
            is an integer in the sequence.</description>
					</attribute>
				</comment>
				<params>
					<param name="type_class" comment="is a class which represents the expected type" fulltype="java.lang.Class" type="Class" />
					<param name="occ" comment="is an integer in the sequence." fulltype="int" type="int" />
				</params>
			</constructor>
			<constructor visibility="public" name="SeqType">
				<comment>
					<attribute name="@param">
						<description>st
            is a sequence type.</description>
					</attribute>
					<attribute name="@param">
						<description>sc
            is a static context.</description>
					</attribute>
				</comment>
				<params>
					<param name="st" comment="is a sequence type." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.SequenceType" type="SequenceType" />
					<param name="sc" comment="is a static context." fulltype="org.eclipse.wst.xml.xpath2.api.StaticContext" type="StaticContext" />
					<param name="rs" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
			</constructor>
			<constructor visibility="public" name="SeqType">
				<comment>
					<attribute name="@param">
						<description>t
            is an any type.</description>
					</attribute>
				</comment>
				<params>
					<param name="t" comment="is an any type." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
				</params>
			</constructor>
			<method static="true" visibility="public" name="mapSequenceTypeOccurrence" fulltype="int" type="int">
				<params>
					<param name="occurrence" fulltype="int" type="int" />
				</params>
			</method>
			<method visibility="public" name="occurence" returncomment="an integer." fulltype="int" type="int">
				<comment>
					<attribute name="@return">
						<description>an integer.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="type" returncomment="a type." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType">
				<comment>
					<attribute name="@return">
						<description>a type.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="match" returncomment="a result sequence" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>matches args</description>
					<attribute name="@param">
						<description>args
            is a result sequence</description>
					</attribute>
					<attribute name="@throws">
						<description>a
             dynamic error</description>
					</attribute>
					<attribute name="@return">
						<description>a result sequence</description>
					</attribute>
				</comment>
				<params>
					<param name="args" comment="is a result sequence" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="StaticNameError" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal" serializable="true" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.StaticNameError" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.StaticAttrNameError" type="StaticAttrNameError">
		<comment>
			<description>Error caused by static attribute name.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="StaticAttrNameError">
				<comment>
					<description>Constructor for static attribute name error</description>
					<attribute name="@param">
						<description>reason
            is the reason for the error.</description>
					</attribute>
				</comment>
				<params>
					<param name="reason" comment="is the reason for the error." fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
		</methods>
	</jelclass>
	<jelclass superclass="Object" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal" superclassfulltype="java.lang.Object" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.StaticContextAdapter" type="StaticContextAdapter">
		<implements>
			<interface fulltype="org.eclipse.wst.xml.xpath2.api.StaticContext" type="StaticContext" />
		</implements>
		<methods>
			<constructor visibility="public" name="StaticContextAdapter">
				<params>
					<param name="sc" fulltype="org.eclipse.wst.xml.xpath2.processor.StaticContext" type="StaticContext" />
				</params>
			</constructor>
			<method visibility="public" name="isXPath1Compatible" fulltype="boolean" type="boolean" />
			<method visibility="public" name="getInScopeVariables" fulltype="org.eclipse.wst.xml.xpath2.api.StaticVariableResolver" type="StaticVariableResolver" />
			<method visibility="public" name="getInitialContextType" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
			<method visibility="public" name="getFunctionLibraries" fulltype="java.util.Map" type="Map" />
			<method visibility="public" name="getCollationProvider" fulltype="org.eclipse.wst.xml.xpath2.api.CollationProvider" type="CollationProvider" />
			<method visibility="public" name="getBaseUri" fulltype="java.net.URI" type="URI" />
			<method visibility="public" name="getNamespaceContext" fulltype="javax.xml.namespace.NamespaceContext" type="NamespaceContext" />
			<method visibility="public" name="getDefaultNamespace" fulltype="java.lang.String" type="String" />
			<method visibility="public" name="getDefaultFunctionNamespace" fulltype="java.lang.String" type="String" />
			<method visibility="public" name="getTypeModel" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel" type="TypeModel" />
			<method visibility="public" name="resolveFunction" fulltype="org.eclipse.wst.xml.xpath2.api.Function" type="Function">
				<params>
					<param name="name" fulltype="javax.xml.namespace.QName" type="QName" />
					<param name="arity" fulltype="int" type="int" />
				</params>
			</method>
			<method visibility="public" name="getCollectionType" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition">
				<params>
					<param name="collectionName" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="getDefaultCollectionType" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
			<method visibility="public" name="getDocumentType" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.ItemType" type="ItemType">
				<params>
					<param name="documentUri" fulltype="java.net.URI" type="URI" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="StaticNameError" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal" serializable="true" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.StaticNameError" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.StaticElemNameError" type="StaticElemNameError">
		<comment>
			<description>Error caused by static element name.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="StaticElemNameError">
				<comment>
					<description>Constructor for static element name error</description>
					<attribute name="@param">
						<description>reason
            is the reason for the error.</description>
					</attribute>
				</comment>
				<params>
					<param name="reason" comment="is the reason for the error." fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
		</methods>
	</jelclass>
	<jelclass superclass="StaticNameError" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal" serializable="true" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.StaticNameError" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.StaticFunctNameError" type="StaticFunctNameError">
		<comment>
			<description>Error caused by static function name.</description>
		</comment>
		<fields>
			<field final="true" static="true" const="XPST0017" visibility="public" name="FUNCTION_NOT_FOUND" constexpr="&quot;XPST0017&quot;" fulltype="java.lang.String" type="String" />
		</fields>
		<methods>
			<constructor visibility="public" name="StaticFunctNameError">
				<comment>
					<description>Constructor for static function name error</description>
					<attribute name="@param">
						<description>reason
            is the reason for the error.</description>
					</attribute>
				</comment>
				<params>
					<param name="reason" comment="is the reason for the error." fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
		</methods>
	</jelclass>
	<jelclass superclass="StaticError" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal" serializable="true" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.StaticError" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.StaticNameError" type="StaticNameError">
		<comment>
			<description>Error caused by static name.</description>
		</comment>
		<fields>
			<field final="true" static="true" const="XPST0008" visibility="public" name="NAME_NOT_FOUND" constexpr="&quot;XPST0008&quot;" fulltype="java.lang.String" type="String" />
			<field final="true" static="true" const="XPST0081" visibility="public" name="PREFIX_NOT_FOUND" constexpr="&quot;XPST0081&quot;" fulltype="java.lang.String" type="String" />
		</fields>
		<methods>
			<constructor visibility="public" name="StaticNameError">
				<comment>
					<description>Constructor for static name error</description>
					<attribute name="@param">
						<description>code
            is the code.</description>
					</attribute>
					<attribute name="@param">
						<description>reason
            is the reason for the error.</description>
					</attribute>
				</comment>
				<params>
					<param name="code" comment="is the code." fulltype="java.lang.String" type="String" />
					<param name="reason" comment="is the reason for the error." fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
			<constructor visibility="public" name="StaticNameError">
				<comment>
					<description>Constructor for static name error</description>
					<attribute name="@param">
						<description>reason
            is the reason for the error.</description>
					</attribute>
				</comment>
				<params>
					<param name="reason" comment="is the reason for the error." fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
		</methods>
	</jelclass>
	<jelclass superclass="StaticNameError" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal" serializable="true" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.StaticNameError" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.StaticNsNameError" type="StaticNsNameError">
		<comment>
			<description>Static namespace name error class.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="StaticNsNameError">
				<params>
					<param name="reason" fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
			<method static="true" visibility="public" name="unknown_prefix" returncomment="the error." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.StaticNsNameError" type="StaticNsNameError">
				<comment>
					<description>Constructor.</description>
					<attribute name="@param">
						<description>pref
            is the unknown prefix.</description>
					</attribute>
					<attribute name="@return">
						<description>the error.</description>
					</attribute>
				</comment>
				<params>
					<param name="pref" comment="is the unknown prefix." fulltype="java.lang.String" type="String" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="StaticNameError" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal" serializable="true" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.StaticNameError" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.StaticTypeNameError" type="StaticTypeNameError">
		<comment>
			<description>Static type name error class.</description>
		</comment>
		<fields>
			<field final="true" static="true" const="XPST0051" visibility="public" name="TYPE_NOT_FOUND" constexpr="&quot;XPST0051&quot;" fulltype="java.lang.String" type="String" />
		</fields>
		<methods>
			<constructor visibility="public" name="StaticTypeNameError">
				<comment>
					<description>Constructor.</description>
					<attribute name="@param">
						<description>reason
            is the reason for the error.</description>
					</attribute>
				</comment>
				<params>
					<param name="reason" comment="is the reason for the error." fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
		</methods>
	</jelclass>
	<jelclass superclass="StaticNameError" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal" serializable="true" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.StaticNameError" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.StaticVarNameError" type="StaticVarNameError">
		<comment>
			<description>Static variable name error class.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="StaticVarNameError">
				<comment>
					<description>Constructor.</description>
					<attribute name="@param">
						<description>reason
            is the reason for the error.</description>
					</attribute>
				</comment>
				<params>
					<param name="reason" comment="is the reason for the error." fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
		</methods>
	</jelclass>
	<jelclass superclass="XPathException" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal" serializable="true" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.XPathException" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.TypeError" type="TypeError">
		<comment>
			<description>Error caused by bad types.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="TypeError">
				<comment>
					<description>Constructor for type error.</description>
					<attribute name="@param">
						<description>code
            is the error code.</description>
					</attribute>
					<attribute name="@param">
						<description>err
            is the reason for the error.</description>
					</attribute>
				</comment>
				<params>
					<param name="code" comment="is the error code." fulltype="java.lang.String" type="String" />
					<param name="err" comment="is the reason for the error." fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
			<method visibility="public" name="code" returncomment="The error code." fulltype="java.lang.String" type="String">
				<comment>
					<description>Get the error code.</description>
					<attribute name="@return">
						<description>The error code.</description>
					</attribute>
				</comment>
			</method>
			<method static="true" visibility="public" name="ci_not_node" returncomment="the error." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.TypeError" type="TypeError">
				<comment>
					<description>&quot;Factory&quot; for building errors</description>
					<attribute name="@param">
						<description>err
            is the reason for the error.</description>
					</attribute>
					<attribute name="@return">
						<description>the error.</description>
					</attribute>
				</comment>
				<params>
					<param name="err" comment="is the reason for the error." fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method static="true" visibility="public" name="mixed_vals" returncomment="the error." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.TypeError" type="TypeError">
				<comment>
					<description>&quot;Factory&quot; for building errors</description>
					<attribute name="@param">
						<description>err
            is the reason for the error.</description>
					</attribute>
					<attribute name="@return">
						<description>the error.</description>
					</attribute>
				</comment>
				<params>
					<param name="err" comment="is the reason for the error." fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method static="true" visibility="public" name="step_conatins_atoms" returncomment="the error." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.TypeError" type="TypeError">
				<comment>
					<description>&quot;Factory&quot; for building errors</description>
					<attribute name="@param">
						<description>err
            is the reason for the error.</description>
					</attribute>
					<attribute name="@return">
						<description>the error.</description>
					</attribute>
				</comment>
				<params>
					<param name="err" comment="is the reason for the error." fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method static="true" visibility="public" name="invalid_type" returncomment="the error." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.TypeError" type="TypeError">
				<comment>
					<description>&quot;Factory&quot; for building errors</description>
					<attribute name="@param">
						<description>err
            is the reason for the error.</description>
					</attribute>
					<attribute name="@return">
						<description>the error.</description>
					</attribute>
				</comment>
				<params>
					<param name="err" comment="is the reason for the error." fulltype="java.lang.String" type="String" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="lr_parser" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal" superclassfulltype="java_cup.runtime.lr_parser" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.XPathCup" type="XPathCup">
		<comment>
			<description>CUP v0.10k generated parser.</description>
			<attribute name="@version">
				<description>Fri Jun 25 01:11:06 CEST 2010</description>
			</attribute>
		</comment>
		<fields>
			<field final="true" static="true" visibility="protected" name="_production_table" fulltype="short[][]" type="short">
				<comment>
					<description>Production table.</description>
				</comment>
			</field>
			<field final="true" static="true" visibility="protected" name="_action_table" fulltype="short[][]" type="short">
				<comment>
					<description>Parse-action table.</description>
				</comment>
			</field>
			<field final="true" static="true" visibility="protected" name="_reduce_table" fulltype="short[][]" type="short">
				<comment>
					<description>&lt;code&gt;reduce_goto&lt;/code&gt; table.</description>
				</comment>
			</field>
			<field visibility="protected" name="action_obj" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.CUP$XPathCup$actions" type="CUP$XPathCup$actions">
				<comment>
					<description>Instance of action encapsulation class.</description>
				</comment>
			</field>
		</fields>
		<methods>
			<constructor visibility="public" name="XPathCup">
				<comment>
					<description>Default constructor.</description>
				</comment>
			</constructor>
			<constructor visibility="public" name="XPathCup">
				<comment>
					<description>Constructor which sets the default scanner.</description>
				</comment>
				<params>
					<param name="s" fulltype="java_cup.runtime.Scanner" type="java_cup.runtime.Scanner" />
				</params>
			</constructor>
			<method visibility="public" name="production_table" fulltype="short[][]" type="short">
				<comment>
					<description>Access to production table.</description>
				</comment>
			</method>
			<method visibility="public" name="action_table" fulltype="short[][]" type="short">
				<comment>
					<description>Access to parse-action table.</description>
				</comment>
			</method>
			<method visibility="public" name="reduce_table" fulltype="short[][]" type="short">
				<comment>
					<description>Access to &lt;code&gt;reduce_goto&lt;/code&gt; table.</description>
				</comment>
			</method>
			<method visibility="protected" name="init_actions" fulltype="void" type="void">
				<comment>
					<description>Action encapsulation object initializer.</description>
				</comment>
			</method>
			<method visibility="public" name="do_action" fulltype="java_cup.runtime.Symbol" type="java_cup.runtime.Symbol">
				<comment>
					<description>Invoke a user supplied parse action.</description>
				</comment>
				<params>
					<param name="act_num" fulltype="int" type="int" />
					<param name="parser" fulltype="java_cup.runtime.lr_parser" type="java_cup.runtime.lr_parser" />
					<param name="stack" fulltype="java.util.Stack" type="Stack" />
					<param name="top" fulltype="int" type="int" />
				</params>
				<exceptions>
					<exception fulltype="java.lang.Exception" type="Exception" />
				</exceptions>
			</method>
			<method visibility="public" name="start_state" fulltype="int" type="int">
				<comment>
					<description>Indicates start state.</description>
				</comment>
			</method>
			<method visibility="public" name="start_production" fulltype="int" type="int">
				<comment>
					<description>Indicates start production.</description>
				</comment>
			</method>
			<method visibility="public" name="EOF_sym" fulltype="int" type="int">
				<comment>
					<description>&lt;code&gt;EOF&lt;/code&gt; Symbol index.</description>
				</comment>
			</method>
			<method visibility="public" name="error_sym" fulltype="int" type="int">
				<comment>
					<description>&lt;code&gt;error&lt;/code&gt; Symbol index.</description>
				</comment>
			</method>
			<method visibility="public" name="report_error" fulltype="void" type="void">
				<params>
					<param name="message" fulltype="java.lang.String" type="String" />
					<param name="info" fulltype="java.lang.Object" type="Object" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="Object" visibility="package-private" package="org.eclipse.wst.xml.xpath2.processor.internal" superclassfulltype="java.lang.Object" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.CUP$XPathCup$actions" type="CUP$XPathCup$actions">
		<comment>
			<description>Cup generated class to encapsulate user supplied action code.</description>
		</comment>
		<methods>
			<constructor visibility="package-private" name="CUP$XPathCup$actions">
				<comment>
					<description>Constructor</description>
				</comment>
				<params>
					<param name="parser" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.XPathCup" type="XPathCup" />
				</params>
			</constructor>
			<method final="true" visibility="public" name="CUP$XPathCup$do_action" fulltype="java_cup.runtime.Symbol" type="java_cup.runtime.Symbol">
				<comment>
					<description>Method with the actual generated action code.</description>
				</comment>
				<params>
					<param name="CUP$XPathCup$act_num" fulltype="int" type="int" />
					<param name="CUP$XPathCup$parser" fulltype="java_cup.runtime.lr_parser" type="java_cup.runtime.lr_parser" />
					<param name="CUP$XPathCup$stack" fulltype="java.util.Stack" type="Stack" />
					<param name="CUP$XPathCup$top" fulltype="int" type="int" />
				</params>
				<exceptions>
					<exception fulltype="java.lang.Exception" type="Exception" />
				</exceptions>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="XPathCup" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.XPathCup" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.XPathCupRestricted" type="XPathCupRestricted">
		<methods>
			<constructor visibility="public" name="XPathCupRestricted">
				<comment>
					<description>Default constructor.</description>
				</comment>
			</constructor>
			<constructor visibility="public" name="XPathCupRestricted">
				<comment>
					<description>Constructor which sets the default scanner.</description>
				</comment>
				<params>
					<param name="s" fulltype="java_cup.runtime.Scanner" type="java_cup.runtime.Scanner" />
				</params>
			</constructor>
			<method visibility="public" name="do_action" fulltype="java_cup.runtime.Symbol" type="java_cup.runtime.Symbol">
				<comment>
					<description>Invoke a user supplied parse action.</description>
				</comment>
				<params>
					<param name="act_num" fulltype="int" type="int" />
					<param name="parser" fulltype="java_cup.runtime.lr_parser" type="java_cup.runtime.lr_parser" />
					<param name="stack" fulltype="java.util.Stack" type="Stack" />
					<param name="top" fulltype="int" type="int" />
				</params>
				<exceptions>
					<exception fulltype="java.lang.Exception" type="Exception" />
				</exceptions>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="Error" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal" serializable="true" superclassfulltype="java.lang.Error" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.XPathError" type="XPathError">
		<comment>
			<description>This error is thrown when there is a problem with an XPath exception.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="XPathError">
				<comment>
					<description>Constructor for XPathError</description>
					<attribute name="@param">
						<description>reason
            Is the reason why the error has been thrown.</description>
					</attribute>
				</comment>
				<params>
					<param name="reason" comment="Is the reason why the error has been thrown." fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
			<method visibility="public" name="reason" returncomment="the reason why the error has been throw." fulltype="java.lang.String" type="String">
				<comment>
					<description>The reason why the error has been thrown.</description>
					<attribute name="@return">
						<description>the reason why the error has been throw.</description>
					</attribute>
				</comment>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="Object" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal" superclassfulltype="java.lang.Object" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.XPathFlex" type="XPathFlex">
		<comment>
			<description>This class is a scanner generated by 
 &lt;a href=&quot;http://www.jflex.de/&quot;&gt;JFlex&lt;/a&gt; 1.4.3
 on 12/14/09 2:02 AM from the specification file
 &lt;tt&gt;/Users/jesper/Documents/workspace-3.5M5/org.eclipse.wst.xml.xpath2.processor/grammars/xpath.lex&lt;/tt&gt;</description>
		</comment>
		<fields>
			<field final="true" static="true" const="-1" visibility="public" name="YYEOF" constexpr="-1" fulltype="int" type="int">
				<comment>
					<description>This character denotes the end of file</description>
				</comment>
			</field>
			<field final="true" static="true" const="0" visibility="public" name="YYINITIAL" constexpr="0" fulltype="int" type="int">
				<comment>
					<description>lexical states</description>
				</comment>
			</field>
			<field final="true" static="true" const="2" visibility="public" name="COMMENT" constexpr="2" fulltype="int" type="int" />
		</fields>
		<methods>
			<constructor visibility="public" name="XPathFlex">
				<comment>
					<description>Creates a new scanner
 There is also a java.io.InputStream version of this constructor.</description>
					<attribute name="@param">
						<description>in  the java.io.Reader to read input from.</description>
					</attribute>
				</comment>
				<params>
					<param name="in" comment="the java.io.Reader to read input from." fulltype="java.io.Reader" type="Reader" />
				</params>
			</constructor>
			<constructor visibility="package-private" name="XPathFlex">
				<comment>
					<description>Creates a new scanner.
 There is also java.io.Reader version of this constructor.</description>
					<attribute name="@param">
						<description>in  the java.io.Inputstream to read input from.</description>
					</attribute>
				</comment>
				<params>
					<param name="in" comment="the java.io.Inputstream to read input from." fulltype="java.io.InputStream" type="InputStream" />
				</params>
			</constructor>
			<method visibility="public" name="lineno" fulltype="int" type="int" />
			<method visibility="public" name="colno" fulltype="int" type="int" />
			<method final="true" visibility="public" name="yyclose" fulltype="void" type="void">
				<comment>
					<description>Closes the input stream.</description>
				</comment>
				<exceptions>
					<exception fulltype="java.io.IOException" type="IOException" />
				</exceptions>
			</method>
			<method final="true" visibility="public" name="yyreset" fulltype="void" type="void">
				<comment>
					<description>Resets the scanner to read from a new input stream.
 Does not close the old reader.

 All internal variables are reset, the old input stream 
 &lt;b&gt;cannot&lt;/b&gt; be reused (internal buffer is discarded and lost).
 Lexical state is set to &lt;tt&gt;ZZ_INITIAL&lt;/tt&gt;.</description>
					<attribute name="@param">
						<description>reader   the new input stream</description>
					</attribute>
				</comment>
				<params>
					<param name="reader" comment="the new input stream" fulltype="java.io.Reader" type="Reader" />
				</params>
			</method>
			<method final="true" visibility="public" name="yystate" fulltype="int" type="int">
				<comment>
					<description>Returns the current lexical state.</description>
				</comment>
			</method>
			<method final="true" visibility="public" name="yybegin" fulltype="void" type="void">
				<comment>
					<description>Enters a new lexical state</description>
					<attribute name="@param">
						<description>newState the new lexical state</description>
					</attribute>
				</comment>
				<params>
					<param name="newState" comment="the new lexical state" fulltype="int" type="int" />
				</params>
			</method>
			<method final="true" visibility="public" name="yytext" fulltype="java.lang.String" type="String">
				<comment>
					<description>Returns the text matched by the current regular expression.</description>
				</comment>
			</method>
			<method final="true" visibility="public" name="yycharat" returncomment="the character at position pos" fulltype="char" type="char">
				<comment>
					<description>Returns the character at position &lt;tt&gt;pos&lt;/tt&gt; from the 
 matched text. 
 
 It is equivalent to yytext().charAt(pos), but faster</description>
					<attribute name="@param">
						<description>pos the position of the character to fetch. 
            A value from 0 to yylength()-1.</description>
					</attribute>
					<attribute name="@return">
						<description>the character at position pos</description>
					</attribute>
				</comment>
				<params>
					<param name="pos" comment="the position of the character to fetch. 
            A value from 0 to yylength()-1." fulltype="int" type="int" />
				</params>
			</method>
			<method final="true" visibility="public" name="yylength" fulltype="int" type="int">
				<comment>
					<description>Returns the length of the matched text region.</description>
				</comment>
			</method>
			<method visibility="public" name="yypushback" fulltype="void" type="void">
				<comment>
					<description>Pushes the specified amount of characters back into the input stream.

 They will be read again by then next call of the scanning method</description>
					<attribute name="@param">
						<description>number  the number of characters to be read again.
                This number must not be greater than yylength()!</description>
					</attribute>
				</comment>
				<params>
					<param name="number" comment="the number of characters to be read again.
                This number must not be greater than yylength()!" fulltype="int" type="int" />
				</params>
			</method>
			<method visibility="public" name="next_token" returncomment="the next token" fulltype="java_cup.runtime.Symbol" type="java_cup.runtime.Symbol">
				<comment>
					<description>Resumes scanning until the next regular expression is matched,
 the end of input is encountered or an I/O-Error occurs.</description>
					<attribute name="@return">
						<description>the next token</description>
					</attribute>
					<attribute name="@exception">
						<description>java.io.IOException  if any I/O-Error occurs</description>
					</attribute>
				</comment>
				<exceptions>
					<exception fulltype="java.io.IOException" type="IOException" />
				</exceptions>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="Object" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal" superclassfulltype="java.lang.Object" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.XpathSym" type="XpathSym">
		<comment>
			<description>CUP generated class containing symbol constants.</description>
		</comment>
		<fields>
			<field final="true" static="true" const="32" visibility="public" name="DESCENDANT_OR_SELF" constexpr="32" fulltype="int" type="int" />
			<field final="true" static="true" const="56" visibility="public" name="AS" constexpr="56" fulltype="int" type="int" />
			<field final="true" static="true" const="45" visibility="public" name="GT" constexpr="45" fulltype="int" type="int" />
			<field final="true" static="true" const="34" visibility="public" name="FOLLOWING" constexpr="34" fulltype="int" type="int" />
			<field final="true" static="true" const="19" visibility="public" name="FORWARD_SLASHSLASH" constexpr="19" fulltype="int" type="int" />
			<field final="true" static="true" const="36" visibility="public" name="PARENT" constexpr="36" fulltype="int" type="int" />
			<field final="true" static="true" const="46" visibility="public" name="GE" constexpr="46" fulltype="int" type="int" />
			<field final="true" static="true" const="75" visibility="public" name="DOCUMENT_NODE" constexpr="75" fulltype="int" type="int" />
			<field final="true" static="true" const="35" visibility="public" name="NAMESPACE" constexpr="35" fulltype="int" type="int" />
			<field final="true" static="true" const="18" visibility="public" name="FORWARD_SLASH" constexpr="18" fulltype="int" type="int" />
			<field final="true" static="true" const="55" visibility="public" name="TREAT" constexpr="55" fulltype="int" type="int" />
			<field final="true" static="true" const="74" visibility="public" name="NODE" constexpr="74" fulltype="int" type="int" />
			<field final="true" static="true" const="24" visibility="public" name="COMMA" constexpr="24" fulltype="int" type="int" />
			<field final="true" static="true" const="37" visibility="public" name="ANCESTOR" constexpr="37" fulltype="int" type="int" />
			<field final="true" static="true" const="43" visibility="public" name="LT" constexpr="43" fulltype="int" type="int" />
			<field final="true" static="true" const="83" visibility="public" name="INTEGER" constexpr="83" fulltype="int" type="int" />
			<field final="true" static="true" const="84" visibility="public" name="DOUBLE" constexpr="84" fulltype="int" type="int" />
			<field final="true" static="true" const="28" visibility="public" name="CHILD" constexpr="28" fulltype="int" type="int" />
			<field final="true" static="true" const="33" visibility="public" name="FOLLOWING_SIBLING" constexpr="33" fulltype="int" type="int" />
			<field final="true" static="true" const="66" visibility="public" name="EVERY" constexpr="66" fulltype="int" type="int" />
			<field final="true" static="true" const="31" visibility="public" name="SELF" constexpr="31" fulltype="int" type="int" />
			<field final="true" static="true" const="44" visibility="public" name="LE" constexpr="44" fulltype="int" type="int" />
			<field final="true" static="true" const="80" visibility="public" name="ELEMENT" constexpr="80" fulltype="int" type="int" />
			<field final="true" static="true" const="76" visibility="public" name="TEXT" constexpr="76" fulltype="int" type="int" />
			<field final="true" static="true" const="53" visibility="public" name="INSTANCE" constexpr="53" fulltype="int" type="int" />
			<field final="true" static="true" const="11" visibility="public" name="NOTEQUALS" constexpr="11" fulltype="int" type="int" />
			<field final="true" static="true" const="68" visibility="public" name="THEN" constexpr="68" fulltype="int" type="int" />
			<field final="true" static="true" const="81" visibility="public" name="SCHEMA_ELEMENT" constexpr="81" fulltype="int" type="int" />
			<field final="true" static="true" const="79" visibility="public" name="SCHEMA_ATTRIBUTE" constexpr="79" fulltype="int" type="int" />
			<field final="true" static="true" const="40" visibility="public" name="ANCESTOR_OR_SELF" constexpr="40" fulltype="int" type="int" />
			<field final="true" static="true" const="41" visibility="public" name="EQ" constexpr="41" fulltype="int" type="int" />
			<field final="true" static="true" const="39" visibility="public" name="PRECEDING" constexpr="39" fulltype="int" type="int" />
			<field final="true" static="true" const="49" visibility="public" name="MOD" constexpr="49" fulltype="int" type="int" />
			<field final="true" static="true" const="21" visibility="public" name="AT_SYM" constexpr="21" fulltype="int" type="int" />
			<field final="true" static="true" const="25" visibility="public" name="DOLLAR" constexpr="25" fulltype="int" type="int" />
			<field final="true" static="true" const="52" visibility="public" name="EXCEPT" constexpr="52" fulltype="int" type="int" />
			<field final="true" static="true" const="12" visibility="public" name="LESSTHAN" constexpr="12" fulltype="int" type="int" />
			<field final="true" static="true" const="9" visibility="public" name="PIPE" constexpr="9" fulltype="int" type="int" />
			<field final="true" static="true" const="13" visibility="public" name="LESSEQUAL" constexpr="13" fulltype="int" type="int" />
			<field final="true" static="true" const="27" visibility="public" name="QUESTIONMARK" constexpr="27" fulltype="int" type="int" />
			<field final="true" static="true" const="6" visibility="public" name="PLUS" constexpr="6" fulltype="int" type="int" />
			<field final="true" static="true" const="48" visibility="public" name="IDIV" constexpr="48" fulltype="int" type="int" />
			<field final="true" static="true" const="4" visibility="public" name="LPAR" constexpr="4" fulltype="int" type="int" />
			<field final="true" static="true" const="50" visibility="public" name="UNION" constexpr="50" fulltype="int" type="int" />
			<field final="true" static="true" const="15" visibility="public" name="GREATEREQUAL" constexpr="15" fulltype="int" type="int" />
			<field final="true" static="true" const="85" visibility="public" name="DECIMAL" constexpr="85" fulltype="int" type="int" />
			<field final="true" static="true" const="60" visibility="public" name="FOR" constexpr="60" fulltype="int" type="int" />
			<field final="true" static="true" const="8" visibility="public" name="STAR" constexpr="8" fulltype="int" type="int" />
			<field final="true" static="true" const="14" visibility="public" name="GREATER" constexpr="14" fulltype="int" type="int" />
			<field final="true" static="true" const="38" visibility="public" name="PRECEDING_SIBLING" constexpr="38" fulltype="int" type="int" />
			<field final="true" static="true" const="47" visibility="public" name="DIV" constexpr="47" fulltype="int" type="int" />
			<field final="true" static="true" const="62" visibility="public" name="RETURN" constexpr="62" fulltype="int" type="int" />
			<field final="true" static="true" const="69" visibility="public" name="ELSE" constexpr="69" fulltype="int" type="int" />
			<field final="true" static="true" const="22" visibility="public" name="DOTDOT" constexpr="22" fulltype="int" type="int" />
			<field final="true" static="true" const="26" visibility="public" name="DOT" constexpr="26" fulltype="int" type="int" />
			<field final="true" static="true" const="0" visibility="public" name="EOF" constexpr="0" fulltype="int" type="int" />
			<field final="true" static="true" const="87" visibility="public" name="NCNAME" constexpr="87" fulltype="int" type="int" />
			<field final="true" static="true" const="77" visibility="public" name="COMMENT" constexpr="77" fulltype="int" type="int" />
			<field final="true" static="true" const="51" visibility="public" name="INTERSECT" constexpr="51" fulltype="int" type="int" />
			<field final="true" static="true" const="5" visibility="public" name="RPAR" constexpr="5" fulltype="int" type="int" />
			<field final="true" static="true" const="73" visibility="public" name="ITEM" constexpr="73" fulltype="int" type="int" />
			<field final="true" static="true" const="72" visibility="public" name="EMPTY_SEQUENCE" constexpr="72" fulltype="int" type="int" />
			<field final="true" static="true" const="57" visibility="public" name="CASTABLE" constexpr="57" fulltype="int" type="int" />
			<field final="true" static="true" const="59" visibility="public" name="IS" constexpr="59" fulltype="int" type="int" />
			<field final="true" static="true" const="7" visibility="public" name="MINUS" constexpr="7" fulltype="int" type="int" />
			<field final="true" static="true" const="78" visibility="public" name="PROCESSING_INSTRUCTION" constexpr="78" fulltype="int" type="int" />
			<field final="true" static="true" const="61" visibility="public" name="IN" constexpr="61" fulltype="int" type="int" />
			<field final="true" static="true" const="71" visibility="public" name="OR" constexpr="71" fulltype="int" type="int" />
			<field final="true" static="true" const="1" visibility="public" name="error" constexpr="1" fulltype="int" type="int" />
			<field final="true" static="true" const="30" visibility="public" name="ATTRIBUTE" constexpr="30" fulltype="int" type="int" />
			<field final="true" static="true" const="67" visibility="public" name="IF" constexpr="67" fulltype="int" type="int" />
			<field final="true" static="true" const="82" visibility="public" name="TYPESWITCH" constexpr="82" fulltype="int" type="int" />
			<field final="true" static="true" const="58" visibility="public" name="CAST" constexpr="58" fulltype="int" type="int" />
			<field final="true" static="true" const="54" visibility="public" name="OF" constexpr="54" fulltype="int" type="int" />
			<field final="true" static="true" const="23" visibility="public" name="COLON" constexpr="23" fulltype="int" type="int" />
			<field final="true" static="true" const="29" visibility="public" name="DESCENDANT" constexpr="29" fulltype="int" type="int" />
			<field final="true" static="true" const="65" visibility="public" name="SOME" constexpr="65" fulltype="int" type="int" />
			<field final="true" static="true" const="3" visibility="public" name="RBRACKET" constexpr="3" fulltype="int" type="int" />
			<field final="true" static="true" const="20" visibility="public" name="COLONCOLON" constexpr="20" fulltype="int" type="int" />
			<field final="true" static="true" const="17" visibility="public" name="GREATER_GREATER" constexpr="17" fulltype="int" type="int" />
			<field final="true" static="true" const="86" visibility="public" name="STRING" constexpr="86" fulltype="int" type="int" />
			<field final="true" static="true" const="63" visibility="public" name="SATISFIES" constexpr="63" fulltype="int" type="int" />
			<field final="true" static="true" const="70" visibility="public" name="AND" constexpr="70" fulltype="int" type="int" />
			<field final="true" static="true" const="64" visibility="public" name="TO" constexpr="64" fulltype="int" type="int" />
			<field final="true" static="true" const="2" visibility="public" name="LBRACKET" constexpr="2" fulltype="int" type="int" />
			<field final="true" static="true" const="42" visibility="public" name="NE" constexpr="42" fulltype="int" type="int" />
			<field final="true" static="true" const="16" visibility="public" name="LESS_LESS" constexpr="16" fulltype="int" type="int" />
			<field final="true" static="true" const="10" visibility="public" name="EQUALS" constexpr="10" fulltype="int" type="int" />
		</fields>
		<methods>
			<constructor visibility="public" name="XpathSym" />
		</methods>
	</jelclass>
	<jelclass superclass="BinExpr" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.BinExpr" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.AddExpr" type="AddExpr">
		<comment>
			<description>Class for binary operation Add, takes 2 inputs and returns the combined
 value.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="AddExpr">
				<comment>
					<description>Constructor for AddExpr</description>
					<attribute name="@param">
						<description>l
            input1 xpath expression/variable.</description>
					</attribute>
					<attribute name="@param">
						<description>r
            input2 xpath expression/variable.</description>
					</attribute>
				</comment>
				<params>
					<param name="l" comment="input1 xpath expression/variable." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" type="Expr" />
					<param name="r" comment="input2 xpath expression/variable." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" type="Expr" />
				</params>
			</constructor>
			<method visibility="public" name="accept" returncomment="Result of Visitor operation." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Support for Visitor interface.</description>
					<attribute name="@return">
						<description>Result of Visitor operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="v" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="BinExpr" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.BinExpr" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.AndExpr" type="AndExpr">
		<comment>
			<description>Class for binary operation And. The value of an and-expression is determined
 by the effective boolean values (EBV&apos;s) of its operands.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="AndExpr">
				<comment>
					<description>Constructor for AndExpr.</description>
					<attribute name="@param">
						<description>l
            input1 xpath expression.</description>
					</attribute>
					<attribute name="@param">
						<description>r
            input2 xpath expression.</description>
					</attribute>
				</comment>
				<params>
					<param name="l" comment="input1 xpath expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" type="Expr" />
					<param name="r" comment="input2 xpath expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" type="Expr" />
				</params>
			</constructor>
			<method visibility="public" name="accept" returncomment="Result of Visitor operation." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Support for Visitor interface.</description>
					<attribute name="@return">
						<description>Result of Visitor operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="v" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="KindTest" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.KindTest" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.AnyKindTest" type="AnyKindTest">
		<comment>
			<description>Class to test a type of any kind. This matches any node in the expression.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="AnyKindTest" />
			<method visibility="public" name="accept" returncomment="Result of Visitor operation." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Support for Visitor interface.</description>
					<attribute name="@return">
						<description>Result of Visitor operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="v" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor" />
				</params>
			</method>
			<method visibility="public" name="createTestType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType">
				<params>
					<param name="rs" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
					<param name="sc" fulltype="org.eclipse.wst.xml.xpath2.api.StaticContext" type="StaticContext" />
				</params>
			</method>
			<method visibility="public" name="name" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
			<method visibility="public" name="isWild" fulltype="boolean" type="boolean" />
			<method visibility="public" name="getXDMClassType" fulltype="java.lang.Class" type="Class" />
		</methods>
	</jelclass>
	<jelclass abstract="true" superclass="KindTest" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.KindTest" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.AttrElemTest" type="AttrElemTest">
		<comment>
			<description>Common base class for Attribute and Element tests.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="AttrElemTest">
				<comment>
					<description>Constructor for Attribute and Element tests. This takes in 3 inputs,
 Name, wildcard test(true/false) and type.</description>
					<attribute name="@param">
						<description>name
            QName.</description>
					</attribute>
					<attribute name="@param">
						<description>wild
            Wildcard test? True/False.</description>
					</attribute>
					<attribute name="@param">
						<description>type
            QName type.</description>
					</attribute>
				</comment>
				<params>
					<param name="name" comment="QName." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
					<param name="wild" comment="Wildcard test? True/False." fulltype="boolean" type="boolean" />
					<param name="type" comment="QName type." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</constructor>
			<constructor visibility="public" name="AttrElemTest">
				<comment>
					<description>Constructor for Attribute and Element tests. This takes in 2 inputs, Name
 and wildcard test(true/false).</description>
					<attribute name="@param">
						<description>name
            QName.</description>
					</attribute>
					<attribute name="@param">
						<description>wild
            Wildcard test? True/False.</description>
					</attribute>
				</comment>
				<params>
					<param name="name" comment="QName." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
					<param name="wild" comment="Wildcard test? True/False." fulltype="boolean" type="boolean" />
				</params>
			</constructor>
			<constructor visibility="public" name="AttrElemTest">
				<comment>
					<description>Default Constructor for Attribute and Element tests. This takes in no
 inputs.</description>
				</comment>
			</constructor>
			<method visibility="public" name="wild" returncomment="Result of wildcard test." fulltype="boolean" type="boolean">
				<comment>
					<description>Support for wildcard test.</description>
					<attribute name="@return">
						<description>Result of wildcard test.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="name" returncomment="Result of name test." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName">
				<comment>
					<description>Support for name test.</description>
					<attribute name="@return">
						<description>Result of name test.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="type" returncomment="Result of type test." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName">
				<comment>
					<description>Support for type test.</description>
					<attribute name="@return">
						<description>Result of type test.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="protected" name="getDerviationTypes" fulltype="short" type="short" />
		</methods>
	</jelclass>
	<jelclass superclass="AttrElemTest" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.AttrElemTest" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.AttributeTest" type="AttributeTest">
		<comment>
			<description>Class used to match an attribute node by its name and/or type.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="AttributeTest">
				<comment>
					<description>Constructor for AttributeTest. This one takes in 3 inputs, Name, wildcard
 test(true/false) and type.</description>
					<attribute name="@param">
						<description>name
            QName.</description>
					</attribute>
					<attribute name="@param">
						<description>wild
            Wildcard test, True/False.</description>
					</attribute>
					<attribute name="@param">
						<description>type
            QName type.</description>
					</attribute>
				</comment>
				<params>
					<param name="name" comment="QName." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
					<param name="wild" comment="Wildcard test, True/False." fulltype="boolean" type="boolean" />
					<param name="type" comment="QName type." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</constructor>
			<constructor visibility="public" name="AttributeTest">
				<comment>
					<description>Constructor for AttributeTest. This one takes in 2 inputs, Name and
 wildcard test(true/false).</description>
					<attribute name="@param">
						<description>name
            QName.</description>
					</attribute>
					<attribute name="@param">
						<description>wild
            Wildcard test, True/False.</description>
					</attribute>
				</comment>
				<params>
					<param name="name" comment="QName." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
					<param name="wild" comment="Wildcard test, True/False." fulltype="boolean" type="boolean" />
				</params>
			</constructor>
			<constructor visibility="public" name="AttributeTest">
				<comment>
					<description>Default Constructor for AttributeTest.</description>
				</comment>
			</constructor>
			<method visibility="public" name="accept" returncomment="Result of Visitor operation." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Support for Visitor interface.</description>
					<attribute name="@return">
						<description>Result of Visitor operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="v" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor" />
				</params>
			</method>
			<method visibility="public" name="createTestType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType">
				<params>
					<param name="rs" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
					<param name="sc" fulltype="org.eclipse.wst.xml.xpath2.api.StaticContext" type="StaticContext" />
				</params>
			</method>
			<method visibility="public" name="isWild" fulltype="boolean" type="boolean" />
			<method visibility="public" name="getXDMClassType" fulltype="java.lang.Class" type="Class" />
		</methods>
	</jelclass>
	<jelclass superclass="StepExpr" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.StepExpr" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.AxisStep" type="AxisStep">
		<comment>
			<description>Class for AxisStep, this generates a sequence of zero or more nodes. These
 nodes are always returned in Document Order. This can be Forward Step or
 Reverse Step.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="AxisStep">
				<comment>
					<description>Constructor for AxisStep.</description>
					<attribute name="@param">
						<description>step
            Defines forward/reverse step.</description>
					</attribute>
					<attribute name="@param">
						<description>exprs
            Collection of xpath expressions.</description>
					</attribute>
				</comment>
				<params>
					<param name="step" comment="Defines forward/reverse step." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Step" type="Step" />
					<param name="exprs" comment="Collection of xpath expressions." fulltype="java.util.Collection" type="Collection" />
				</params>
			</constructor>
			<method visibility="public" name="accept" returncomment="Result of Visitor operation." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Support for Visitor interface.</description>
					<attribute name="@return">
						<description>Result of Visitor operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="v" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor" />
				</params>
			</method>
			<method visibility="public" name="step" returncomment="Previous step." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Step" type="Step">
				<comment>
					<description>Advances to next step.</description>
					<attribute name="@return">
						<description>Previous step.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="set_step" fulltype="void" type="void">
				<comment>
					<description>Set the step direction.</description>
				</comment>
				<params>
					<param name="s" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Step" type="Step" />
				</params>
			</method>
			<method visibility="public" name="iterator" returncomment="Iterated expressions." fulltype="java.util.Iterator" type="Iterator">
				<comment>
					<description>Interator.</description>
					<attribute name="@return">
						<description>Iterated expressions.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="predicate_count" returncomment="Size of expressions." fulltype="int" type="int">
				<comment>
					<description>Determines size of expressions.</description>
					<attribute name="@return">
						<description>Size of expressions.</description>
					</attribute>
				</comment>
			</method>
		</methods>
	</jelclass>
	<jelclass abstract="true" superclass="Expr" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.BinExpr" type="BinExpr">
		<comment>
			<description>Abstract class for a Binary operation.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="BinExpr">
				<comment>
					<description>Constructor for BinExpr.</description>
					<attribute name="@param">
						<description>l
            left xpath node for the operation.</description>
					</attribute>
					<attribute name="@param">
						<description>r
            right xpath node for the operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="l" comment="left xpath node for the operation." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathNode" type="XPathNode" />
					<param name="r" comment="right xpath node for the operation." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathNode" type="XPathNode" />
				</params>
			</constructor>
			<method visibility="public" name="left" returncomment="Left node." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathNode" type="XPathNode">
				<comment>
					<description>Left xpath node.</description>
					<attribute name="@return">
						<description>Left node.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="right" returncomment="Right node." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathNode" type="XPathNode">
				<comment>
					<description>Right xpath node.</description>
					<attribute name="@return">
						<description>Right node.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="set_left" fulltype="void" type="void">
				<comment>
					<description>Set the left xpath node.</description>
					<attribute name="@param">
						<description>n
            Left node.</description>
					</attribute>
				</comment>
				<params>
					<param name="n" comment="Left node." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathNode" type="XPathNode" />
				</params>
			</method>
			<method visibility="public" name="set_right" fulltype="void" type="void">
				<comment>
					<description>Set the right xpath node.</description>
					<attribute name="@param">
						<description>n
            Right node.</description>
					</attribute>
				</comment>
				<params>
					<param name="n" comment="Right node." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathNode" type="XPathNode" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="BinExpr" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.BinExpr" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.CastExpr" type="CastExpr">
		<comment>
			<description>A class that creates a new value of a specific type based on an existing
 value. A cast expression takes two operands: an input expression and a target
 type. The type of the input expression is called the input type. The target
 type must be a named atomic type, represented by a QName, optionally followed
 by the occurrence indicator ? if an empty sequence is permitted. If the
 target type has no namespace prefix, it is considered to be in the default
 element/type namespace.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="CastExpr">
				<comment>
					<description>Constructor for CastExpr.</description>
					<attribute name="@param">
						<description>l
            input xpath expression/variable.</description>
					</attribute>
					<attribute name="@param">
						<description>r
            SingleType to cast l to.</description>
					</attribute>
				</comment>
				<params>
					<param name="l" comment="input xpath expression/variable." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" type="Expr" />
					<param name="r" comment="SingleType to cast l to." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.SingleType" type="SingleType" />
				</params>
			</constructor>
			<method visibility="public" name="function" fulltype="org.eclipse.wst.xml.xpath2.api.Function" type="Function" />
			<method visibility="public" name="set_function" fulltype="void" type="void">
				<params>
					<param name="_function" fulltype="org.eclipse.wst.xml.xpath2.api.Function" type="Function" />
				</params>
			</method>
			<method visibility="public" name="accept" returncomment="Result of Visitor operation." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Support for Visitor interface.</description>
					<attribute name="@return">
						<description>Result of Visitor operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="v" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="BinExpr" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.BinExpr" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.CastableExpr" type="CastableExpr">
		<comment>
			<description>A class that tests whether a given value is castable into a given type. This
 can be used to select an appropriate type for processing a given value.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="CastableExpr">
				<comment>
					<description>Constructor of CastableExpr</description>
					<attribute name="@param">
						<description>l
            input xpath expression/variable.</description>
					</attribute>
					<attribute name="@param">
						<description>r
            SingleType to check l against.</description>
					</attribute>
				</comment>
				<params>
					<param name="l" comment="input xpath expression/variable." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" type="Expr" />
					<param name="r" comment="SingleType to check l against." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.SingleType" type="SingleType" />
				</params>
			</constructor>
			<method visibility="public" name="accept" returncomment="Result of Visitor operation." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Support for Visitor interface.</description>
					<attribute name="@return">
						<description>Result of Visitor operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="v" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="BinExpr" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.BinExpr" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.CmpExpr" type="CmpExpr">
		<comment>
			<description>The comparison of expression operator takes the value of its left operand and
 compares (dependant on type) against its right operand, according to the
 rules of the particular comparison rule</description>
		</comment>
		<fields>
			<field final="true" static="true" const="0" visibility="public" name="EQUALS" constexpr="0" fulltype="int" type="int">
				<comment>
					<description>Set internal value for EQUALS operation.</description>
				</comment>
			</field>
			<field final="true" static="true" const="1" visibility="public" name="NOTEQUALS" constexpr="1" fulltype="int" type="int">
				<comment>
					<description>Set internal value for NOTEQUALS operation.</description>
				</comment>
			</field>
			<field final="true" static="true" const="2" visibility="public" name="LESSTHAN" constexpr="2" fulltype="int" type="int">
				<comment>
					<description>Set internal value for LESSTHAN operation.</description>
				</comment>
			</field>
			<field final="true" static="true" const="3" visibility="public" name="LESSEQUAL" constexpr="3" fulltype="int" type="int">
				<comment>
					<description>Set internal value for LESSEQUAL operation.</description>
				</comment>
			</field>
			<field final="true" static="true" const="4" visibility="public" name="GREATER" constexpr="4" fulltype="int" type="int">
				<comment>
					<description>Set internal value for GREATER operation.</description>
				</comment>
			</field>
			<field final="true" static="true" const="5" visibility="public" name="GREATEREQUAL" constexpr="5" fulltype="int" type="int">
				<comment>
					<description>Set internal value for GREATEREQUAL operation.</description>
				</comment>
			</field>
			<field final="true" static="true" const="6" visibility="public" name="EQ" constexpr="6" fulltype="int" type="int">
				<comment>
					<description>Set internal value for EQ operation.</description>
				</comment>
			</field>
			<field final="true" static="true" const="7" visibility="public" name="NE" constexpr="7" fulltype="int" type="int">
				<comment>
					<description>Set internal value for NE operation.</description>
				</comment>
			</field>
			<field final="true" static="true" const="8" visibility="public" name="LT" constexpr="8" fulltype="int" type="int">
				<comment>
					<description>Set internal value for LT operation.</description>
				</comment>
			</field>
			<field final="true" static="true" const="9" visibility="public" name="LE" constexpr="9" fulltype="int" type="int">
				<comment>
					<description>Set internal value for LE operation.</description>
				</comment>
			</field>
			<field final="true" static="true" const="10" visibility="public" name="GT" constexpr="10" fulltype="int" type="int">
				<comment>
					<description>Set internal value for GT operation.</description>
				</comment>
			</field>
			<field final="true" static="true" const="11" visibility="public" name="GE" constexpr="11" fulltype="int" type="int">
				<comment>
					<description>Set internal value for GE operation.</description>
				</comment>
			</field>
			<field final="true" static="true" const="12" visibility="public" name="IS" constexpr="12" fulltype="int" type="int">
				<comment>
					<description>Set internal value for IS operation.</description>
				</comment>
			</field>
			<field final="true" static="true" const="13" visibility="public" name="LESS_LESS" constexpr="13" fulltype="int" type="int">
				<comment>
					<description>Set internal value for LESS_LESS operation.</description>
				</comment>
			</field>
			<field final="true" static="true" const="14" visibility="public" name="GREATER_GREATER" constexpr="14" fulltype="int" type="int">
				<comment>
					<description>Set internal value for GREATER_GREATER operation.</description>
				</comment>
			</field>
		</fields>
		<methods>
			<constructor visibility="public" name="CmpExpr">
				<comment>
					<description>Constructor for CmpExpr</description>
					<attribute name="@param">
						<description>l
            input xpath left expression/variable</description>
					</attribute>
					<attribute name="@param">
						<description>r
            input xpath right expression/variable</description>
					</attribute>
					<attribute name="@param">
						<description>type
            what comparison to use l against r.</description>
					</attribute>
				</comment>
				<params>
					<param name="l" comment="input xpath left expression/variable" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" type="Expr" />
					<param name="r" comment="input xpath right expression/variable" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" type="Expr" />
					<param name="type" comment="what comparison to use l against r." fulltype="int" type="int" />
				</params>
			</constructor>
			<method visibility="public" name="accept" returncomment="Result of Visitor operation." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Support for Visitor interface.</description>
					<attribute name="@return">
						<description>Result of Visitor operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="v" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor" />
				</params>
			</method>
			<method visibility="public" name="type" returncomment="comparison type" fulltype="int" type="int">
				<comment>
					<attribute name="@return">
						<description>comparison type</description>
					</attribute>
				</comment>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="PrimaryExpr" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.PrimaryExpr" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.CntxItemExpr" type="CntxItemExpr">
		<comment>
			<description>Class for Context Item Expresions.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="CntxItemExpr" />
			<method visibility="public" name="accept" returncomment="Result of Visitor operation." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Support for Visitor interface.</description>
					<attribute name="@return">
						<description>Result of Visitor operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="v" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="KindTest" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.KindTest" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.CommentTest" type="CommentTest">
		<comment>
			<description>Class for Comment testing.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="CommentTest" />
			<method visibility="public" name="accept" returncomment="Result of Visitor operation." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Support for Visitor interface.</description>
					<attribute name="@return">
						<description>Result of Visitor operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="v" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor" />
				</params>
			</method>
			<method visibility="public" name="createTestType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType">
				<params>
					<param name="rs" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
					<param name="sc" fulltype="org.eclipse.wst.xml.xpath2.api.StaticContext" type="StaticContext" />
				</params>
			</method>
			<method visibility="public" name="name" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
			<method visibility="public" name="isWild" fulltype="boolean" type="boolean" />
			<method visibility="public" name="getXDMClassType" fulltype="java.lang.Class" type="Class" />
		</methods>
	</jelclass>
	<jelclass superclass="NumericLiteral" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.NumericLiteral" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.DecimalLiteral" type="DecimalLiteral">
		<comment>
			<description>The value of a numeric literal containing &quot;.&quot; but no e or E character is an
 atomic value of type xs:decimal</description>
		</comment>
		<methods>
			<constructor visibility="public" name="DecimalLiteral">
				<comment>
					<description>Constructor for DecimalLiteral</description>
					<attribute name="@param">
						<description>value
            double value</description>
					</attribute>
				</comment>
				<params>
					<param name="value" comment="double value" fulltype="java.math.BigDecimal" type="BigDecimal" />
				</params>
			</constructor>
			<method visibility="public" name="accept" returncomment="Result of Visitor operation." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Support for Visitor interface.</description>
					<attribute name="@return">
						<description>Result of Visitor operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="v" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor" />
				</params>
			</method>
			<method visibility="public" name="value" returncomment="xs:decimal value" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDecimal" type="XSDecimal">
				<comment>
					<attribute name="@return">
						<description>xs:decimal value</description>
					</attribute>
				</comment>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="BinExpr" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.BinExpr" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.DivExpr" type="DivExpr">
		<comment>
			<description>Class for Division expressions.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="DivExpr">
				<comment>
					<description>Constructor for DivExpr.</description>
					<attribute name="@param">
						<description>l
            input1 xpath expression/variable.</description>
					</attribute>
					<attribute name="@param">
						<description>r
            input2 xpath expression/variable.</description>
					</attribute>
				</comment>
				<params>
					<param name="l" comment="input1 xpath expression/variable." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" type="Expr" />
					<param name="r" comment="input2 xpath expression/variable." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" type="Expr" />
				</params>
			</constructor>
			<method visibility="public" name="accept" returncomment="Result of Visitor operation." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Support for Visitor interface.</description>
					<attribute name="@return">
						<description>Result of Visitor operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="v" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="KindTest" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.KindTest" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.DocumentTest" type="DocumentTest">
		<comment>
			<description>Class for Document testing.</description>
		</comment>
		<fields>
			<field final="true" static="true" const="0" visibility="public" name="NONE" constexpr="0" fulltype="int" type="int">
				<comment>
					<description>Set internal value for NONE.</description>
				</comment>
			</field>
			<field final="true" static="true" const="1" visibility="public" name="ELEMENT" constexpr="1" fulltype="int" type="int">
				<comment>
					<description>Set internal value for ELEMENT.</description>
				</comment>
			</field>
			<field final="true" static="true" const="2" visibility="public" name="SCHEMA_ELEMENT" constexpr="2" fulltype="int" type="int">
				<comment>
					<description>Set internal value for SCHEMA_ELEMENT.</description>
				</comment>
			</field>
		</fields>
		<methods>
			<constructor visibility="public" name="DocumentTest">
				<comment>
					<description>Constructor for DocumentTest.</description>
					<attribute name="@param">
						<description>type
            Type of element to test.</description>
					</attribute>
					<attribute name="@param">
						<description>arg
            xpath object to test.</description>
					</attribute>
				</comment>
				<params>
					<param name="type" comment="Type of element to test." fulltype="int" type="int" />
					<param name="arg" comment="xpath object to test." fulltype="java.lang.Object" type="Object" />
				</params>
			</constructor>
			<constructor visibility="public" name="DocumentTest">
				<comment>
					<description>Default Constructor for DocumentTest.</description>
				</comment>
			</constructor>
			<method visibility="public" name="accept" returncomment="Result of Visitor operation." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Support for Visitor interface.</description>
					<attribute name="@return">
						<description>Result of Visitor operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="v" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor" />
				</params>
			</method>
			<method visibility="public" name="type" returncomment="Type of test." fulltype="int" type="int">
				<comment>
					<description>Get test type.</description>
					<attribute name="@return">
						<description>Type of test.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="elem_test" returncomment="Element test." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.AttrElemTest" type="AttrElemTest">
				<comment>
					<description>Element test.</description>
					<attribute name="@return">
						<description>Element test.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="schema_elem_test" returncomment="Schema element test." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.SchemaElemTest" type="SchemaElemTest">
				<comment>
					<description>Schema element test.</description>
					<attribute name="@return">
						<description>Schema element test.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="createTestType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType">
				<params>
					<param name="rs" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
					<param name="sc" fulltype="org.eclipse.wst.xml.xpath2.api.StaticContext" type="StaticContext" />
				</params>
			</method>
			<method visibility="public" name="name" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
			<method visibility="public" name="isWild" fulltype="boolean" type="boolean" />
			<method visibility="public" name="getXDMClassType" fulltype="java.lang.Class" type="Class" />
		</methods>
	</jelclass>
	<jelclass superclass="NumericLiteral" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.NumericLiteral" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.DoubleLiteral" type="DoubleLiteral">
		<comment>
			<description>The value of a numeric literal containing an e or E character is an atomic
 value of type xs:double</description>
		</comment>
		<methods>
			<constructor visibility="public" name="DoubleLiteral">
				<comment>
					<description>Constructor for Doubleiteral</description>
					<attribute name="@param">
						<description>value
            double value</description>
					</attribute>
				</comment>
				<params>
					<param name="value" comment="double value" fulltype="double" type="double" />
				</params>
			</constructor>
			<method visibility="public" name="accept" returncomment="Result of Visitor operation." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Support for Visitor interface.</description>
					<attribute name="@return">
						<description>Result of Visitor operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="v" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor" />
				</params>
			</method>
			<method visibility="public" name="value" returncomment="xs:double value" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDouble" type="XSDouble">
				<comment>
					<attribute name="@return">
						<description>xs:double value</description>
					</attribute>
				</comment>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="AttrElemTest" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.AttrElemTest" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.ElementTest" type="ElementTest">
		<comment>
			<description>Class for Element testing.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="ElementTest">
				<comment>
					<description>Constructor for ElementTest. This takes in 4 inputs, Name, wildcard
 test(true/false), type and question mark test(true/false).</description>
					<attribute name="@param">
						<description>name
            Name of element to test.</description>
					</attribute>
					<attribute name="@param">
						<description>wild
            Wildcard test? (true/false).</description>
					</attribute>
					<attribute name="@param">
						<description>type
            Type of element to test.</description>
					</attribute>
					<attribute name="@param">
						<description>qmark
            Nilled property (true/false).</description>
					</attribute>
				</comment>
				<params>
					<param name="name" comment="Name of element to test." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
					<param name="wild" comment="Wildcard test? (true/false)." fulltype="boolean" type="boolean" />
					<param name="type" comment="Type of element to test." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
					<param name="qmark" comment="Nilled property (true/false)." fulltype="boolean" type="boolean" />
				</params>
			</constructor>
			<constructor visibility="public" name="ElementTest">
				<comment>
					<description>Constructor for ElementTest. This takes in 3 inputs, Name, wildcard
 test(true/false)and type.</description>
					<attribute name="@param">
						<description>name
            Name of element to test.</description>
					</attribute>
					<attribute name="@param">
						<description>wild
            Wildcard test? (true/false).</description>
					</attribute>
					<attribute name="@param">
						<description>type
            Type of element to test.</description>
					</attribute>
				</comment>
				<params>
					<param name="name" comment="Name of element to test." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
					<param name="wild" comment="Wildcard test? (true/false)." fulltype="boolean" type="boolean" />
					<param name="type" comment="Type of element to test." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</constructor>
			<constructor visibility="public" name="ElementTest">
				<comment>
					<description>Constructor for ElementTest. This takes in 2 inputs, Name, wildcard
 test(true/false).</description>
					<attribute name="@param">
						<description>name
            Name of element to test.</description>
					</attribute>
					<attribute name="@param">
						<description>wild
            Wildcard test? (true/false).</description>
					</attribute>
				</comment>
				<params>
					<param name="name" comment="Name of element to test." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
					<param name="wild" comment="Wildcard test? (true/false)." fulltype="boolean" type="boolean" />
				</params>
			</constructor>
			<constructor visibility="public" name="ElementTest">
				<comment>
					<description>Default Constructor for ElementTest.</description>
				</comment>
			</constructor>
			<method visibility="public" name="accept" returncomment="Result of Visitor operation." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Support for Visitor interface.</description>
					<attribute name="@return">
						<description>Result of Visitor operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="v" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor" />
				</params>
			</method>
			<method visibility="public" name="qmark" returncomment="Result of operation." fulltype="boolean" type="boolean">
				<comment>
					<description>Set nilled property.</description>
					<attribute name="@return">
						<description>Result of operation.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="createTestType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType">
				<params>
					<param name="rs" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
					<param name="sc" fulltype="org.eclipse.wst.xml.xpath2.api.StaticContext" type="StaticContext" />
				</params>
			</method>
			<method visibility="public" name="isWild" fulltype="boolean" type="boolean" />
			<method visibility="public" name="getXDMClassType" fulltype="java.lang.Class" type="Class" />
		</methods>
	</jelclass>
	<jelclass superclass="BinExpr" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.BinExpr" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.ExceptExpr" type="ExceptExpr">
		<comment>
			<description>The except operator takes two node sequences as operands and returns a
 sequence containing all the nodes that occur in the first operand but not in
 the second operand.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="ExceptExpr">
				<comment>
					<description>Constructor for ExceptExpr.</description>
					<attribute name="@param">
						<description>l
            input1 xpath expression/variable.</description>
					</attribute>
					<attribute name="@param">
						<description>r
            input2 xpath expression/variable.</description>
					</attribute>
				</comment>
				<params>
					<param name="l" comment="input1 xpath expression/variable." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" type="Expr" />
					<param name="r" comment="input2 xpath expression/variable." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" type="Expr" />
				</params>
			</constructor>
			<method visibility="public" name="accept" returncomment="Result of Visitor operation." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Support for Visitor interface.</description>
					<attribute name="@return">
						<description>Result of Visitor operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="v" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass abstract="true" superclass="XPathNode" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathNode" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" type="Expr">
		<comment>
			<description>Class for normal expressions.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="Expr" />
		</methods>
	</jelclass>
	<jelclass superclass="StepExpr" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.StepExpr" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.FilterExpr" type="FilterExpr">
		<comment>
			<description>A filter expression consists simply of a primary expression followed by zero
 or more predicates. The result of the filter expression consists of all the
 items returned by the primary expression for which all the predicates are
 true. If no predicates are specified, the result is simply the result of the
 primary expression. This result may contain nodes, atomic values, or any
 combination of these. The ordering of the items returned by a filter
 expression is the same as their order in the result of the primary
 expression. Context positions are assigned to items based on their ordinal
 position in the result sequence. The first context position is 1.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="FilterExpr">
				<comment>
					<description>Constructor of FilterExpr.</description>
					<attribute name="@param">
						<description>pexpr
            is copied to _pexpr.</description>
					</attribute>
					<attribute name="@param">
						<description>exprs
            is copied to _exprs.</description>
					</attribute>
				</comment>
				<params>
					<param name="pexpr" comment="is copied to _pexpr." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.PrimaryExpr" type="PrimaryExpr" />
					<param name="exprs" comment="is copied to _exprs." fulltype="java.util.Collection" type="Collection" />
				</params>
			</constructor>
			<method visibility="public" name="accept" returncomment="Result of Visitor operation." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Support for Visitor interface.</description>
					<attribute name="@return">
						<description>Result of Visitor operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="v" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor" />
				</params>
			</method>
			<method visibility="public" name="primary" returncomment="The primary expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.PrimaryExpr" type="PrimaryExpr">
				<comment>
					<description>Get the primary expression.</description>
					<attribute name="@return">
						<description>The primary expression.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="iterator" returncomment="The next predicate." fulltype="java.util.Iterator" type="Iterator">
				<comment>
					<description>Get the next predicate.</description>
					<attribute name="@return">
						<description>The next predicate.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="set_primary" fulltype="void" type="void">
				<comment>
					<description>Set a new primary expression.</description>
					<attribute name="@param">
						<description>e
            is set as the new primary expression.</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="is set as the new primary expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.PrimaryExpr" type="PrimaryExpr" />
				</params>
			</method>
			<method visibility="public" name="predicate_count" returncomment="The size of the collection of predicates." fulltype="int" type="int">
				<comment>
					<description>Count the number of predicates.</description>
					<attribute name="@return">
						<description>The size of the collection of predicates.</description>
					</attribute>
				</comment>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="Expr" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.ForExpr" type="ForExpr">
		<comment>
			<description>Class for the For expression.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="ForExpr">
				<comment>
					<description>Constructor for ForExpr.</description>
					<attribute name="@param">
						<description>varexp
            Expressions.</description>
					</attribute>
					<attribute name="@param">
						<description>ret
            Return expression.</description>
					</attribute>
				</comment>
				<params>
					<param name="varexp" comment="Expressions." fulltype="java.util.Collection" type="Collection" />
					<param name="ret" comment="Return expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" type="Expr" />
				</params>
			</constructor>
			<method visibility="public" name="accept" returncomment="Result of Visitor operation." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Support for Visitor interface.</description>
					<attribute name="@return">
						<description>Result of Visitor operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="v" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor" />
				</params>
			</method>
			<method visibility="public" name="iterator" returncomment="Result of Iterator operation." fulltype="java.util.Iterator" type="Iterator">
				<comment>
					<description>Support for Iterator interface.</description>
					<attribute name="@return">
						<description>Result of Iterator operation.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="expr" returncomment="Result of Expr operation." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" type="Expr">
				<comment>
					<description>Support for Expr interface.</description>
					<attribute name="@return">
						<description>Result of Expr operation.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="set_expr" fulltype="void" type="void">
				<comment>
					<description>Set Expression.</description>
					<attribute name="@param">
						<description>e
            Expression.</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="Expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" type="Expr" />
				</params>
			</method>
			<method visibility="public" name="truncate_pairs" fulltype="void" type="void">
				<comment>
					<description>Normalization of expression pairs.</description>
				</comment>
			</method>
			<method visibility="public" name="ve_pairs" returncomment="Expression pairs." fulltype="java.util.Collection" type="Collection">
				<comment>
					<description>Support for Collection interface.</description>
					<attribute name="@return">
						<description>Expression pairs.</description>
					</attribute>
				</comment>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="Step" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Step" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.ForwardStep" type="ForwardStep">
		<comment>
			<description>Class for Forward stepping support for Step operations.</description>
		</comment>
		<fields>
			<field final="true" static="true" const="0" visibility="public" name="NONE" constexpr="0" fulltype="int" type="int">
				<comment>
					<description>Set internal value for NONE.</description>
				</comment>
			</field>
			<field final="true" static="true" const="1" visibility="public" name="CHILD" constexpr="1" fulltype="int" type="int">
				<comment>
					<description>Set internal value for CHILD.</description>
				</comment>
			</field>
			<field final="true" static="true" const="2" visibility="public" name="DESCENDANT" constexpr="2" fulltype="int" type="int">
				<comment>
					<description>Set internal value for DESCENDANT.</description>
				</comment>
			</field>
			<field final="true" static="true" const="3" visibility="public" name="ATTRIBUTE" constexpr="3" fulltype="int" type="int">
				<comment>
					<description>Set internal value for ATTRIBUTE.</description>
				</comment>
			</field>
			<field final="true" static="true" const="4" visibility="public" name="SELF" constexpr="4" fulltype="int" type="int">
				<comment>
					<description>Set internal value for SELF.</description>
				</comment>
			</field>
			<field final="true" static="true" const="5" visibility="public" name="DESCENDANT_OR_SELF" constexpr="5" fulltype="int" type="int">
				<comment>
					<description>Set internal value for DESCENDANT_OR_SELF.</description>
				</comment>
			</field>
			<field final="true" static="true" const="6" visibility="public" name="FOLLOWING_SIBLING" constexpr="6" fulltype="int" type="int">
				<comment>
					<description>Set internal value for FOLLOWING_SIBLING.</description>
				</comment>
			</field>
			<field final="true" static="true" const="7" visibility="public" name="FOLLOWING" constexpr="7" fulltype="int" type="int">
				<comment>
					<description>Set internal value for FOLLOWING.</description>
				</comment>
			</field>
			<field final="true" static="true" const="8" visibility="public" name="NAMESPACE" constexpr="8" fulltype="int" type="int">
				<comment>
					<description>Set internal value for NAMESPACE.</description>
				</comment>
			</field>
			<field final="true" static="true" const="9" visibility="public" name="AT_SYM" constexpr="9" fulltype="int" type="int">
				<comment>
					<description>Set internal value for AT_SYM.</description>
				</comment>
			</field>
		</fields>
		<methods>
			<constructor visibility="public" name="ForwardStep">
				<comment>
					<description>Constructor for ForwardStep.</description>
					<attribute name="@param">
						<description>axis
            Axis number.</description>
					</attribute>
					<attribute name="@param">
						<description>node_test
            Node test.</description>
					</attribute>
				</comment>
				<params>
					<param name="axis" comment="Axis number." fulltype="int" type="int" />
					<param name="node_test" comment="Node test." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.NodeTest" type="NodeTest" />
				</params>
			</constructor>
			<method visibility="public" name="accept" returncomment="Result of Visitor operation." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Support for Visitor interface.</description>
					<attribute name="@return">
						<description>Result of Visitor operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="v" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor" />
				</params>
			</method>
			<method visibility="public" name="axis" returncomment="Result of Axis operation." fulltype="int" type="int">
				<comment>
					<description>Support for Axis interface.</description>
					<attribute name="@return">
						<description>Result of Axis operation.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="set_axis" fulltype="void" type="void">
				<comment>
					<description>Set Axis to current.</description>
					<attribute name="@param">
						<description>axis
            Axis to set.</description>
					</attribute>
				</comment>
				<params>
					<param name="axis" comment="Axis to set." fulltype="int" type="int" />
				</params>
			</method>
			<method visibility="public" name="iterator" returncomment="Result of Iterator operation." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ForwardAxis" type="ForwardAxis">
				<comment>
					<description>Support for Iterator interface.</description>
					<attribute name="@return">
						<description>Result of Iterator operation.</description>
					</attribute>
				</comment>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="PrimaryExpr" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.PrimaryExpr" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.FunctionCall" type="FunctionCall">
		<comment>
			<description>Class for Function Call support.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="FunctionCall">
				<comment>
					<description>Constructor for FunctionCall.</description>
					<attribute name="@param">
						<description>name
            QName.</description>
					</attribute>
					<attribute name="@param">
						<description>args
            Collection of arguments.</description>
					</attribute>
				</comment>
				<params>
					<param name="name" comment="QName." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
					<param name="args" comment="Collection of arguments." fulltype="java.util.Collection" type="Collection" />
				</params>
			</constructor>
			<method visibility="public" name="function" fulltype="org.eclipse.wst.xml.xpath2.api.Function" type="Function" />
			<method visibility="public" name="set_function" fulltype="void" type="void">
				<params>
					<param name="_function" fulltype="org.eclipse.wst.xml.xpath2.api.Function" type="Function" />
				</params>
			</method>
			<method visibility="public" name="accept" returncomment="Result of Visitor operation." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Support for Visitor interface.</description>
					<attribute name="@return">
						<description>Result of Visitor operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="v" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor" />
				</params>
			</method>
			<method visibility="public" name="name" returncomment="Result of QName operation." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName">
				<comment>
					<description>Support for QName interface.</description>
					<attribute name="@return">
						<description>Result of QName operation.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="iterator" returncomment="Result of Iterator operation." fulltype="java.util.Iterator" type="Iterator">
				<comment>
					<description>Support for Iterator interface.</description>
					<attribute name="@return">
						<description>Result of Iterator operation.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="arity" returncomment="Result of Arity operation." fulltype="int" type="int">
				<comment>
					<description>Support for Arity interface.</description>
					<attribute name="@return">
						<description>Result of Arity operation.</description>
					</attribute>
				</comment>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="BinExpr" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.BinExpr" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.IDivExpr" type="IDivExpr">
		<comment>
			<description>Support for Integer division.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="IDivExpr">
				<comment>
					<description>Constructor for IDivExpr.</description>
					<attribute name="@param">
						<description>l
            left value.</description>
					</attribute>
					<attribute name="@param">
						<description>r
            right value.</description>
					</attribute>
				</comment>
				<params>
					<param name="l" comment="left value." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" type="Expr" />
					<param name="r" comment="right value." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" type="Expr" />
				</params>
			</constructor>
			<method visibility="public" name="accept" returncomment="Result of Visitor operation." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Support for Visitor interface.</description>
					<attribute name="@return">
						<description>Result of Visitor operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="v" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="Expr" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.IfExpr" type="IfExpr">
		<comment>
			<description>Support for IF expressions.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="IfExpr">
				<comment>
					<description>Constructor for IfExpr.</description>
					<attribute name="@param">
						<description>exps
            Condition expressions.</description>
					</attribute>
					<attribute name="@param">
						<description>t
            If true expressions.</description>
					</attribute>
					<attribute name="@param">
						<description>e
            If false/else expressions.</description>
					</attribute>
				</comment>
				<params>
					<param name="exps" comment="Condition expressions." fulltype="java.util.Collection" type="Collection" />
					<param name="t" comment="If true expressions." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" type="Expr" />
					<param name="e" comment="If false/else expressions." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" type="Expr" />
				</params>
			</constructor>
			<method visibility="public" name="accept" returncomment="Result of Visitor operation." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Support for Visitor interface.</description>
					<attribute name="@return">
						<description>Result of Visitor operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="v" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor" />
				</params>
			</method>
			<method visibility="public" name="iterator" returncomment="Result of Iterator operation." fulltype="java.util.Iterator" type="Iterator">
				<comment>
					<description>Support for Iterator interface.</description>
					<attribute name="@return">
						<description>Result of Iterator operation.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="then_clause" returncomment="Result of Expr operation." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" type="Expr">
				<comment>
					<description>Support for Expression interface.</description>
					<attribute name="@return">
						<description>Result of Expr operation.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="else_clause" returncomment="Result of Expr operation." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" type="Expr">
				<comment>
					<description>Support for Expression interface.</description>
					<attribute name="@return">
						<description>Result of Expr operation.</description>
					</attribute>
				</comment>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="BinExpr" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.BinExpr" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.InstOfExpr" type="InstOfExpr">
		<comment>
			<description>The boolean operator &apos;instance of&apos; takes the value of its first operand and
 matches its type to the SequenceType in its second operand, according to the
 rules for SequenceType matching.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="InstOfExpr">
				<comment>
					<description>Constructor for InstOfExpr.</description>
					<attribute name="@param">
						<description>l
            input xpath expression/variable.</description>
					</attribute>
					<attribute name="@param">
						<description>r
            SequenceType to check l against.</description>
					</attribute>
				</comment>
				<params>
					<param name="l" comment="input xpath expression/variable." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" type="Expr" />
					<param name="r" comment="SequenceType to check l against." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.SequenceType" type="SequenceType" />
				</params>
			</constructor>
			<method visibility="public" name="accept" returncomment="Result of Visitor operation." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Support for Visitor interface.</description>
					<attribute name="@return">
						<description>Result of Visitor operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="v" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="NumericLiteral" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.NumericLiteral" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.IntegerLiteral" type="IntegerLiteral">
		<comment>
			<description>The value of a numeric literal containing no &quot;.&quot; anad no e or E character is
 an atomic value of type xs:integer</description>
		</comment>
		<methods>
			<constructor visibility="public" name="IntegerLiteral">
				<comment>
					<description>Constructor for IntegerLiteral</description>
					<attribute name="@param">
						<description>i
            integer value</description>
					</attribute>
				</comment>
				<params>
					<param name="i" comment="integer value" fulltype="java.math.BigInteger" type="BigInteger" />
				</params>
			</constructor>
			<method visibility="public" name="accept" returncomment="Result of Visitor operation." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Support for Visitor interface.</description>
					<attribute name="@return">
						<description>Result of Visitor operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="v" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor" />
				</params>
			</method>
			<method visibility="public" name="value" returncomment="xs:integer value" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger" type="XSInteger">
				<comment>
					<attribute name="@return">
						<description>xs:integer value</description>
					</attribute>
				</comment>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="BinExpr" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.BinExpr" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.IntersectExpr" type="IntersectExpr">
		<comment>
			<description>The intersect operator takes two node sequences as operands and returns a
 sequence containing all the nodes that occur in both operands.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="IntersectExpr">
				<comment>
					<description>Constructor for IntersectExpr.</description>
					<attribute name="@param">
						<description>l
            input1 xpath expression/variable.</description>
					</attribute>
					<attribute name="@param">
						<description>r
            input2 xpath expression/variable.</description>
					</attribute>
				</comment>
				<params>
					<param name="l" comment="input1 xpath expression/variable." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" type="Expr" />
					<param name="r" comment="input2 xpath expression/variable." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" type="Expr" />
				</params>
			</constructor>
			<method visibility="public" name="accept" returncomment="Result of Visitor operation." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Support for Visitor interface.</description>
					<attribute name="@return">
						<description>Result of Visitor operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="v" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="XPathNode" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathNode" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.ItemType" type="ItemType">
		<comment>
			<description>Support for Item node type.</description>
		</comment>
		<fields>
			<field final="true" static="true" const="0" visibility="public" name="ITEM" constexpr="0" fulltype="int" type="int">
				<comment>
					<description>Set internal value for ITEM.</description>
				</comment>
			</field>
			<field final="true" static="true" const="1" visibility="public" name="QNAME" constexpr="1" fulltype="int" type="int">
				<comment>
					<description>Set internal value for QNAME.</description>
				</comment>
			</field>
			<field final="true" static="true" const="2" visibility="public" name="KINDTEST" constexpr="2" fulltype="int" type="int">
				<comment>
					<description>Set internal value for KINDTEST.</description>
				</comment>
			</field>
		</fields>
		<methods>
			<constructor visibility="public" name="ItemType">
				<comment>
					<description>Constructor for ItemType.</description>
					<attribute name="@param">
						<description>type
            Type.</description>
					</attribute>
					<attribute name="@param">
						<description>value
            Object value.</description>
					</attribute>
				</comment>
				<params>
					<param name="type" comment="Type." fulltype="int" type="int" />
					<param name="value" comment="Object value." fulltype="java.lang.Object" type="Object" />
				</params>
			</constructor>
			<method visibility="public" name="accept" returncomment="Result of Visitor operation." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Support for Visitor interface.</description>
					<attribute name="@return">
						<description>Result of Visitor operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="v" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor" />
				</params>
			</method>
			<method visibility="public" name="type" returncomment="Result of Type operation." fulltype="int" type="int">
				<comment>
					<description>Support for Type interface.</description>
					<attribute name="@return">
						<description>Result of Type operation.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="qname" returncomment="Result of QName operation." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName">
				<comment>
					<description>Support for QName interface.</description>
					<attribute name="@return">
						<description>Result of QName operation.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="kind_test" returncomment="Result of KindTest operation." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.KindTest" type="KindTest">
				<comment>
					<description>Support KindTest interface.</description>
					<attribute name="@return">
						<description>Result of KindTest operation.</description>
					</attribute>
				</comment>
			</method>
		</methods>
	</jelclass>
	<jelclass abstract="true" superclass="NodeTest" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.NodeTest" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.KindTest" type="KindTest">
		<comment>
			<description>Class for KindTest operation.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="KindTest" />
			<method abstract="true" visibility="public" name="createTestType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType">
				<params>
					<param name="rs" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
					<param name="sc" fulltype="org.eclipse.wst.xml.xpath2.api.StaticContext" type="StaticContext" />
				</params>
			</method>
			<method abstract="true" visibility="public" name="name" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
			<method abstract="true" visibility="public" name="isWild" fulltype="boolean" type="boolean" />
			<method abstract="true" visibility="public" name="getXDMClassType" fulltype="java.lang.Class" type="Class" />
		</methods>
	</jelclass>
	<jelclass abstract="true" superclass="PrimaryExpr" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.PrimaryExpr" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Literal" type="Literal">
		<comment>
			<description>Literal is either a NumericLiteral or a StringLiteral</description>
		</comment>
		<methods>
			<constructor visibility="public" name="Literal" />
		</methods>
	</jelclass>
	<jelclass superclass="UnExpr" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.UnExpr" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.MinusExpr" type="MinusExpr">
		<comment>
			<description>Class for Minus expressions.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="MinusExpr">
				<comment>
					<description>Constructor for MinusExpr</description>
					<attribute name="@param">
						<description>arg
            argument expressions.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="argument expressions." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" type="Expr" />
				</params>
			</constructor>
			<method visibility="public" name="accept" returncomment="Result of Visitor operation." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Support for Visitor interface.</description>
					<attribute name="@return">
						<description>Result of Visitor operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="v" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="BinExpr" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.BinExpr" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.ModExpr" type="ModExpr">
		<comment>
			<description>Class for Modular operation.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="ModExpr">
				<comment>
					<description>Constructor for ModExpr.</description>
					<attribute name="@param">
						<description>l
            input1 xpath expression/variable.</description>
					</attribute>
					<attribute name="@param">
						<description>r
            input2 xpath expression/variable.</description>
					</attribute>
				</comment>
				<params>
					<param name="l" comment="input1 xpath expression/variable." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" type="Expr" />
					<param name="r" comment="input2 xpath expression/variable." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" type="Expr" />
				</params>
			</constructor>
			<method visibility="public" name="accept" returncomment="Result of Visitor operation." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Support for Visitor interface.</description>
					<attribute name="@return">
						<description>Result of Visitor operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="v" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="BinExpr" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.BinExpr" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.MulExpr" type="MulExpr">
		<comment>
			<description>Class for Multiply operation.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="MulExpr">
				<comment>
					<description>Constructor for MulExpr.</description>
					<attribute name="@param">
						<description>l
            input1 xpath expression/variable.</description>
					</attribute>
					<attribute name="@param">
						<description>r
            input2 xpath expression/variable.</description>
					</attribute>
				</comment>
				<params>
					<param name="l" comment="input1 xpath expression/variable." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" type="Expr" />
					<param name="r" comment="input2 xpath expression/variable." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" type="Expr" />
				</params>
			</constructor>
			<method visibility="public" name="accept" returncomment="Result of Visitor operation." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Support for Visitor interface.</description>
					<attribute name="@return">
						<description>Result of Visitor operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="v" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="NodeTest" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.NodeTest" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.NameTest" type="NameTest">
		<comment>
			<description>Class for Name test operation.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="NameTest">
				<comment>
					<description>Constructor for NameTest.</description>
					<attribute name="@param">
						<description>name
            QName to test.</description>
					</attribute>
				</comment>
				<params>
					<param name="name" comment="QName to test." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</constructor>
			<method visibility="public" name="accept" returncomment="Result of Visitor operation." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Support for Visitor interface.</description>
					<attribute name="@return">
						<description>Result of Visitor operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="v" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor" />
				</params>
			</method>
			<method visibility="public" name="name" returncomment="Resulf of QName operation." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName">
				<comment>
					<description>Support for QName interface.</description>
					<attribute name="@return">
						<description>Resulf of QName operation.</description>
					</attribute>
				</comment>
			</method>
		</methods>
	</jelclass>
	<jelclass abstract="true" superclass="XPathNode" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathNode" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.NodeTest" type="NodeTest">
		<comment>
			<description>Class for Node test operation.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="NodeTest" />
		</methods>
	</jelclass>
	<jelclass abstract="true" superclass="Literal" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Literal" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.NumericLiteral" type="NumericLiteral">
		<comment>
			<description>NumericLiteral is a value of typpe xs:integer, xs:decimal or xs:double</description>
		</comment>
		<methods>
			<constructor visibility="public" name="NumericLiteral" />
		</methods>
	</jelclass>
	<jelclass superclass="BinExpr" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.BinExpr" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.OrExpr" type="OrExpr">
		<comment>
			<description>Class for Or operation.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="OrExpr">
				<comment>
					<description>Constructor for OrExpr.</description>
					<attribute name="@param">
						<description>l
            left expression.</description>
					</attribute>
					<attribute name="@param">
						<description>r
            right expression.</description>
					</attribute>
				</comment>
				<params>
					<param name="l" comment="left expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" type="Expr" />
					<param name="r" comment="right expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" type="Expr" />
				</params>
			</constructor>
			<method visibility="public" name="accept" returncomment="Resulf of Visitor operation." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Support for Visitor interface.</description>
					<attribute name="@return">
						<description>Resulf of Visitor operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="v" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="KindTest" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.KindTest" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.PITest" type="PITest">
		<comment>
			<description>Class for Processing Instruction support.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="PITest">
				<comment>
					<description>Constructor for PITest.</description>
					<attribute name="@param">
						<description>arg
            instruction argument.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="instruction argument." fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
			<constructor visibility="public" name="PITest">
				<comment>
					<description>Default Constructor for PITest.</description>
				</comment>
			</constructor>
			<method visibility="public" name="accept" returncomment="Result of Visitor operation." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Support for Visitor interface.</description>
					<attribute name="@return">
						<description>Result of Visitor operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="v" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor" />
				</params>
			</method>
			<method visibility="public" name="arg" returncomment="Result of String operation." fulltype="java.lang.String" type="String">
				<comment>
					<description>Support for String arguments.</description>
					<attribute name="@return">
						<description>Result of String operation.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="createTestType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType">
				<params>
					<param name="rs" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
					<param name="sc" fulltype="org.eclipse.wst.xml.xpath2.api.StaticContext" type="StaticContext" />
				</params>
			</method>
			<method visibility="public" name="name" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
			<method visibility="public" name="isWild" fulltype="boolean" type="boolean" />
			<method visibility="public" name="getXDMClassType" fulltype="java.lang.Class" type="Class" />
		</methods>
	</jelclass>
	<jelclass superclass="PrimaryExpr" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.PrimaryExpr" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.ParExpr" type="ParExpr">
		<comment>
			<description>Class for parethesized expressions support.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="ParExpr">
				<comment>
					<description>Constructor for ParExpr.</description>
					<attribute name="@param">
						<description>exprs
            Expressions.</description>
					</attribute>
				</comment>
				<params>
					<param name="exprs" comment="Expressions." fulltype="java.util.Collection" type="Collection" />
				</params>
			</constructor>
			<method visibility="public" name="accept" returncomment="Result of Visitor operation." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Support for Visitor interface.</description>
					<attribute name="@return">
						<description>Result of Visitor operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="v" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor" />
				</params>
			</method>
			<method visibility="public" name="iterator" returncomment="Result of Iterator operation." fulltype="java.util.Iterator" type="Iterator">
				<comment>
					<description>Support for Iterator interface.</description>
					<attribute name="@return">
						<description>Result of Iterator operation.</description>
					</attribute>
				</comment>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="BinExpr" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.BinExpr" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.PipeExpr" type="PipeExpr">
		<comment>
			<description>Class for Piped expressions support.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="PipeExpr">
				<comment>
					<description>Constructor for PipeExpr.</description>
					<attribute name="@param">
						<description>l
            Left expression.</description>
					</attribute>
					<attribute name="@param">
						<description>r
            Right expression.</description>
					</attribute>
				</comment>
				<params>
					<param name="l" comment="Left expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" type="Expr" />
					<param name="r" comment="Right expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" type="Expr" />
				</params>
			</constructor>
			<method visibility="public" name="accept" returncomment="Result of Visitor operation." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Support for Visitor interface.</description>
					<attribute name="@return">
						<description>Result of Visitor operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="v" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="UnExpr" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.UnExpr" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.PlusExpr" type="PlusExpr">
		<comment>
			<description>Class for Plus expression support.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="PlusExpr">
				<comment>
					<description>Constructor for PlusExpr.</description>
					<attribute name="@param">
						<description>arg
            Arguments.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="Arguments." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" type="Expr" />
				</params>
			</constructor>
			<method visibility="public" name="accept" returncomment="Result of Visitor operation." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Support for Visitor interface.</description>
					<attribute name="@return">
						<description>Result of Visitor operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="v" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass abstract="true" superclass="XPathNode" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathNode" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.PrimaryExpr" type="PrimaryExpr">
		<comment>
			<description>Support for Basic primitive language.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="PrimaryExpr" />
		</methods>
	</jelclass>
	<jelclass superclass="Expr" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.QuantifiedExpr" type="QuantifiedExpr">
		<comment>
			<description>Support for Quantified expressions.</description>
		</comment>
		<fields>
			<field final="true" static="true" const="0" visibility="public" name="SOME" constexpr="0" fulltype="int" type="int">
				<comment>
					<description>Set internal value for SOME.</description>
				</comment>
			</field>
			<field final="true" static="true" const="1" visibility="public" name="ALL" constexpr="1" fulltype="int" type="int">
				<comment>
					<description>Set internal value for ALL.</description>
				</comment>
			</field>
		</fields>
		<methods>
			<constructor visibility="public" name="QuantifiedExpr">
				<comment>
					<description>Constructor for QuantifiedExpr.</description>
					<attribute name="@param">
						<description>type
            Type (0 for SOME, 1 for ALL).</description>
					</attribute>
					<attribute name="@param">
						<description>varexp
            Expressions.</description>
					</attribute>
					<attribute name="@param">
						<description>ret
            Returned expression.</description>
					</attribute>
				</comment>
				<params>
					<param name="type" comment="Type (0 for SOME, 1 for ALL)." fulltype="int" type="int" />
					<param name="varexp" comment="Expressions." fulltype="java.util.Collection" type="Collection" />
					<param name="ret" comment="Returned expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" type="Expr" />
				</params>
			</constructor>
			<method visibility="public" name="accept" returncomment="Result of Visitor operation." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Support for Visitor interface.</description>
					<attribute name="@return">
						<description>Result of Visitor operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="v" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor" />
				</params>
			</method>
			<method visibility="public" name="type" returncomment="Result of Int operation." fulltype="int" type="int">
				<comment>
					<description>Support for Integer interface.</description>
					<attribute name="@return">
						<description>Result of Int operation.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="iterator" returncomment="Result of Iterator operation." fulltype="java.util.Iterator" type="Iterator">
				<comment>
					<description>Support for Iterator inteface.</description>
					<attribute name="@return">
						<description>Result of Iterator operation.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="expr" returncomment="Result of Expr operation." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" type="Expr">
				<comment>
					<description>Support for Expression interface.</description>
					<attribute name="@return">
						<description>Result of Expr operation.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="set_expr" fulltype="void" type="void">
				<comment>
					<description>Set next expression.</description>
					<attribute name="@param">
						<description>e
            Expression.</description>
					</attribute>
				</comment>
				<params>
					<param name="e" comment="Expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" type="Expr" />
				</params>
			</method>
			<method visibility="public" name="truncate_pairs" fulltype="void" type="void">
				<comment>
					<description>Normalization of expression pairs.</description>
				</comment>
			</method>
			<method visibility="public" name="ve_pairs" returncomment="Expression pairs." fulltype="java.util.Collection" type="Collection">
				<comment>
					<description>Support for Collection interface.</description>
					<attribute name="@return">
						<description>Expression pairs.</description>
					</attribute>
				</comment>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="BinExpr" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.BinExpr" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.RangeExpr" type="RangeExpr">
		<comment>
			<description>Support for Range expressions.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="RangeExpr">
				<comment>
					<description>Constructor for RangeExpr.</description>
					<attribute name="@param">
						<description>l
            left expression.</description>
					</attribute>
					<attribute name="@param">
						<description>r
            right expression.</description>
					</attribute>
				</comment>
				<params>
					<param name="l" comment="left expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" type="Expr" />
					<param name="r" comment="right expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" type="Expr" />
				</params>
			</constructor>
			<method visibility="public" name="accept" returncomment="Result of Visitor operation." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Support for Visitor interface.</description>
					<attribute name="@return">
						<description>Result of Visitor operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="v" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="Step" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Step" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.ReverseStep" type="ReverseStep">
		<comment>
			<description>Class for Reverse stepping support for Step operations.</description>
		</comment>
		<fields>
			<field final="true" static="true" const="0" visibility="public" name="PARENT" constexpr="0" fulltype="int" type="int">
				<comment>
					<description>Set internal value for PARENT.</description>
				</comment>
			</field>
			<field final="true" static="true" const="1" visibility="public" name="ANCESTOR" constexpr="1" fulltype="int" type="int">
				<comment>
					<description>Set internal value for ANCESTOR.</description>
				</comment>
			</field>
			<field final="true" static="true" const="2" visibility="public" name="PRECEDING_SIBLING" constexpr="2" fulltype="int" type="int">
				<comment>
					<description>Set internal value for PRECEDING_SIBLING.</description>
				</comment>
			</field>
			<field final="true" static="true" const="3" visibility="public" name="PRECEDING" constexpr="3" fulltype="int" type="int">
				<comment>
					<description>Set internal value for PRECEDING.</description>
				</comment>
			</field>
			<field final="true" static="true" const="4" visibility="public" name="ANCESTOR_OR_SELF" constexpr="4" fulltype="int" type="int">
				<comment>
					<description>Set internal value for ANCESTOR_OR_SELF.</description>
				</comment>
			</field>
			<field final="true" static="true" const="5" visibility="public" name="DOTDOT" constexpr="5" fulltype="int" type="int">
				<comment>
					<description>Set internal value for DOTDOT.</description>
				</comment>
			</field>
		</fields>
		<methods>
			<constructor visibility="public" name="ReverseStep">
				<comment>
					<description>Constructor for ReverseStep.</description>
					<attribute name="@param">
						<description>axis
            Axis number.</description>
					</attribute>
					<attribute name="@param">
						<description>node_test
            Node test.</description>
					</attribute>
				</comment>
				<params>
					<param name="axis" comment="Axis number." fulltype="int" type="int" />
					<param name="node_test" comment="Node test." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.NodeTest" type="NodeTest" />
				</params>
			</constructor>
			<method visibility="public" name="accept" returncomment="Result of Visitor operation." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Support for Visitor interface.</description>
					<attribute name="@return">
						<description>Result of Visitor operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="v" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor" />
				</params>
			</method>
			<method visibility="public" name="axis" returncomment="Result of Axis operation." fulltype="int" type="int">
				<comment>
					<description>Support for Axis interface.</description>
					<attribute name="@return">
						<description>Result of Axis operation.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="iterator" returncomment="Result of Iterator operation." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ReverseAxis" type="ReverseAxis">
				<comment>
					<description>Support for Iterator interface.</description>
					<attribute name="@return">
						<description>Result of Iterator operation.</description>
					</attribute>
				</comment>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="KindTest" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.KindTest" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.SchemaAttrTest" type="SchemaAttrTest">
		<comment>
			<description>Support for Schema Attribute test.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="SchemaAttrTest">
				<comment>
					<description>Constructor for SchemaAttrTest.</description>
					<attribute name="@param">
						<description>arg
            QName argument.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="QName argument." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</constructor>
			<method visibility="public" name="accept" returncomment="Result of Visitor operation." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Support for Visitor interface.</description>
					<attribute name="@return">
						<description>Result of Visitor operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="v" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor" />
				</params>
			</method>
			<method visibility="public" name="arg" returncomment="Result of QName operation." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName">
				<comment>
					<description>Support for QName interface.</description>
					<attribute name="@return">
						<description>Result of QName operation.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="createTestType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType">
				<params>
					<param name="rs" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
					<param name="sc" fulltype="org.eclipse.wst.xml.xpath2.api.StaticContext" type="StaticContext" />
				</params>
			</method>
			<method visibility="public" name="name" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
			<method visibility="public" name="isWild" fulltype="boolean" type="boolean" />
			<method visibility="public" name="getXDMClassType" fulltype="java.lang.Class" type="Class" />
		</methods>
	</jelclass>
	<jelclass superclass="KindTest" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.KindTest" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.SchemaElemTest" type="SchemaElemTest">
		<comment>
			<description>Support for Schema Element Test.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="SchemaElemTest">
				<comment>
					<description>Constructor for SchemaElemTest.</description>
					<attribute name="@param">
						<description>arg
            QName argument.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="QName argument." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</constructor>
			<method visibility="public" name="accept" returncomment="Result of Visitor operation." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Support for Visitor interface.</description>
					<attribute name="@return">
						<description>Result of Visitor operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="v" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor" />
				</params>
			</method>
			<method visibility="public" name="name" returncomment="Result of QName operation." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName">
				<comment>
					<description>Support for QName interface.</description>
					<attribute name="@return">
						<description>Result of QName operation.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="createTestType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType">
				<params>
					<param name="rs" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
					<param name="sc" fulltype="org.eclipse.wst.xml.xpath2.api.StaticContext" type="StaticContext" />
				</params>
			</method>
			<method visibility="public" name="isWild" fulltype="boolean" type="boolean" />
			<method visibility="public" name="getXDMClassType" fulltype="java.lang.Class" type="Class" />
		</methods>
	</jelclass>
	<jelclass superclass="XPathNode" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathNode" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.SequenceType" type="SequenceType">
		<comment>
			<description>Support for Sequence type.</description>
		</comment>
		<fields>
			<field final="true" static="true" const="0" visibility="public" name="EMPTY" constexpr="0" fulltype="int" type="int">
				<comment>
					<description>Set internal value for EMPTY.</description>
				</comment>
			</field>
			<field final="true" static="true" const="1" visibility="public" name="NONE" constexpr="1" fulltype="int" type="int">
				<comment>
					<description>Set internal value for NONE.</description>
				</comment>
			</field>
			<field final="true" static="true" const="2" visibility="public" name="QUESTION" constexpr="2" fulltype="int" type="int">
				<comment>
					<description>Set internal value for QUESTION.</description>
				</comment>
			</field>
			<field final="true" static="true" const="3" visibility="public" name="STAR" constexpr="3" fulltype="int" type="int">
				<comment>
					<description>Set internal value for STAR.</description>
				</comment>
			</field>
			<field final="true" static="true" const="4" visibility="public" name="PLUS" constexpr="4" fulltype="int" type="int">
				<comment>
					<description>Set internal value for PLUS.</description>
				</comment>
			</field>
		</fields>
		<methods>
			<constructor visibility="public" name="SequenceType">
				<comment>
					<description>Constructor for SequenceType.</description>
					<attribute name="@param">
						<description>occ
            Occurence.</description>
					</attribute>
					<attribute name="@param">
						<description>it
            Item type.</description>
					</attribute>
				</comment>
				<params>
					<param name="occ" comment="Occurence." fulltype="int" type="int" />
					<param name="it" comment="Item type." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.ItemType" type="ItemType" />
				</params>
			</constructor>
			<method visibility="public" name="accept" returncomment="Result of Visitor operation." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Support for Visitor interface.</description>
					<attribute name="@return">
						<description>Result of Visitor operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="v" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor" />
				</params>
			</method>
			<method visibility="public" name="occurrence" returncomment="Result from Int operation." fulltype="int" type="int">
				<comment>
					<description>Get occurence of item.</description>
					<attribute name="@return">
						<description>Result from Int operation.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="item_type" returncomment="Result of ItemType operation." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.ItemType" type="ItemType">
				<comment>
					<description>Support for ItemType interface.</description>
					<attribute name="@return">
						<description>Result of ItemType operation.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="isLengthValid" fulltype="boolean" type="boolean">
				<params>
					<param name="length" fulltype="int" type="int" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="XPathNode" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathNode" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.SingleType" type="SingleType">
		<comment>
			<description>Support for Single types.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="SingleType">
				<comment>
					<description>Constructor for SingleType.</description>
					<attribute name="@param">
						<description>type
            QName type.</description>
					</attribute>
					<attribute name="@param">
						<description>qmark
            optional type? (true/false).</description>
					</attribute>
				</comment>
				<params>
					<param name="type" comment="QName type." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
					<param name="qmark" comment="optional type? (true/false)." fulltype="boolean" type="boolean" />
				</params>
			</constructor>
			<constructor visibility="public" name="SingleType">
				<comment>
					<description>Default Constructor for SingleType.</description>
				</comment>
				<params>
					<param name="type" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</constructor>
			<method visibility="public" name="accept" returncomment="Result of Visitor operation." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Support for Visitor interface.</description>
					<attribute name="@return">
						<description>Result of Visitor operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="v" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor" />
				</params>
			</method>
			<method visibility="public" name="qmark" returncomment="optional type value." fulltype="boolean" type="boolean">
				<comment>
					<description>Set optional type.</description>
					<attribute name="@return">
						<description>optional type value.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="type" returncomment="Result of QName operation." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName">
				<comment>
					<description>Support for QName interface.</description>
					<attribute name="@return">
						<description>Result of QName operation.</description>
					</attribute>
				</comment>
			</method>
		</methods>
	</jelclass>
	<jelclass abstract="true" superclass="XPathNode" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathNode" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Step" type="Step">
		<comment>
			<description>Support for Step operations.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="Step">
				<comment>
					<description>Constructor for Step.</description>
					<attribute name="@param">
						<description>node_test
            Nodes for operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="node_test" comment="Nodes for operation." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.NodeTest" type="NodeTest" />
				</params>
			</constructor>
			<method visibility="public" name="node_test" returncomment="Result of NodeTest operation." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.NodeTest" type="NodeTest">
				<comment>
					<description>Support for NodeTest interface.</description>
					<attribute name="@return">
						<description>Result of NodeTest operation.</description>
					</attribute>
				</comment>
			</method>
		</methods>
	</jelclass>
	<jelclass abstract="true" superclass="Expr" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.StepExpr" type="StepExpr">
		<comment>
			<description>Support for Step expressions.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="StepExpr" />
		</methods>
	</jelclass>
	<jelclass superclass="Literal" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Literal" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.StringLiteral" type="StringLiteral">
		<comment>
			<description>The value of a string literal is an atomic value whose type is xs:string and
 whose value is the string denoted by the characters between the delimiting
 apostrophes or quotation marks. If the literal is delimited by apostrophes,
 two adjacent apostrophes within the literal are interpreted as a single
 apostrophe. Similarly, if the literal is delimited by quotation marks, two
 adjacent quotation marks within the literal are interpreted as one quotation
 mark</description>
		</comment>
		<methods>
			<constructor visibility="public" name="StringLiteral">
				<comment>
					<description>Constructor for StringLiteral</description>
					<attribute name="@param">
						<description>value
            string value</description>
					</attribute>
				</comment>
				<params>
					<param name="value" comment="string value" fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
			<method visibility="public" name="accept" returncomment="Result of Visitor operation." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Support for Visitor interface.</description>
					<attribute name="@return">
						<description>Result of Visitor operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="v" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor" />
				</params>
			</method>
			<method visibility="public" name="string" returncomment="string value" fulltype="java.lang.String" type="String">
				<comment>
					<attribute name="@return">
						<description>string value</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="value" returncomment="xs:string value" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSString" type="XSString">
				<comment>
					<attribute name="@return">
						<description>xs:string value</description>
					</attribute>
				</comment>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="BinExpr" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.BinExpr" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.SubExpr" type="SubExpr">
		<comment>
			<description>Support for Subtraction operation.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="SubExpr">
				<comment>
					<description>Constructor for SubExpr.</description>
					<attribute name="@param">
						<description>l
            left input.</description>
					</attribute>
					<attribute name="@param">
						<description>r
            right input.</description>
					</attribute>
				</comment>
				<params>
					<param name="l" comment="left input." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" type="Expr" />
					<param name="r" comment="right input." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" type="Expr" />
				</params>
			</constructor>
			<method visibility="public" name="accept" returncomment="Result of Visitor operation." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Support for Visitor interface.</description>
					<attribute name="@return">
						<description>Result of Visitor operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="v" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="KindTest" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.KindTest" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.TextTest" type="TextTest">
		<comment>
			<description>Class to match any text node.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="TextTest" />
			<method visibility="public" name="accept" returncomment="Result of Visitor operation." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Support for Visitor interface.</description>
					<attribute name="@return">
						<description>Result of Visitor operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="v" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor" />
				</params>
			</method>
			<method visibility="public" name="createTestType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType">
				<params>
					<param name="rs" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
					<param name="sc" fulltype="org.eclipse.wst.xml.xpath2.api.StaticContext" type="StaticContext" />
				</params>
			</method>
			<method visibility="public" name="name" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
			<method visibility="public" name="isWild" fulltype="boolean" type="boolean" />
			<method visibility="public" name="getXDMClassType" fulltype="java.lang.Class" type="Class" />
		</methods>
	</jelclass>
	<jelclass superclass="BinExpr" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.BinExpr" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.TreatAsExpr" type="TreatAsExpr">
		<comment>
			<description>Support for Treat operation. This does not change the value of the operand,
 rather it ensues the operand has a correct type at evaluation time.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="TreatAsExpr">
				<comment>
					<description>Constructor for TreatAsExpr.</description>
					<attribute name="@param">
						<description>l
            xpath expression/variable.</description>
					</attribute>
					<attribute name="@param">
						<description>r
            SequenceType to treat as.</description>
					</attribute>
				</comment>
				<params>
					<param name="l" comment="xpath expression/variable." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" type="Expr" />
					<param name="r" comment="SequenceType to treat as." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.SequenceType" type="SequenceType" />
				</params>
			</constructor>
			<method visibility="public" name="accept" returncomment="Result of Visitor operation." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Support for Visitor interface.</description>
					<attribute name="@return">
						<description>Result of Visitor operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="v" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass abstract="true" superclass="Expr" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.UnExpr" type="UnExpr">
		<comment>
			<description>Support for Unary expressions.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="UnExpr">
				<comment>
					<description>Constructor for UnExpr.</description>
					<attribute name="@param">
						<description>arg
            expression.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" type="Expr" />
				</params>
			</constructor>
			<method visibility="public" name="arg" returncomment="Result of Expr operation." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" type="Expr">
				<comment>
					<description>Support for Expression interface.</description>
					<attribute name="@return">
						<description>Result of Expr operation.</description>
					</attribute>
				</comment>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="BinExpr" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.BinExpr" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.UnionExpr" type="UnionExpr">
		<comment>
			<description>The union class takes two node sequences as operands and return a sequence
 containing all the nodes that occur in either of the operands.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="UnionExpr">
				<comment>
					<description>Constructor for UnionExpr.</description>
					<attribute name="@param">
						<description>l
            input1 xpath expression/variable.</description>
					</attribute>
					<attribute name="@param">
						<description>r
            unput2 xpath expression/variable.</description>
					</attribute>
				</comment>
				<params>
					<param name="l" comment="input1 xpath expression/variable." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" type="Expr" />
					<param name="r" comment="unput2 xpath expression/variable." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" type="Expr" />
				</params>
			</constructor>
			<method visibility="public" name="accept" returncomment="Result of Visitor operation." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Support for Visitor interface.</description>
					<attribute name="@return">
						<description>Result of Visitor operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="v" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="Object" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="java.lang.Object" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.VarExprPair" type="VarExprPair">
		<comment>
			<description>Class for Variable Expression Pairs.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="VarExprPair">
				<comment>
					<description>Constructor for VarExprPair.</description>
					<attribute name="@param">
						<description>var
            QName variable.</description>
					</attribute>
					<attribute name="@param">
						<description>expr
            Expression.</description>
					</attribute>
				</comment>
				<params>
					<param name="var" comment="QName variable." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
					<param name="expr" comment="Expression." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" type="Expr" />
				</params>
			</constructor>
			<method visibility="public" name="varname" returncomment="Result of QName operation." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName">
				<comment>
					<description>Support for QName interface.</description>
					<attribute name="@return">
						<description>Result of QName operation.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="expr" returncomment="Result of Expr operation." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" type="Expr">
				<comment>
					<description>Support for Expression interface.</description>
					<attribute name="@return">
						<description>Result of Expr operation.</description>
					</attribute>
				</comment>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="PrimaryExpr" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.PrimaryExpr" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.VarRef" type="VarRef">
		<comment>
			<description>Support for Variable Reference. A QName preceded by a $-sign is a variable
 reference.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="VarRef">
				<comment>
					<description>Constructor for VarRef.</description>
					<attribute name="@param">
						<description>name
            QName.</description>
					</attribute>
				</comment>
				<params>
					<param name="name" comment="QName." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</constructor>
			<method visibility="public" name="accept" returncomment="Result of Visitor operation." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Support for Visitor interface.</description>
					<attribute name="@return">
						<description>Result of Visitor operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="v" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor" />
				</params>
			</method>
			<method visibility="public" name="name" returncomment="Result of QName operation." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName">
				<comment>
					<description>Support for QName interface.</description>
					<attribute name="@return">
						<description>Result of QName operation.</description>
					</attribute>
				</comment>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="Expr" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathExpr" type="XPathExpr">
		<comment>
			<description>Path expression walks tries to walk the path specified in its argument</description>
		</comment>
		<methods>
			<constructor visibility="public" name="XPathExpr">
				<comment>
					<attribute name="@param">
						<description>slashes
            is copied to _slashes</description>
					</attribute>
					<attribute name="@param">
						<description>expr
            is copied to _expr _next is made null as a result.</description>
					</attribute>
				</comment>
				<params>
					<param name="slashes" comment="is copied to _slashes" fulltype="int" type="int" />
					<param name="expr" comment="is copied to _expr _next is made null as a result." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.StepExpr" type="StepExpr" />
				</params>
			</constructor>
			<method visibility="public" name="accept" returncomment="Result of Visitor operation." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Support for Visitor interface.</description>
					<attribute name="@return">
						<description>Result of Visitor operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="v" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor" />
				</params>
			</method>
			<method visibility="public" name="add_tail" fulltype="void" type="void">
				<comment>
					<description>Add to tail of path</description>
				</comment>
				<params>
					<param name="slashes" fulltype="int" type="int" />
					<param name="expr" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.StepExpr" type="StepExpr" />
				</params>
			</method>
			<method visibility="public" name="set_slashes" fulltype="void" type="void">
				<comment>
					<attribute name="@param">
						<description>count
            is copied to _slashes</description>
					</attribute>
				</comment>
				<params>
					<param name="count" comment="is copied to _slashes" fulltype="int" type="int" />
				</params>
			</method>
			<method visibility="public" name="next" returncomment="XPath expression _next" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathExpr" type="XPathExpr">
				<comment>
					<attribute name="@return">
						<description>XPath expression _next</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="set_next" fulltype="void" type="void">
				<comment>
					<description>an XPath expression, n is copied to _next</description>
				</comment>
				<params>
					<param name="n" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathExpr" type="XPathExpr" />
				</params>
			</method>
			<method visibility="public" name="expr" returncomment="Step expression _expr" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.StepExpr" type="StepExpr">
				<comment>
					<attribute name="@return">
						<description>Step expression _expr</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="slashes" returncomment="int _slashes" fulltype="int" type="int">
				<comment>
					<attribute name="@return">
						<description>int _slashes</description>
					</attribute>
				</comment>
			</method>
		</methods>
	</jelclass>
	<jelclass abstract="true" superclass="Object" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" superclassfulltype="java.lang.Object" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathNode" type="XPathNode">
		<comment>
			<description>Class for a XPathNode object.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="XPathNode" />
			<method abstract="true" visibility="public" name="accept" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Support for Visitor interface.</description>
				</comment>
				<params>
					<param name="v" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass abstract="true" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.ast" interface="true" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor" type="XPathVisitor">
		<comment>
			<description>Visitor class for XPath expressions.</description>
		</comment>
		<methods>
			<method visibility="public" name="visit" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Visit XPath.</description>
				</comment>
				<params>
					<param name="xp" fulltype="org.eclipse.wst.xml.xpath2.processor.ast.XPath" type="XPath" />
				</params>
			</method>
			<method visibility="public" name="visit" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Visit ForExpr.</description>
				</comment>
				<params>
					<param name="fex" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.ForExpr" type="ForExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Visit QuantifiedExpr.</description>
				</comment>
				<params>
					<param name="qex" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.QuantifiedExpr" type="QuantifiedExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Visit IfExpr.</description>
				</comment>
				<params>
					<param name="ifex" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.IfExpr" type="IfExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Visit OrExpr.</description>
				</comment>
				<params>
					<param name="orex" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.OrExpr" type="OrExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Visit AndExpr.</description>
				</comment>
				<params>
					<param name="andex" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.AndExpr" type="AndExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Visit CmpExpr.</description>
				</comment>
				<params>
					<param name="cmpex" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.CmpExpr" type="CmpExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Visit RangeExpr.</description>
				</comment>
				<params>
					<param name="rex" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.RangeExpr" type="RangeExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Visit AddExpr.</description>
				</comment>
				<params>
					<param name="addex" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.AddExpr" type="AddExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Visit SubExpr.</description>
				</comment>
				<params>
					<param name="subex" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.SubExpr" type="SubExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Visit MulExpr.</description>
				</comment>
				<params>
					<param name="mulex" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.MulExpr" type="MulExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Visit DivExpr.</description>
				</comment>
				<params>
					<param name="mulex" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.DivExpr" type="DivExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Visit IDivExpr.</description>
				</comment>
				<params>
					<param name="mulex" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.IDivExpr" type="IDivExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Visit ModExpr.</description>
				</comment>
				<params>
					<param name="mulex" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.ModExpr" type="ModExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Visit UnionExpr.</description>
				</comment>
				<params>
					<param name="unex" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.UnionExpr" type="UnionExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Visit PipeExpr.</description>
				</comment>
				<params>
					<param name="pipex" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.PipeExpr" type="PipeExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Visit IntersectExpr.</description>
				</comment>
				<params>
					<param name="iexpr" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.IntersectExpr" type="IntersectExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Visit ExceptExpr.</description>
				</comment>
				<params>
					<param name="eexpr" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.ExceptExpr" type="ExceptExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Visit InstOfExpr.</description>
				</comment>
				<params>
					<param name="ioexp" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.InstOfExpr" type="InstOfExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Visit TreatAsExpr.</description>
				</comment>
				<params>
					<param name="taexp" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.TreatAsExpr" type="TreatAsExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Visit CastableExpr.</description>
				</comment>
				<params>
					<param name="cexp" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.CastableExpr" type="CastableExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Visit CastExpr.</description>
				</comment>
				<params>
					<param name="cexp" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.CastExpr" type="CastExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Visit MinusExpr.</description>
				</comment>
				<params>
					<param name="e" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.MinusExpr" type="MinusExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Visit PlusExpr.</description>
				</comment>
				<params>
					<param name="e" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.PlusExpr" type="PlusExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Visit XPathExpr.</description>
				</comment>
				<params>
					<param name="e" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathExpr" type="XPathExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Visit ForwardStep.</description>
				</comment>
				<params>
					<param name="e" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.ForwardStep" type="ForwardStep" />
				</params>
			</method>
			<method visibility="public" name="visit" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Visit ReverseStep.</description>
				</comment>
				<params>
					<param name="e" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.ReverseStep" type="ReverseStep" />
				</params>
			</method>
			<method visibility="public" name="visit" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Visit NameTest.</description>
				</comment>
				<params>
					<param name="e" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.NameTest" type="NameTest" />
				</params>
			</method>
			<method visibility="public" name="visit" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Visit VarRef.</description>
				</comment>
				<params>
					<param name="e" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.VarRef" type="VarRef" />
				</params>
			</method>
			<method visibility="public" name="visit" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Visit StringLiteral.</description>
				</comment>
				<params>
					<param name="e" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.StringLiteral" type="StringLiteral" />
				</params>
			</method>
			<method visibility="public" name="visit" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Visit IntegerLiteral.</description>
				</comment>
				<params>
					<param name="e" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.IntegerLiteral" type="IntegerLiteral" />
				</params>
			</method>
			<method visibility="public" name="visit" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Visit DoubleLiteral.</description>
				</comment>
				<params>
					<param name="e" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.DoubleLiteral" type="DoubleLiteral" />
				</params>
			</method>
			<method visibility="public" name="visit" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Visit DecimalLiteral.</description>
				</comment>
				<params>
					<param name="e" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.DecimalLiteral" type="DecimalLiteral" />
				</params>
			</method>
			<method visibility="public" name="visit" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Visit ParExpr.</description>
				</comment>
				<params>
					<param name="e" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.ParExpr" type="ParExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Visit CntxItemExpr.</description>
				</comment>
				<params>
					<param name="e" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.CntxItemExpr" type="CntxItemExpr" />
				</params>
			</method>
			<method visibility="public" name="visit" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Visit FunctionCall.</description>
				</comment>
				<params>
					<param name="e" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.FunctionCall" type="FunctionCall" />
				</params>
			</method>
			<method visibility="public" name="visit" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Visit SingleType.</description>
				</comment>
				<params>
					<param name="e" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.SingleType" type="SingleType" />
				</params>
			</method>
			<method visibility="public" name="visit" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Visit SequenceType.</description>
				</comment>
				<params>
					<param name="e" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.SequenceType" type="SequenceType" />
				</params>
			</method>
			<method visibility="public" name="visit" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Visit ItemType.</description>
				</comment>
				<params>
					<param name="e" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.ItemType" type="ItemType" />
				</params>
			</method>
			<method visibility="public" name="visit" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Visit AnyKindTest.</description>
				</comment>
				<params>
					<param name="e" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.AnyKindTest" type="AnyKindTest" />
				</params>
			</method>
			<method visibility="public" name="visit" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Visit DocumentTest.</description>
				</comment>
				<params>
					<param name="e" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.DocumentTest" type="DocumentTest" />
				</params>
			</method>
			<method visibility="public" name="visit" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Visit TextTest.</description>
				</comment>
				<params>
					<param name="e" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.TextTest" type="TextTest" />
				</params>
			</method>
			<method visibility="public" name="visit" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Visit CommentTest.</description>
				</comment>
				<params>
					<param name="e" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.CommentTest" type="CommentTest" />
				</params>
			</method>
			<method visibility="public" name="visit" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Visit PITest.</description>
				</comment>
				<params>
					<param name="e" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.PITest" type="PITest" />
				</params>
			</method>
			<method visibility="public" name="visit" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Visit AttributeTest.</description>
				</comment>
				<params>
					<param name="e" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.AttributeTest" type="AttributeTest" />
				</params>
			</method>
			<method visibility="public" name="visit" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Visit SchemaAttrTest.</description>
				</comment>
				<params>
					<param name="e" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.SchemaAttrTest" type="SchemaAttrTest" />
				</params>
			</method>
			<method visibility="public" name="visit" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Visit ElementTest.</description>
				</comment>
				<params>
					<param name="e" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.ElementTest" type="ElementTest" />
				</params>
			</method>
			<method visibility="public" name="visit" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Visit SchemElemTest.</description>
				</comment>
				<params>
					<param name="e" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.SchemaElemTest" type="SchemaElemTest" />
				</params>
			</method>
			<method visibility="public" name="visit" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Visit AxisStep.</description>
				</comment>
				<params>
					<param name="e" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.AxisStep" type="AxisStep" />
				</params>
			</method>
			<method visibility="public" name="visit" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Visit FilterExpr.</description>
				</comment>
				<params>
					<param name="e" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.FilterExpr" type="FilterExpr" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass abstract="true" superclass="AnySimpleType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnySimpleType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType" type="AnyAtomicType">
		<comment>
			<description>Common base for every atomic type</description>
		</comment>
		<methods>
			<constructor visibility="public" name="AnyAtomicType" />
		</methods>
	</jelclass>
	<jelclass abstract="true" superclass="AnyType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnySimpleType" type="AnySimpleType">
		<comment>
			<description>Common base for every simple type</description>
		</comment>
		<methods>
			<constructor visibility="public" name="AnySimpleType" />
		</methods>
	</jelclass>
	<jelclass abstract="true" superclass="Object" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="java.lang.Object" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType">
		<implements>
			<interface fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.SingleItemSequence" type="SingleItemSequence" />
		</implements>
		<comment>
			<description>Common base for every type</description>
		</comment>
		<fields>
			<field static="true" visibility="protected" name="_datatypeFactory" fulltype="javax.xml.datatype.DatatypeFactory" type="DatatypeFactory" />
		</fields>
		<methods>
			<constructor visibility="public" name="AnyType" />
			<method abstract="true" visibility="public" name="string_type" returncomment="Datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>Datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method abstract="true" visibility="public" name="getStringValue" returncomment="Value as a string" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s text representation</description>
					<attribute name="@return">
						<description>Value as a string</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="string_value" fulltype="java.lang.String" type="String" />
			<method abstract="true" visibility="public" name="getTypeDefinition" returncomment="Type definition (possibly backed by a schema type)" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition">
				<comment>
					<description>Returns the &quot;new style&quot; of TypeDefinition for this item.</description>
					<attribute name="@return">
						<description>Type definition (possibly backed by a schema type)</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="empty" fulltype="boolean" type="boolean" />
			<method visibility="public" name="iterator" fulltype="java.util.Iterator" type="Iterator" />
			<method visibility="public" name="getItemType" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.ItemType" type="ItemType" />
			<method abstract="true" visibility="public" name="getNativeValue" fulltype="java.lang.Object" type="Object" />
			<method visibility="public" name="size" fulltype="int" type="int" />
			<method visibility="public" name="item" fulltype="org.eclipse.wst.xml.xpath2.api.Item" type="Item">
				<params>
					<param name="index" fulltype="int" type="int" />
				</params>
			</method>
			<method visibility="public" name="value" fulltype="java.lang.Object" type="Object">
				<params>
					<param name="index" fulltype="int" type="int" />
				</params>
			</method>
			<method visibility="public" name="itemType" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.ItemType" type="ItemType">
				<params>
					<param name="index" fulltype="int" type="int" />
				</params>
			</method>
			<method visibility="public" name="first" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
			<method visibility="public" name="firstValue" fulltype="java.lang.Object" type="Object" />
			<method visibility="public" name="sequenceType" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.ItemType" type="ItemType" />
		</methods>
	</jelclass>
	<jelclass superclass="NodeType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AttrType" type="AttrType">
		<comment>
			<description>A representation of the AttributeType datatype</description>
		</comment>
		<fields>
			<field visibility="package-private" name="_value" fulltype="org.w3c.dom.Attr" type="Attr" />
		</fields>
		<methods>
			<constructor visibility="public" name="AttrType">
				<comment>
					<description>Initialises to null</description>
				</comment>
			</constructor>
			<constructor visibility="public" name="AttrType">
				<comment>
					<description>Initialises according to the supplied parameters</description>
					<attribute name="@param">
						<description>v
            The attribute being represented</description>
					</attribute>
				</comment>
				<params>
					<param name="v" comment="The attribute being represented" fulltype="org.w3c.dom.Attr" type="Attr" />
					<param name="tm" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel" type="TypeModel" />
				</params>
			</constructor>
			<method visibility="public" name="string_type" returncomment="&quot;attribute&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;attribute&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getStringValue" returncomment="String representation of the attribute being stored" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the attribute being stored</description>
					<attribute name="@return">
						<description>String representation of the attribute being stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="typed_value" returncomment="New ResultSequence consisting of the attribute being stored" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the attribute being stored</description>
					<attribute name="@return">
						<description>New ResultSequence consisting of the attribute being stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="node_name" returncomment="Name of the node" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName">
				<comment>
					<description>Retrieves the name of the node</description>
					<attribute name="@return">
						<description>Name of the node</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="isID" fulltype="boolean" type="boolean">
				<comment>
					<description>Checks if the current node is of type ID</description>
					<attribute name="@since">
						<description>1.1;</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="isIDREF" fulltype="boolean" type="boolean">
				<comment>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
			</method>
			<method visibility="protected" name="isAttrType" fulltype="boolean" type="boolean">
				<params>
					<param name="typeName" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="getTypeDefinition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
		</methods>
	</jelclass>
	<jelclass abstract="true" superclass="CtrType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CalendarType" type="CalendarType">
		<comment>
			<description>Common base for all Calendar based classes</description>
		</comment>
		<methods>
			<constructor visibility="public" name="CalendarType" />
			<method abstract="true" visibility="public" name="calendar" fulltype="java.util.Calendar" type="Calendar" />
			<method visibility="public" name="normalizeCalendar" fulltype="java.util.Calendar" type="Calendar">
				<params>
					<param name="cal" fulltype="java.util.Calendar" type="Calendar" />
					<param name="timezone" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration" />
				</params>
			</method>
			<method visibility="protected" name="isGDataType" fulltype="boolean" type="boolean">
				<params>
					<param name="aat" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
				</params>
			</method>
			<method visibility="public" name="getNativeValue" fulltype="java.lang.Object" type="Object" />
		</methods>
	</jelclass>
	<jelclass superclass="NodeType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CommentType" type="CommentType">
		<comment>
			<description>A representation of the CommentType datatype</description>
		</comment>
		<methods>
			<constructor visibility="public" name="CommentType">
				<comment>
					<description>Initialise according to the supplied parameters</description>
					<attribute name="@param">
						<description>v
            The comment being represented</description>
					</attribute>
				</comment>
				<params>
					<param name="v" comment="The comment being represented" fulltype="org.w3c.dom.Comment" type="Comment" />
					<param name="tm" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel" type="TypeModel" />
				</params>
			</constructor>
			<method visibility="public" name="string_type" returncomment="&quot;comment&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;comment&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getStringValue" returncomment="String representation of the comment being stored" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the comment being stored</description>
					<attribute name="@return">
						<description>String representation of the comment being stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="typed_value" returncomment="New ResultSequence consisting of the comment stored" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the comment stored</description>
					<attribute name="@return">
						<description>New ResultSequence consisting of the comment stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="node_name" returncomment="null" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName">
				<comment>
					<description>Unsupported method for this node.</description>
					<attribute name="@return">
						<description>null</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="isID" fulltype="boolean" type="boolean">
				<comment>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="isIDREF" fulltype="boolean" type="boolean">
				<comment>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getTypeDefinition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
		</methods>
	</jelclass>
	<jelclass abstract="true" superclass="AnyAtomicType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType" type="CtrType">
		<comment>
			<description>A representation of the CtrType datatype</description>
		</comment>
		<methods>
			<constructor visibility="public" name="CtrType" />
			<method abstract="true" visibility="public" name="constructor" returncomment="The resulting ResultSequence" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Used for constructor function.</description>
					<attribute name="@param">
						<description>arg
            Either an empty sequence or 1 atomic type</description>
					</attribute>
					<attribute name="@return">
						<description>The resulting ResultSequence</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="Either an empty sequence or 1 atomic type" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method abstract="true" visibility="public" name="type_name" returncomment="String representation of the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>String representation of the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getNativeValue" fulltype="java.lang.Object" type="Object" />
		</methods>
	</jelclass>
	<jelclass superclass="NodeType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.DocType" type="DocType">
		<comment>
			<description>A representation of the DocumentType datatype</description>
		</comment>
		<methods>
			<constructor visibility="public" name="DocType">
				<comment>
					<description>Initialises according to the supplied parameters</description>
					<attribute name="@param">
						<description>v
            The document being represented</description>
					</attribute>
				</comment>
				<params>
					<param name="v" comment="The document being represented" fulltype="org.w3c.dom.Document" type="Document" />
					<param name="tm" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel" type="TypeModel" />
				</params>
			</constructor>
			<method visibility="public" name="value" returncomment="Actual document being represented" fulltype="org.w3c.dom.Document" type="Document">
				<comment>
					<description>Retrieves the actual document being represented</description>
					<attribute name="@return">
						<description>Actual document being represented</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="string_type" returncomment="&quot;document&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;document&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getStringValue" returncomment="String representation of the document being stored" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the document being stored</description>
					<attribute name="@return">
						<description>String representation of the document being stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="typed_value" returncomment="New ResultSequence consisting of the document being stored" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the document being stored</description>
					<attribute name="@return">
						<description>New ResultSequence consisting of the document being stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="node_name" returncomment="QName representation of the name of the node" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName">
				<comment>
					<description>Retrieves the name of the node</description>
					<attribute name="@return">
						<description>QName representation of the name of the node</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="isID" fulltype="boolean" type="boolean">
				<comment>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="isIDREF" fulltype="boolean" type="boolean">
				<comment>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getTypeDefinition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
		</methods>
	</jelclass>
	<jelclass superclass="NodeType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.ElementType" type="ElementType">
		<comment>
			<description>A representation of the ElementType datatype</description>
		</comment>
		<methods>
			<constructor visibility="public" name="ElementType">
				<comment>
					<description>Initialises to a null element</description>
				</comment>
			</constructor>
			<constructor visibility="public" name="ElementType">
				<comment>
					<description>Initialises according to the supplied parameters</description>
					<attribute name="@param">
						<description>v
            The element being represented</description>
					</attribute>
				</comment>
				<params>
					<param name="v" comment="The element being represented" fulltype="org.w3c.dom.Element" type="Element" />
					<param name="tm" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel" type="TypeModel" />
				</params>
			</constructor>
			<method visibility="public" name="value" returncomment="Actual element value being represented" fulltype="org.w3c.dom.Element" type="Element">
				<comment>
					<description>Retrieves the actual element value being represented</description>
					<attribute name="@return">
						<description>Actual element value being represented</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="string_type" returncomment="&quot;element&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;element&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getStringValue" returncomment="String representation of the element being stored" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the element being stored</description>
					<attribute name="@return">
						<description>String representation of the element being stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="typed_value" returncomment="New ResultSequence consisting of the element stored" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the element stored</description>
					<attribute name="@return">
						<description>New ResultSequence consisting of the element stored</description>
					</attribute>
				</comment>
			</method>
			<method static="true" visibility="public" name="textnode_strings" returncomment="String representation of the node supplied" fulltype="java.lang.String" type="String">
				<comment>
					<description>Recursively concatenate TextNode strings</description>
					<attribute name="@param">
						<description>node
            Node to recurse</description>
					</attribute>
					<attribute name="@return">
						<description>String representation of the node supplied</description>
					</attribute>
				</comment>
				<params>
					<param name="node" comment="Node to recurse" fulltype="org.w3c.dom.Node" type="Node" />
				</params>
			</method>
			<method visibility="public" name="node_name" returncomment="QName representation of the name of the node" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName">
				<comment>
					<description>Retrieves the name of the node</description>
					<attribute name="@return">
						<description>QName representation of the name of the node</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="nilled" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
			<method visibility="public" name="isID" fulltype="boolean" type="boolean">
				<comment>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="isIDREF" fulltype="boolean" type="boolean">
				<comment>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
			</method>
			<method visibility="protected" name="isElementType" fulltype="boolean" type="boolean">
				<params>
					<param name="typeName" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="getTypeDefinition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
		</methods>
	</jelclass>
	<jelclass superclass="Object" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="java.lang.Object" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeItemTypeImpl" type="NodeItemTypeImpl">
		<implements>
			<interface fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.NodeItemType" type="NodeItemType" />
		</implements>
		<methods>
			<constructor visibility="public" name="NodeItemTypeImpl">
				<params>
					<param name="occurrence" fulltype="short" type="short" />
					<param name="nodeType" fulltype="short" type="short" />
				</params>
			</constructor>
			<constructor visibility="public" name="NodeItemTypeImpl">
				<params>
					<param name="nodeType" fulltype="short" type="short" />
				</params>
			</constructor>
			<constructor visibility="public" name="NodeItemTypeImpl">
				<params>
					<param name="occurrence" fulltype="short" type="short" />
					<param name="nodeType" fulltype="short" type="short" />
					<param name="typeDefinition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
					<param name="name" fulltype="javax.xml.namespace.QName" type="QName" />
					<param name="wildcard" fulltype="boolean" type="boolean" />
				</params>
			</constructor>
			<method visibility="public" name="getOccurrence" fulltype="short" type="short" />
			<method visibility="public" name="getTypeDefinition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
			<method visibility="public" name="isWildcard" fulltype="boolean" type="boolean" />
			<method visibility="public" name="getName" fulltype="javax.xml.namespace.QName" type="QName" />
			<method visibility="public" name="getNodeType" fulltype="short" type="short" />
		</methods>
	</jelclass>
	<jelclass abstract="true" superclass="AnyType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType">
		<comment>
			<description>A representation of a Node datatype</description>
		</comment>
		<fields>
			<field final="true" static="true" const="IDREF" visibility="protected" name="SCHEMA_TYPE_IDREF" constexpr="&quot;IDREF&quot;" fulltype="java.lang.String" type="String" />
			<field final="true" static="true" const="ID" visibility="protected" name="SCHEMA_TYPE_ID" constexpr="&quot;ID&quot;" fulltype="java.lang.String" type="String" />
			<field visibility="protected" name="_typeModel" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel" type="TypeModel" />
			<field final="true" static="true" visibility="public" name="NODE_COMPARATOR" fulltype="java.util.Comparator" type="Comparator" />
		</fields>
		<methods>
			<constructor visibility="public" name="NodeType">
				<comment>
					<description>Initialises according to the supplied parameters</description>
					<attribute name="@param">
						<description>node
            The Node being represented</description>
					</attribute>
					<attribute name="@param">
						<description>document_order
            The document order</description>
					</attribute>
				</comment>
				<params>
					<param name="node" comment="The Node being represented" fulltype="org.w3c.dom.Node" type="Node" />
					<param name="tm" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel" type="TypeModel" />
				</params>
			</constructor>
			<method visibility="public" name="node_value" returncomment="Actual node being represented" fulltype="org.w3c.dom.Node" type="Node">
				<comment>
					<description>Retrieves the actual node being represented</description>
					<attribute name="@return">
						<description>Actual node being represented</description>
					</attribute>
				</comment>
			</method>
			<method abstract="true" visibility="public" name="typed_value" returncomment="Actual node being represented" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Retrieves the actual node being represented</description>
					<attribute name="@return">
						<description>Actual node being represented</description>
					</attribute>
				</comment>
			</method>
			<method abstract="true" visibility="public" name="node_name" returncomment="QName representation of the name of the node" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName">
				<comment>
					<description>Retrieves the name of the node</description>
					<attribute name="@return">
						<description>QName representation of the name of the node</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="nilled" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
			<method static="true" visibility="public" name="dom_to_xpath" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType">
				<params>
					<param name="node" fulltype="org.w3c.dom.Node" type="Node" />
					<param name="tm" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel" type="TypeModel" />
				</params>
			</method>
			<method static="true" visibility="public" name="eliminate_dups" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<params>
					<param name="rs" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
			</method>
			<method static="true" visibility="public" name="sort_document_order" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<params>
					<param name="rs" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
			</method>
			<method static="true" visibility="public" name="same" fulltype="boolean" type="boolean">
				<params>
					<param name="a" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType" />
					<param name="b" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType" />
				</params>
			</method>
			<method visibility="public" name="before" fulltype="boolean" type="boolean">
				<params>
					<param name="two" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType" />
				</params>
			</method>
			<method static="true" visibility="public" name="before" fulltype="boolean" type="boolean">
				<params>
					<param name="a" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType" />
					<param name="b" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType" />
				</params>
			</method>
			<method visibility="public" name="after" fulltype="boolean" type="boolean">
				<params>
					<param name="two" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType" />
				</params>
			</method>
			<method static="true" visibility="public" name="after" fulltype="boolean" type="boolean">
				<params>
					<param name="a" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType" />
					<param name="b" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType" />
				</params>
			</method>
			<method visibility="protected" name="getTypedValueForPrimitiveType" fulltype="java.lang.Object" type="Object">
				<params>
					<param name="typeDef" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
				</params>
			</method>
			<method visibility="protected" name="getXDMTypedValue" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<params>
					<param name="typeDef" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
					<param name="itemValTypes" fulltype="java.util.List" type="List" />
				</params>
			</method>
			<method abstract="true" visibility="public" name="isID" fulltype="boolean" type="boolean" />
			<method abstract="true" visibility="public" name="isIDREF" fulltype="boolean" type="boolean" />
			<method visibility="protected" name="isType" returncomment="" fulltype="boolean" type="boolean">
				<comment>
					<description>Utility method to check to see if a particular TypeInfo matches.</description>
					<attribute name="@param">
						<description>typeInfo</description>
					</attribute>
					<attribute name="@param">
						<description>typeName</description>
					</attribute>
					<attribute name="@return" />
				</comment>
				<params>
					<param name="typeInfo" comment="" fulltype="org.w3c.dom.TypeInfo" type="TypeInfo" />
					<param name="typeName" comment="" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="protected" name="getType" returncomment="TypeDefinition, or null" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition">
				<comment>
					<description>Looks up the available type for the node, if available</description>
					<attribute name="@return">
						<description>TypeDefinition, or null</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getNativeValue" fulltype="java.lang.Object" type="Object" />
			<method visibility="public" name="getTypeModel" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel" type="TypeModel" />
			<method static="true" visibility="public" name="linarize" fulltype="org.eclipse.wst.xml.xpath2.api.ResultBuffer" type="ResultBuffer">
				<params>
					<param name="rs" fulltype="org.eclipse.wst.xml.xpath2.api.ResultBuffer" type="ResultBuffer" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass abstract="true" superclass="CtrType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
		<comment>
			<description>A representation of the NumericType datatype</description>
		</comment>
		<methods>
			<constructor visibility="public" name="NumericType" />
			<method abstract="true" visibility="public" name="zero" returncomment="True if node represnts 0. False otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Check whether node represnts 0</description>
					<attribute name="@return">
						<description>True if node represnts 0. False otherwise</description>
					</attribute>
				</comment>
			</method>
			<method abstract="true" visibility="public" name="unary_minus" returncomment="New ResultSequence representing the negation of the number stored" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence representing the negation of the number
 stored</description>
					<attribute name="@return">
						<description>New ResultSequence representing the negation of the number stored</description>
					</attribute>
				</comment>
			</method>
			<method abstract="true" visibility="public" name="abs" returncomment="New NumericType representing the absolute of the number stored" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
				<comment>
					<description>Absolutes the number stored</description>
					<attribute name="@return">
						<description>New NumericType representing the absolute of the number stored</description>
					</attribute>
				</comment>
			</method>
			<method abstract="true" visibility="public" name="ceiling" returncomment="A NumericType representing the smallest integer greater than the
         number stored" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
				<comment>
					<description>Returns the smallest integer greater than the number stored</description>
					<attribute name="@return">
						<description>A NumericType representing the smallest integer greater than the
         number stored</description>
					</attribute>
				</comment>
			</method>
			<method abstract="true" visibility="public" name="floor" returncomment="A NumericType representing the largest integer smaller than the
         number stored" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
				<comment>
					<description>Returns the largest integer smaller than the number stored</description>
					<attribute name="@return">
						<description>A NumericType representing the largest integer smaller than the
         number stored</description>
					</attribute>
				</comment>
			</method>
			<method abstract="true" visibility="public" name="round" returncomment="A NumericType representing the closest long of the number stored." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
				<comment>
					<description>Returns the closest integer of the number stored.</description>
					<attribute name="@return">
						<description>A NumericType representing the closest long of the number stored.</description>
					</attribute>
				</comment>
			</method>
			<method abstract="true" visibility="public" name="round_half_to_even" returncomment="A NumericType representing the closest long of the number stored." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
				<comment>
					<description>Returns the closest integer of the number stored.</description>
					<attribute name="@return">
						<description>A NumericType representing the closest long of the number stored.</description>
					</attribute>
				</comment>
			</method>
			<method abstract="true" visibility="public" name="round_half_to_even" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
				<params>
					<param name="precision" fulltype="int" type="int" />
				</params>
			</method>
			<method visibility="protected" name="get_single_arg" fulltype="org.eclipse.wst.xml.xpath2.api.Item" type="Item">
				<params>
					<param name="rs" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method static="true" visibility="public" name="get_single_type" returncomment="The node being tested" fulltype="org.eclipse.wst.xml.xpath2.api.Item" type="Item">
				<comment>
					<description>Check whether the supplied node is of the supplied type</description>
					<attribute name="@param">
						<description>at
            The node being tested</description>
					</attribute>
					<attribute name="@param">
						<description>type
            The type expected</description>
					</attribute>
					<attribute name="@return">
						<description>The node being tested</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError
             If node being tested is not of expected type</description>
					</attribute>
				</comment>
				<params>
					<param name="at" comment="The node being tested" fulltype="org.eclipse.wst.xml.xpath2.api.Item" type="Item" />
					<param name="type" comment="The type expected" fulltype="java.lang.Class" type="Class" />
				</params>
				<exceptions>
					<exception comment="If node being tested is not of expected type" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method static="true" visibility="public" name="get_single_type" fulltype="org.eclipse.wst.xml.xpath2.api.Item" type="Item">
				<params>
					<param name="at" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="type" fulltype="java.lang.Class" type="Class" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method static="true" visibility="public" name="get_single_type" returncomment="The node being tested" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType">
				<comment>
					<description>Check whether first node in supplied ResultSequence is of the supplied
 type</description>
					<attribute name="@param">
						<description>rs
            The node being tested</description>
					</attribute>
					<attribute name="@param">
						<description>type
            The type expected</description>
					</attribute>
					<attribute name="@return">
						<description>The node being tested</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError
             If node being tested is not of expected type</description>
					</attribute>
				</comment>
				<params>
					<param name="rs" comment="The node being tested" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
					<param name="type" comment="The type expected" fulltype="java.lang.Class" type="Class" />
				</params>
				<exceptions>
					<exception comment="If node being tested is not of expected type" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="NodeType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.PIType" type="PIType">
		<comment>
			<description>A representation of the ProcessingInstruction datatype</description>
		</comment>
		<methods>
			<constructor visibility="public" name="PIType">
				<comment>
					<description>Initialises according to the supplied parameters</description>
					<attribute name="@param">
						<description>v
            The processing instruction this node represents</description>
					</attribute>
					<attribute name="@param">
						<description>doc_order
            The document order</description>
					</attribute>
				</comment>
				<params>
					<param name="v" comment="The processing instruction this node represents" fulltype="org.w3c.dom.ProcessingInstruction" type="ProcessingInstruction" />
					<param name="tm" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel" type="TypeModel" />
				</params>
			</constructor>
			<method visibility="public" name="value" returncomment="Actual processing instruction this node represents" fulltype="org.w3c.dom.ProcessingInstruction" type="ProcessingInstruction">
				<comment>
					<description>Retrieves the actual processing instruction this node represents</description>
					<attribute name="@return">
						<description>Actual processing instruction this node represents</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="string_type" returncomment="&quot;processing-instruction&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;processing-instruction&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getStringValue" returncomment="String representation of the actual processing instruction stored" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the actual processing instruction
 stored</description>
					<attribute name="@return">
						<description>String representation of the actual processing instruction stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="typed_value" returncomment="New ResultSequence consisting of the processing instruction
         stored" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the processing instruction
 stored</description>
					<attribute name="@return">
						<description>New ResultSequence consisting of the processing instruction
         stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="node_name" returncomment="A QName representation of the node&apos;s name" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName">
				<comment>
					<description>Constructs the node&apos;s name</description>
					<attribute name="@return">
						<description>A QName representation of the node&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="isID" fulltype="boolean" type="boolean">
				<comment>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="isIDREF" fulltype="boolean" type="boolean">
				<comment>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getTypeDefinition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
		</methods>
	</jelclass>
	<jelclass superclass="CtrType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName">
		<comment>
			<description>A representation of a QName datatype (name of a node)</description>
		</comment>
		<methods>
			<constructor visibility="public" name="QName">
				<comment>
					<description>Initialises using the supplied parameters</description>
					<attribute name="@param">
						<description>prefix
            Prefix of the node name</description>
					</attribute>
					<attribute name="@param">
						<description>local_part
            The node name itself</description>
					</attribute>
					<attribute name="@param">
						<description>ns
            The namespace this nodename belongs to</description>
					</attribute>
				</comment>
				<params>
					<param name="prefix" comment="Prefix of the node name" fulltype="java.lang.String" type="String" />
					<param name="local_part" comment="The node name itself" fulltype="java.lang.String" type="String" />
					<param name="ns" comment="The namespace this nodename belongs to" fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
			<constructor visibility="public" name="QName">
				<comment>
					<description>Initialises using the supplied parameters</description>
					<attribute name="@param">
						<description>prefix
            Prefix of the node name</description>
					</attribute>
					<attribute name="@param">
						<description>local_part
            The node name itself</description>
					</attribute>
				</comment>
				<params>
					<param name="prefix" comment="Prefix of the node name" fulltype="java.lang.String" type="String" />
					<param name="local_part" comment="The node name itself" fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
			<constructor visibility="public" name="QName">
				<comment>
					<description>Initialises using only the node name (no prefix)</description>
					<attribute name="@param">
						<description>local_part
            The node name</description>
					</attribute>
				</comment>
				<params>
					<param name="local_part" comment="The node name" fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
			<constructor visibility="public" name="QName">
				<comment>
					<description>Initialises with a null prefix and null node name</description>
				</comment>
			</constructor>
			<constructor visibility="public" name="QName">
				<params>
					<param name="name" fulltype="javax.xml.namespace.QName" type="QName" />
				</params>
			</constructor>
			<method static="true" visibility="public" name="parse_QName" returncomment="null" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName">
				<comment>
					<description>Creates a new QName by parsing a String representation of the node name</description>
					<attribute name="@param">
						<description>str
            String representation of the name</description>
					</attribute>
					<attribute name="@return">
						<description>null</description>
					</attribute>
				</comment>
				<params>
					<param name="str" comment="String representation of the name" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the QName supplied" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the extractable QName in the
 supplied ResultSequence</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence to extract from</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the QName supplied</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence to extract from" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="getStringValue" returncomment="String representation of the node name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the node name. This method is
 functionally identical to string()</description>
					<attribute name="@return">
						<description>String representation of the node name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="string_type" returncomment="&quot;xs:QName&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:QName&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;QName&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;QName&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="string" returncomment="String representation of the node name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the node name. This method is
 functionally identical to string_value()</description>
					<attribute name="@return">
						<description>String representation of the node name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="expanded_name" returncomment="Full pathname including namespace" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the full pathname including the namespace. This method must not
 be called if a namespace does exist for this node</description>
					<attribute name="@return">
						<description>Full pathname including namespace</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="prefix" returncomment="Prefix of the node&apos;s pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the prefix of the node&apos;s pathname</description>
					<attribute name="@return">
						<description>Prefix of the node&apos;s pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="set_namespace" fulltype="void" type="void">
				<comment>
					<description>Sets the namespace for this node</description>
					<attribute name="@param">
						<description>n
            Namespace this node belongs in</description>
					</attribute>
				</comment>
				<params>
					<param name="n" comment="Namespace this node belongs in" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="namespace" returncomment="Namespace that this node belongs in" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the namespace that this node belongs in. This method must not
 be called if the node does not belong in a namespace</description>
					<attribute name="@return">
						<description>Namespace that this node belongs in</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="local" returncomment="Node&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the node&apos;s name</description>
					<attribute name="@return">
						<description>Node&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="expanded" returncomment="True if a namespace has been defined for node. False otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Check for whether a namespace has been defined for this node</description>
					<attribute name="@return">
						<description>True if a namespace has been defined for node. False otherwise</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="equals" returncomment="True if the two represent the same node. False otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Equality comparison between this QName and a supplied QName</description>
					<attribute name="@param">
						<description>obj
            The object to compare with. Should be of type QName</description>
					</attribute>
					<attribute name="@return">
						<description>True if the two represent the same node. False otherwise</description>
					</attribute>
				</comment>
				<params>
					<param name="obj" comment="The object to compare with. Should be of type QName" fulltype="java.lang.Object" type="Object" />
				</params>
			</method>
			<method visibility="public" name="hashCode" returncomment="The hashcode for the full pathname" fulltype="int" type="int">
				<comment>
					<description>Calculates the hashcode for the full pathname</description>
					<attribute name="@return">
						<description>The hashcode for the full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="eq" returncomment="True if the two represent the same node. False otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Equality comparison between this QName and the supplied QName</description>
					<attribute name="@param">
						<description>arg
            The QName to compare with</description>
					</attribute>
					<attribute name="@return">
						<description>True if the two represent the same node. False otherwise</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The QName to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="dynamicContext" fulltype="org.eclipse.wst.xml.xpath2.api.DynamicContext" type="DynamicContext" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="toString" fulltype="java.lang.String" type="String" />
			<method visibility="public" name="getTypeDefinition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
			<method visibility="public" name="asQName" fulltype="javax.xml.namespace.QName" type="QName" />
			<method visibility="public" name="getNativeValue" fulltype="java.lang.Object" type="Object" />
		</methods>
	</jelclass>
	<jelclass superclass="Object" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="java.lang.Object" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.SchemaTypeValueFactory" type="SchemaTypeValueFactory">
		<comment>
			<description>A factory class implementation, to construct PsychoPath schema type representation corresponding 
 to XML Schema types.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="SchemaTypeValueFactory" />
			<method static="true" visibility="public" name="newSchemaTypeValue" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType">
				<params>
					<param name="typeDef" fulltype="short" type="short" />
					<param name="strValue" fulltype="java.lang.String" type="String" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="Object" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="java.lang.Object" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.SimpleAtomicItemTypeImpl" type="SimpleAtomicItemTypeImpl">
		<implements>
			<interface fulltype="org.eclipse.wst.xml.xpath2.api.AtomicItemType" type="AtomicItemType" />
		</implements>
		<methods>
			<constructor visibility="public" name="SimpleAtomicItemTypeImpl">
				<params>
					<param name="typeDefinition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
				</params>
			</constructor>
			<constructor visibility="public" name="SimpleAtomicItemTypeImpl">
				<params>
					<param name="typeDefinition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
					<param name="occurrence" fulltype="short" type="short" />
				</params>
			</constructor>
			<method visibility="public" name="getOccurrence" fulltype="short" type="short" />
			<method visibility="public" name="getTypeDefinition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
		</methods>
	</jelclass>
	<jelclass superclass="NodeType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.TextType" type="TextType">
		<comment>
			<description>A representation of the TextType datatype</description>
		</comment>
		<methods>
			<constructor visibility="public" name="TextType">
				<comment>
					<description>Initialises using the supplied parameters</description>
					<attribute name="@param">
						<description>v
            The value of the TextType node</description>
					</attribute>
				</comment>
				<params>
					<param name="v" comment="The value of the TextType node" fulltype="org.w3c.dom.Text" type="Text" />
					<param name="tm" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel" type="TypeModel" />
				</params>
			</constructor>
			<method visibility="public" name="string_type" returncomment="&quot;text&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;text&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getStringValue" returncomment="String representation of the actual value stored" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the actual value stored</description>
					<attribute name="@return">
						<description>String representation of the actual value stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="typed_value" returncomment="New ResultSequence consisting of the Text value stored" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the Text value stored</description>
					<attribute name="@return">
						<description>New ResultSequence consisting of the Text value stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="node_name" returncomment="null (no user defined name for this node gets defined)" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName">
				<comment>
					<description>Unsupported method for this nodetype.</description>
					<attribute name="@return">
						<description>null (no user defined name for this node gets defined)</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="isID" fulltype="boolean" type="boolean">
				<comment>
					<description>Will always return false;</description>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="isIDREF" fulltype="boolean" type="boolean">
				<comment>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getTypeDefinition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
		</methods>
	</jelclass>
	<jelclass superclass="DecimalFormat" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" serializable="true" superclassfulltype="java.text.DecimalFormat" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XPathDecimalFormat" type="XPathDecimalFormat">
		<comment>
			<description>This is an XPath specific implementation of DecimalFormat to handle
 some of the xpath specific formatting requirements.   Specifically
 it allows for E# to be represented to indicate that the exponent value
 is optional.  Otherwise all existing DecimalFormat patterns are handled
 as is.</description>
			<attribute name="@author">
				<description>dcarver</description>
			</attribute>
			<attribute name="@see">
				<description>1.1</description>
			</attribute>
		</comment>
		<methods>
			<constructor visibility="public" name="XPathDecimalFormat">
				<params>
					<param name="pattern" fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
			<method visibility="public" name="xpathFormat" returncomment="" fulltype="java.lang.String" type="String">
				<comment>
					<description>Formats the string dropping a Zero Exponent Value if it exists.</description>
					<attribute name="@param">
						<description>obj</description>
					</attribute>
					<attribute name="@return" />
				</comment>
				<params>
					<param name="obj" comment="" fulltype="java.lang.Object" type="Object" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="CtrType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSAnyURI" type="XSAnyURI">
		<comment>
			<description>Represents a Universal Resource Identifier (URI) reference</description>
		</comment>
		<methods>
			<constructor visibility="public" name="XSAnyURI">
				<comment>
					<description>Arity 1 Constructor</description>
					<attribute name="@param">
						<description>x
            String representation of the URI</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="String representation of the URI" fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
			<constructor visibility="public" name="XSAnyURI">
				<comment>
					<description>Arity 0 Constructor. Initiates URI to null.</description>
				</comment>
			</constructor>
			<method visibility="public" name="string_type" returncomment="&quot;xs:anyURI&quot;, the full type pathname of this datatype" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieve full type pathname of this datatype</description>
					<attribute name="@return">
						<description>&quot;xs:anyURI&quot;, the full type pathname of this datatype</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;anyURI&quot;, the type name of this datatype" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieve type name of this datatype</description>
					<attribute name="@return">
						<description>&quot;anyURI&quot;, the type name of this datatype</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="string_value" returncomment="the URI value held by this instance of the URI datatype as a
         String" fulltype="java.lang.String" type="String">
				<comment>
					<description>Transforms and retrieves the URI value of this URI datatype in String
 format</description>
					<attribute name="@return">
						<description>the URI value held by this instance of the URI datatype as a
         String</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="constructor" returncomment="new result sequence consisting of the URI supplied" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creation of a result sequence consisting of a URI from a previous result
 sequence.</description>
					<attribute name="@param">
						<description>arg
            previous result sequence</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
					<attribute name="@return">
						<description>new result sequence consisting of the URI supplied</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="previous result sequence" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="eq" returncomment="True if the two representation are of the same String. False
         otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Equality comparison between this and the supplied representation which
 must be of type xs:anyURI (or, by promotion of this, xs:string)</description>
					<attribute name="@param">
						<description>arg
            The representation to compare with</description>
					</attribute>
					<attribute name="@return">
						<description>True if the two representation are of the same String. False
         otherwise</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The representation to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="dynamicContext" fulltype="org.eclipse.wst.xml.xpath2.api.DynamicContext" type="DynamicContext" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="gt" fulltype="boolean" type="boolean">
				<comment>
					<description>Greater than comparison between this and the supplied representation which
 must be of type xs:anyURI (or, by promotion of this, xs:string)</description>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="context" fulltype="org.eclipse.wst.xml.xpath2.api.DynamicContext" type="DynamicContext" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="lt" fulltype="boolean" type="boolean">
				<comment>
					<description>Less than comparison between this and the supplied representation which
 must be of type xs:anyURI (or, by promotion of this, xs:string)</description>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="context" fulltype="org.eclipse.wst.xml.xpath2.api.DynamicContext" type="DynamicContext" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="getTypeDefinition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
			<method visibility="public" name="getStringValue" fulltype="java.lang.String" type="String" />
		</methods>
	</jelclass>
	<jelclass superclass="CtrType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSBase64Binary" type="XSBase64Binary">
		<comment>
			<description>A representation of the base64Binary datatype</description>
		</comment>
		<methods>
			<constructor visibility="public" name="XSBase64Binary">
				<comment>
					<description>Initialises using the supplied String</description>
					<attribute name="@param">
						<description>x
            The String to initialise to</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="The String to initialise to" fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
			<constructor visibility="public" name="XSBase64Binary">
				<comment>
					<description>Initialises to null</description>
				</comment>
			</constructor>
			<method visibility="public" name="string_type" returncomment="&quot;xs:base64Binary&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:base64Binary&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;base64Binary&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;base64Binary&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getStringValue" returncomment="The base64Binary stored" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the base64Binary stored. This method is
 functionally identical to value()</description>
					<attribute name="@return">
						<description>The base64Binary stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="value" returncomment="The base64Binary stored" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the base64Binary stored. This method is
 functionally identical to string_value()</description>
					<attribute name="@return">
						<description>The base64Binary stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="constructor" returncomment="New ResultSequence representing base64Binary value" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the base64Binary value</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which to construct base64Binary value</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence representing base64Binary value</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which to construct base64Binary value" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="eq" returncomment="True if the two representation are same. False otherwise." fulltype="boolean" type="boolean">
				<comment>
					<description>Equality comparison between this and the supplied representation which
 must be of type base64Binary</description>
					<attribute name="@param">
						<description>arg
            The representation to compare with</description>
					</attribute>
					<attribute name="@return">
						<description>True if the two representation are same. False otherwise.</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The representation to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="dynamicContext" fulltype="org.eclipse.wst.xml.xpath2.api.DynamicContext" type="DynamicContext" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="getTypeDefinition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
			<method visibility="public" name="getNativeValue" fulltype="java.lang.Object" type="Object" />
		</methods>
	</jelclass>
	<jelclass superclass="CtrType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSBoolean" type="XSBoolean">
		<comment>
			<description>A representation of a true or a false value.</description>
		</comment>
		<fields>
			<field final="true" static="true" visibility="public" name="TRUE" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSBoolean" type="XSBoolean" />
			<field final="true" static="true" visibility="public" name="FALSE" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSBoolean" type="XSBoolean" />
		</fields>
		<methods>
			<constructor visibility="public" name="XSBoolean">
				<comment>
					<description>Initiates the new representation to the boolean supplied</description>
					<attribute name="@param">
						<description>x
       Initializes this datatype to represent this boolean</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="Initializes this datatype to represent this boolean" fulltype="boolean" type="boolean" />
				</params>
			</constructor>
			<constructor visibility="public" name="XSBoolean">
				<comment>
					<description>Initiates to a default representation of false.</description>
				</comment>
			</constructor>
			<method visibility="public" name="string_type" returncomment="&quot;xs:boolean&quot;, the full datatype pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieve the full type pathname of this datatype</description>
					<attribute name="@return">
						<description>&quot;xs:boolean&quot;, the full datatype pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getNativeValue" fulltype="java.lang.Object" type="Object" />
			<method visibility="public" name="type_name" returncomment="&quot;boolean&quot;, which is the datatype name." fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieve the datatype name</description>
					<attribute name="@return">
						<description>&quot;boolean&quot;, which is the datatype name.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getStringValue" returncomment="the String representation of the boolean value stored" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieve the String representation of the boolean value stored</description>
					<attribute name="@return">
						<description>the String representation of the boolean value stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="value" returncomment="the actual boolean value stored" fulltype="boolean" type="boolean">
				<comment>
					<description>Retrieves the actual boolean value stored</description>
					<attribute name="@return">
						<description>the actual boolean value stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="constructor" returncomment="A new result sequence consisting of the boolean value supplied." fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new result sequence consisting of the retrievable boolean value
 in the supplied result sequence</description>
					<attribute name="@param">
						<description>arg
            The result sequence from which to extract the boolean value.</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
					<attribute name="@return">
						<description>A new result sequence consisting of the boolean value supplied.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The result sequence from which to extract the boolean value." fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="eq" returncomment="New XSBoolean representation of true/false result of the equality
         comparison" fulltype="boolean" type="boolean">
				<comment>
					<description>Comparison for equality between the supplied and this boolean
 representation. Returns true if both represent same boolean value, false
 otherwise</description>
					<attribute name="@param">
						<description>arg
            The XSBoolean representation of the boolean value to compare
            with.</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
					<attribute name="@return">
						<description>New XSBoolean representation of true/false result of the equality
         comparison</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The XSBoolean representation of the boolean value to compare
            with." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="dynamicContext" fulltype="org.eclipse.wst.xml.xpath2.api.DynamicContext" type="DynamicContext" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="gt" returncomment="New XSBoolean representation of true/false result of the
         comparison" fulltype="boolean" type="boolean">
				<comment>
					<description>Comparison between the supplied and this boolean representation. Returns
 true if this XSBoolean represents true and that XSBoolean supplied
 represents false. Returns false otherwise</description>
					<attribute name="@param">
						<description>arg
            The XSBoolean representation of the boolean value to compare
            with.</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
					<attribute name="@return">
						<description>New XSBoolean representation of true/false result of the
         comparison</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The XSBoolean representation of the boolean value to compare
            with." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="context" fulltype="org.eclipse.wst.xml.xpath2.api.DynamicContext" type="DynamicContext" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="lt" returncomment="New XSBoolean representation of true/false result of the
         comparison" fulltype="boolean" type="boolean">
				<comment>
					<description>Comparison between the supplied and this boolean representation. Returns
 true if this XSBoolean represents false and that XSBoolean supplied
 represents true. Returns false otherwise</description>
					<attribute name="@param">
						<description>arg
            The XSBoolean representation of the boolean value to compare
            with.</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
					<attribute name="@return">
						<description>New XSBoolean representation of true/false result of the
         comparison</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The XSBoolean representation of the boolean value to compare
            with." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="context" fulltype="org.eclipse.wst.xml.xpath2.api.DynamicContext" type="DynamicContext" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="getTypeDefinition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
			<method static="true" visibility="public" name="valueOf" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<params>
					<param name="answer" fulltype="boolean" type="boolean" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="XSShort" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSShort" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSByte" type="XSByte">
		<methods>
			<constructor visibility="public" name="XSByte">
				<comment>
					<description>Initializes a representation of 0</description>
				</comment>
			</constructor>
			<constructor visibility="public" name="XSByte">
				<comment>
					<description>Initializes a representation of the supplied byte value</description>
					<attribute name="@param">
						<description>x
            Byte to be stored</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="Byte to be stored" fulltype="java.math.BigInteger" type="BigInteger" />
				</params>
			</constructor>
			<method visibility="public" name="string_type" returncomment="&quot;xs:byte&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:byte&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;byte&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;byte&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the &apos;byte&apos; supplied" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the extractable &apos;byte&apos; in the
 supplied ResultSequence</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which the byte is to be extracted</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the &apos;byte&apos; supplied</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which the byte is to be extracted" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="getTypeDefinition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
		</methods>
	</jelclass>
	<jelclass superclass="CalendarType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CalendarType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDate" type="XSDate">
		<implements>
			<interface fulltype="java.lang.Cloneable" type="Cloneable" />
		</implements>
		<comment>
			<description>Representation of a date of the form year-month-day and optional timezone</description>
		</comment>
		<methods>
			<constructor visibility="public" name="XSDate">
				<comment>
					<description>Initializes a new representation of a supplied date</description>
					<attribute name="@param">
						<description>cal
            The Calendar representation of the date to be stored</description>
					</attribute>
					<attribute name="@param">
						<description>tz
            The time zone of the date to be stored.</description>
					</attribute>
				</comment>
				<params>
					<param name="cal" comment="The Calendar representation of the date to be stored" fulltype="java.util.Calendar" type="Calendar" />
					<param name="tz" comment="The time zone of the date to be stored." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration" />
				</params>
			</constructor>
			<constructor visibility="public" name="XSDate">
				<comment>
					<description>Initializes a new representation of the current date</description>
				</comment>
			</constructor>
			<method visibility="public" name="type_name" returncomment="&quot;date&quot; which is the dataype name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype name</description>
					<attribute name="@return">
						<description>&quot;date&quot; which is the dataype name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="clone" returncomment="A copy of this date representation" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Creates a copy of this date representation</description>
					<attribute name="@return">
						<description>A copy of this date representation</description>
					</attribute>
				</comment>
				<exceptions>
					<exception fulltype="java.lang.CloneNotSupportedException" type="CloneNotSupportedException" />
				</exceptions>
			</method>
			<method static="true" visibility="public" name="parse_date" returncomment="The XSDate representation of the supplied date" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDate" type="XSDate">
				<comment>
					<description>Parses a String representation of a date (of the form year-month-day or
 year-month-day+timezone) and constructs a new XSDate representation of
 it.</description>
					<attribute name="@param">
						<description>str
            The String representation of the date (and optional timezone)</description>
					</attribute>
					<attribute name="@return">
						<description>The XSDate representation of the supplied date</description>
					</attribute>
				</comment>
				<params>
					<param name="str" comment="The String representation of the date (and optional timezone)" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="constructor" returncomment="A new result sequence consisting of the date value supplied." fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new result sequence consisting of the retrievable date value in
 the supplied result sequence</description>
					<attribute name="@param">
						<description>arg
            The result sequence from which to extract the date value.</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
					<attribute name="@return">
						<description>A new result sequence consisting of the date value supplied.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The result sequence from which to extract the date value." fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="year" returncomment="the year value of the date stored" fulltype="int" type="int">
				<comment>
					<description>Retrieve the year from the date stored</description>
					<attribute name="@return">
						<description>the year value of the date stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="month" returncomment="the month value of the date stored" fulltype="int" type="int">
				<comment>
					<description>Retrieve the month from the date stored</description>
					<attribute name="@return">
						<description>the month value of the date stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="day" returncomment="the day value of the date stored" fulltype="int" type="int">
				<comment>
					<description>Retrieve the day from the date stored</description>
					<attribute name="@return">
						<description>the day value of the date stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="timezoned" returncomment="True if there is a timezone associated with this date. False
         otherwise." fulltype="boolean" type="boolean">
				<comment>
					<description>Retrieves whether this date has an optional timezone associated with it</description>
					<attribute name="@return">
						<description>True if there is a timezone associated with this date. False
         otherwise.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getStringValue" returncomment="String representation of the date stored" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the date stored</description>
					<attribute name="@return">
						<description>String representation of the date stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="string_type" returncomment="&quot;xs:date&quot; which is the datatype full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrive the datatype full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:date&quot; which is the datatype full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="calendar" returncomment="Calendar representation of the date stored" fulltype="java.util.Calendar" type="Calendar">
				<comment>
					<description>Retrieves the Calendar representation of the date stored</description>
					<attribute name="@return">
						<description>Calendar representation of the date stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="tz" returncomment="the timezone associated with the date stored" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration">
				<comment>
					<description>Retrieves the timezone associated with the date stored</description>
					<attribute name="@return">
						<description>the timezone associated with the date stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="eq" returncomment="True if the two dates are represent the same exact point in time.
         False otherwise." fulltype="boolean" type="boolean">
				<comment>
					<description>Equality comparison on this and the supplied dates (taking timezones into
 account)</description>
					<attribute name="@param">
						<description>arg
            XSDate representation of the date to compare to</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
					<attribute name="@return">
						<description>True if the two dates are represent the same exact point in time.
         False otherwise.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="XSDate representation of the date to compare to" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="dynamicContext" fulltype="org.eclipse.wst.xml.xpath2.api.DynamicContext" type="DynamicContext" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="lt" returncomment="True if in time, this date lies before the date supplied. False
         otherwise." fulltype="boolean" type="boolean">
				<comment>
					<description>Comparison on this and the supplied dates (taking timezones into account)</description>
					<attribute name="@param">
						<description>arg
            XSDate representation of the date to compare to</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
					<attribute name="@return">
						<description>True if in time, this date lies before the date supplied. False
         otherwise.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="XSDate representation of the date to compare to" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="context" fulltype="org.eclipse.wst.xml.xpath2.api.DynamicContext" type="DynamicContext" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="gt" returncomment="True if in time, this date lies after the date supplied. False
         otherwise." fulltype="boolean" type="boolean">
				<comment>
					<description>Comparison on this and the supplied dates (taking timezones into account)</description>
					<attribute name="@param">
						<description>arg
            XSDate representation of the date to compare to</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
					<attribute name="@return">
						<description>True if in time, this date lies after the date supplied. False
         otherwise.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="XSDate representation of the date to compare to" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="context" fulltype="org.eclipse.wst.xml.xpath2.api.DynamicContext" type="DynamicContext" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="value" returncomment="Number of milliseconds since the begining of the epoch" fulltype="double" type="double">
				<comment>
					<description>Currently unsupported method. Retrieves the date in milliseconds since
 the begining of epoch</description>
					<attribute name="@return">
						<description>Number of milliseconds since the begining of the epoch</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="minus" returncomment="New ResultSequence consisting of the result of the mathematical
         minus operation." fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical minus operator between this XSDate and a supplied result
 sequence (XSDate, XSYearMonthDuration and XSDayTimeDuration are only
 valid ones).</description>
					<attribute name="@param">
						<description>arg
            The supplied ResultSequence that is on the right of the minus
            operator. If this is an XSDate, the result will be a
            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.</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the result of the mathematical
         minus operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The supplied ResultSequence that is on the right of the minus
            operator. If this is an XSDate, the result will be a
            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." fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="plus" returncomment="New ResultSequence consisting of the result of the mathematical
         minus operation." fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical addition operator between this XSDate and a supplied result
 sequence (XDTYearMonthDuration and XDTDayTimeDuration are only valid
 ones).</description>
					<attribute name="@param">
						<description>arg
            The supplied ResultSequence that is on the right of the minus
            operator. If arg is an XDTYearMonthDuration or an
            XDTDayTimeDuration the result will be a XSDate of the result
            of the current date minus the duration of time supplied.</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the result of the mathematical
         minus operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The supplied ResultSequence that is on the right of the minus
            operator. If arg is an XDTYearMonthDuration or an
            XDTDayTimeDuration the result will be a XSDate of the result
            of the current date minus the duration of time supplied." fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="getTypeDefinition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
		</methods>
	</jelclass>
	<jelclass superclass="CalendarType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CalendarType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDateTime" type="XSDateTime">
		<implements>
			<interface fulltype="java.lang.Cloneable" type="Cloneable" />
		</implements>
		<comment>
			<description>A representation of a date and time (and optional timezone)</description>
		</comment>
		<methods>
			<constructor visibility="public" name="XSDateTime">
				<comment>
					<description>Initiates a new representation of a supplied date and time</description>
					<attribute name="@param">
						<description>cal
            The Calendar representation of the date and time to be stored</description>
					</attribute>
					<attribute name="@param">
						<description>tz
            The timezone of the date to be stored.</description>
					</attribute>
				</comment>
				<params>
					<param name="cal" comment="The Calendar representation of the date and time to be stored" fulltype="java.util.Calendar" type="Calendar" />
					<param name="tz" comment="The timezone of the date to be stored." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration" />
				</params>
			</constructor>
			<constructor visibility="public" name="XSDateTime">
				<comment>
					<description>Inititates a new representation of the current date and time</description>
				</comment>
			</constructor>
			<method visibility="public" name="clone" returncomment="A copy of this date and time representation" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Creates a copy of this date and time representation</description>
					<attribute name="@return">
						<description>A copy of this date and time representation</description>
					</attribute>
				</comment>
				<exceptions>
					<exception fulltype="java.lang.CloneNotSupportedException" type="CloneNotSupportedException" />
				</exceptions>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;dateTime&quot; which is the dataype name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype name</description>
					<attribute name="@return">
						<description>&quot;dateTime&quot; which is the dataype name</description>
					</attribute>
				</comment>
			</method>
			<method static="true" visibility="public" name="is_digit" returncomment="True if the character is numeric. False otherwise." fulltype="boolean" type="boolean">
				<comment>
					<description>Check to see if a character is numeric</description>
					<attribute name="@param">
						<description>x
            Character to be tested</description>
					</attribute>
					<attribute name="@return">
						<description>True if the character is numeric. False otherwise.</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="Character to be tested" fulltype="char" type="char" />
				</params>
			</method>
			<method static="true" visibility="public" name="parse_date" returncomment="Integer array of size 3. Element 1 is the year, element 2 is the
         month and element 3 is the day" fulltype="int[]" type="int">
				<comment>
					<description>Parses a String representation of a date and time and retrieves the year,
 month and day from it</description>
					<attribute name="@param">
						<description>str
            The String representation of the date (and optional timezone)</description>
					</attribute>
					<attribute name="@return">
						<description>Integer array of size 3. Element 1 is the year, element 2 is the
         month and element 3 is the day</description>
					</attribute>
				</comment>
				<params>
					<param name="str" comment="The String representation of the date (and optional timezone)" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method static="true" visibility="public" name="parse_time" returncomment="Integer array of size 3. Element 1 is the hour, element 2 is the
         minute and element 3 is the seconds" fulltype="double[]" type="double">
				<comment>
					<description>Parses a String representation of a date and time and retrieves the hour,
 minute and seconds from it</description>
					<attribute name="@param">
						<description>str
            The String representation of the date (and optional timezone)</description>
					</attribute>
					<attribute name="@return">
						<description>Integer array of size 3. Element 1 is the hour, element 2 is the
         minute and element 3 is the seconds</description>
					</attribute>
				</comment>
				<params>
					<param name="str" comment="The String representation of the date (and optional timezone)" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method static="true" visibility="public" name="parse_timezone" returncomment="Integer array of size 3. Element 1 represents whether the
         timezone is ahead or behind GMT, element 2 is the hour
         displacement and element 3 is the minute displacement." fulltype="int[]" type="int">
				<comment>
					<description>Parses a String representation of a date and time and retrieves the
 timezone from it</description>
					<attribute name="@param">
						<description>str
            The String representation of the date (and optional timezone)</description>
					</attribute>
					<attribute name="@return">
						<description>Integer array of size 3. Element 1 represents whether the
         timezone is ahead or behind GMT, element 2 is the hour
         displacement and element 3 is the minute displacement.</description>
					</attribute>
				</comment>
				<params>
					<param name="str" comment="The String representation of the date (and optional timezone)" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method static="true" visibility="public" name="parseDateTime" returncomment="The XSDateTime representation of the date and time (and optional
         timezone)" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDateTime" type="XSDateTime">
				<comment>
					<description>Parses a String representation of a date and time and constructs a new
 XSDateTime object using that information</description>
					<attribute name="@param">
						<description>str
            The String representation of the date (and optional timezone)</description>
					</attribute>
					<attribute name="@return">
						<description>The XSDateTime representation of the date and time (and optional
         timezone)</description>
					</attribute>
				</comment>
				<params>
					<param name="str" comment="The String representation of the date (and optional timezone)" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="constructor" returncomment="A new result sequence consisting of the date and time value
         supplied." fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new result sequence consisting of the retrievable date and time
 value in the supplied result sequence</description>
					<attribute name="@param">
						<description>arg
            The result sequence from which to extract the date and time
            value.</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
					<attribute name="@return">
						<description>A new result sequence consisting of the date and time value
         supplied.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The result sequence from which to extract the date and time
            value." fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="year" returncomment="the year value of the date stored" fulltype="int" type="int">
				<comment>
					<description>Retrieve the year from the date stored</description>
					<attribute name="@return">
						<description>the year value of the date stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="month" returncomment="the month value of the date stored" fulltype="int" type="int">
				<comment>
					<description>Retrieve the month from the date stored</description>
					<attribute name="@return">
						<description>the month value of the date stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="day" returncomment="the day value of the date stored" fulltype="int" type="int">
				<comment>
					<description>Retrieve the day from the date stored</description>
					<attribute name="@return">
						<description>the day value of the date stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="hour" returncomment="the hour value of the date stored" fulltype="int" type="int">
				<comment>
					<description>Retrieve the hour from the date stored</description>
					<attribute name="@return">
						<description>the hour value of the date stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="minute" returncomment="the minute value of the date stored" fulltype="int" type="int">
				<comment>
					<description>Retrieve the minute from the date stored</description>
					<attribute name="@return">
						<description>the minute value of the date stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="second" returncomment="the seconds value of the date stored" fulltype="double" type="double">
				<comment>
					<description>Retrieve the seconds from the date stored</description>
					<attribute name="@return">
						<description>the seconds value of the date stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="timezoned" fulltype="boolean" type="boolean" />
			<method static="true" visibility="public" name="pad_int" returncomment="String representation of the padded integer" fulltype="java.lang.String" type="String">
				<comment>
					<description>Pads the supplied number to the supplied number of digits by adding 0&apos;s
 in front of it</description>
					<attribute name="@param">
						<description>num
            Number that si to be padded (if neccessay)</description>
					</attribute>
					<attribute name="@param">
						<description>len
            Desired length after padding</description>
					</attribute>
					<attribute name="@return">
						<description>String representation of the padded integer</description>
					</attribute>
				</comment>
				<params>
					<param name="num" comment="Number that si to be padded (if neccessay)" fulltype="int" type="int" />
					<param name="len" comment="Desired length after padding" fulltype="int" type="int" />
				</params>
			</method>
			<method visibility="public" name="getStringValue" returncomment="String representation of the date and time stored" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the date and time stored</description>
					<attribute name="@return">
						<description>String representation of the date and time stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="string_type" returncomment="&quot;xs:dateTime&quot; which is the datatype full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrive the datatype full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:dateTime&quot; which is the datatype full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="calendar" returncomment="Calendar representation of the date stored" fulltype="java.util.Calendar" type="Calendar">
				<comment>
					<description>Retrieves the Calendar representation of the date stored</description>
					<attribute name="@return">
						<description>Calendar representation of the date stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="eq" returncomment="True if the two dates and times are represent the same exact
         point in time. False otherwise." fulltype="boolean" type="boolean">
				<comment>
					<description>Equality comparison on this and the supplied dates and times (taking
 timezones into account)</description>
					<attribute name="@param">
						<description>arg
            XSDateTime representation of the date to compare to</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
					<attribute name="@return">
						<description>True if the two dates and times are represent the same exact
         point in time. False otherwise.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="XSDateTime representation of the date to compare to" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="dynamicContext" fulltype="org.eclipse.wst.xml.xpath2.api.DynamicContext" type="DynamicContext" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="lt" returncomment="True if in time, this date and time lies before the date and time
         supplied. False otherwise." fulltype="boolean" type="boolean">
				<comment>
					<description>Comparison on this and the supplied dates and times (taking timezones
 into account)</description>
					<attribute name="@param">
						<description>arg
            XSDateTime representation of the date to compare to</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
					<attribute name="@return">
						<description>True if in time, this date and time lies before the date and time
         supplied. False otherwise.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="XSDateTime representation of the date to compare to" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="context" fulltype="org.eclipse.wst.xml.xpath2.api.DynamicContext" type="DynamicContext" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="gt" returncomment="True if in time, this date and time lies after the date and time
         supplied. False otherwise." fulltype="boolean" type="boolean">
				<comment>
					<description>Comparison on this and the supplied dates and times (taking timezones
 into account)</description>
					<attribute name="@param">
						<description>arg
            XSDateTime representation of the date to compare to</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
					<attribute name="@return">
						<description>True if in time, this date and time lies after the date and time
         supplied. False otherwise.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="XSDateTime representation of the date to compare to" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="context" fulltype="org.eclipse.wst.xml.xpath2.api.DynamicContext" type="DynamicContext" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="tz" returncomment="the timezone associated with the date stored" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration">
				<comment>
					<description>Retrieves the timezone associated with the date stored</description>
					<attribute name="@return">
						<description>the timezone associated with the date stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="value" returncomment="Number of milliseconds since the begining of the epoch" fulltype="double" type="double">
				<comment>
					<description>Currently unsupported method. Retrieves the date in milliseconds since
 the begining of epoch</description>
					<attribute name="@return">
						<description>Number of milliseconds since the begining of the epoch</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="minus" returncomment="New ResultSequence consisting of the result of the mathematical
         minus operation." fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical minus operator between this XSDateTime and a supplied result
 sequence (XSDateTime, XDTYearMonthDuration and XDTDayTimeDuration are
 only valid ones).</description>
					<attribute name="@param">
						<description>arg
            The supplied ResultSequence that is on the right of the minus
            operator. If this is an XSDateTime, the result will be a
            XDTDayTimeDuration of the duration of time between these two
            dates. If arg is an XDTYearMonthDuration or an
            XDTDayTimeDuration the result will be a XSDateTime of the
            result of the current date minus the duration of time
            supplied.</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the result of the mathematical
         minus operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The supplied ResultSequence that is on the right of the minus
            operator. If this is an XSDateTime, the result will be a
            XDTDayTimeDuration of the duration of time between these two
            dates. If arg is an XDTYearMonthDuration or an
            XDTDayTimeDuration the result will be a XSDateTime of the
            result of the current date minus the duration of time
            supplied." fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="plus" returncomment="New ResultSequence consisting of the result of the mathematical
         minus operation." fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical addition operator between this XSDateTime and a supplied
 result sequence (XDTYearMonthDuration and XDTDayTimeDuration are only
 valid ones).</description>
					<attribute name="@param">
						<description>arg
            The supplied ResultSequence that is on the right of the minus
            operator. If arg is an XDTYearMonthDuration or an
            XDTDayTimeDuration the result will be a XSDateTime of the
            result of the current date minus the duration of time
            supplied.</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the result of the mathematical
         minus operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The supplied ResultSequence that is on the right of the minus
            operator. If arg is an XDTYearMonthDuration or an
            XDTDayTimeDuration the result will be a XSDateTime of the
            result of the current date minus the duration of time
            supplied." fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="getTypeDefinition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
		</methods>
	</jelclass>
	<jelclass superclass="XSDuration" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDayTimeDuration" type="XSDayTimeDuration">
		<implements>
			<interface fulltype="java.lang.Cloneable" type="Cloneable" />
		</implements>
		<comment>
			<description>A representation of the DayTimeDuration datatype</description>
		</comment>
		<methods>
			<constructor visibility="public" name="XSDayTimeDuration">
				<comment>
					<description>Initialises to the supplied parameters. If more than 24 hours is
 supplied, the number of days is adjusted acordingly. The same occurs for
 minutes and seconds</description>
					<attribute name="@param">
						<description>days
            Number of days in this duration of time</description>
					</attribute>
					<attribute name="@param">
						<description>hours
            Number of hours in this duration of time</description>
					</attribute>
					<attribute name="@param">
						<description>minutes
            Number of minutes in this duration of time</description>
					</attribute>
					<attribute name="@param">
						<description>seconds
            Number of seconds in this duration of time</description>
					</attribute>
					<attribute name="@param">
						<description>negative
            True if this duration of time represents a backwards passage
            through time. False otherwise</description>
					</attribute>
				</comment>
				<params>
					<param name="days" comment="Number of days in this duration of time" fulltype="int" type="int" />
					<param name="hours" comment="Number of hours in this duration of time" fulltype="int" type="int" />
					<param name="minutes" comment="Number of minutes in this duration of time" fulltype="int" type="int" />
					<param name="seconds" comment="Number of seconds in this duration of time" fulltype="double" type="double" />
					<param name="negative" comment="True if this duration of time represents a backwards passage
            through time. False otherwise" fulltype="boolean" type="boolean" />
				</params>
			</constructor>
			<constructor visibility="public" name="XSDayTimeDuration">
				<comment>
					<description>Initialises to the given number of seconds</description>
					<attribute name="@param">
						<description>secs
            Number of seconds in the duration of time</description>
					</attribute>
				</comment>
				<params>
					<param name="secs" comment="Number of seconds in the duration of time" fulltype="double" type="double" />
				</params>
			</constructor>
			<constructor visibility="public" name="XSDayTimeDuration">
				<comment>
					<description>Initialises to a duration of no time (0days, 0hours, 0minutes, 0seconds)</description>
				</comment>
			</constructor>
			<constructor visibility="public" name="XSDayTimeDuration">
				<params>
					<param name="d" fulltype="javax.xml.datatype.Duration" type="Duration" />
				</params>
			</constructor>
			<method visibility="public" name="clone" returncomment="New XSDayTimeDuration representing the duration of time stored" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Creates a copy of this representation of a time duration</description>
					<attribute name="@return">
						<description>New XSDayTimeDuration representing the duration of time stored</description>
					</attribute>
					<attribute name="@throws">
						<description>CloneNotSupportedException</description>
					</attribute>
				</comment>
				<exceptions>
					<exception comment="" fulltype="java.lang.CloneNotSupportedException" type="CloneNotSupportedException" />
				</exceptions>
			</method>
			<method visibility="public" name="constructor" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<params>
					<param name="arg" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method static="true" visibility="public" name="parseDTDuration" returncomment="New XSDayTimeDuration representing the duration of time supplied" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration">
				<comment>
					<description>Creates a new XSDayTimeDuration by parsing the supplied String
 represented duration of time</description>
					<attribute name="@param">
						<description>str
            String represented duration of time</description>
					</attribute>
					<attribute name="@return">
						<description>New XSDayTimeDuration representing the duration of time supplied</description>
					</attribute>
				</comment>
				<params>
					<param name="str" comment="String represented duration of time" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;dayTimeDuration&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrives the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;dayTimeDuration&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="string_type" returncomment="&quot;xs:dayTimeDuration&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:dayTimeDuration&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="plus" returncomment="New XSDayTimeDuration representing the resulting duration after
         the addition" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical addition between this duration stored and the supplied
 duration of time (of type XSDayTimeDuration)</description>
					<attribute name="@param">
						<description>arg
            The duration of time to add</description>
					</attribute>
					<attribute name="@return">
						<description>New XSDayTimeDuration representing the resulting duration after
         the addition</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The duration of time to add" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="minus" returncomment="New XSDayTimeDuration representing the resulting duration after
         the subtraction" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical subtraction between this duration stored and the supplied
 duration of time (of type XSDayTimeDuration)</description>
					<attribute name="@param">
						<description>arg
            The duration of time to subtract</description>
					</attribute>
					<attribute name="@return">
						<description>New XSDayTimeDuration representing the resulting duration after
         the subtraction</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The duration of time to subtract" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="times" returncomment="New XSDayTimeDuration representing the resulting duration after
         the multiplication" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical multiplication between this duration stored and the supplied
 duration of time (of type XSDayTimeDuration)</description>
					<attribute name="@param">
						<description>arg
            The duration of time to multiply by</description>
					</attribute>
					<attribute name="@return">
						<description>New XSDayTimeDuration representing the resulting duration after
         the multiplication</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The duration of time to multiply by" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="div" returncomment="New XSDayTimeDuration representing the resulting duration after
         the division" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical division between this duration stored and the supplied
 duration of time (of type XSDayTimeDuration)</description>
					<attribute name="@param">
						<description>arg
            The duration of time to divide by</description>
					</attribute>
					<attribute name="@return">
						<description>New XSDayTimeDuration representing the resulting duration after
         the division</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The duration of time to divide by" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="getTypeDefinition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
		</methods>
	</jelclass>
	<jelclass superclass="NumericType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDecimal" type="XSDecimal">
		<comment>
			<description>A representation of the Decimal datatype</description>
		</comment>
		<methods>
			<constructor visibility="public" name="XSDecimal">
				<comment>
					<description>Initiates a representation of 0.0</description>
				</comment>
			</constructor>
			<constructor visibility="public" name="XSDecimal">
				<comment>
					<description>Initiates a representation of the supplied number</description>
					<attribute name="@param">
						<description>x
            Number to be stored</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="Number to be stored" fulltype="java.math.BigDecimal" type="BigDecimal" />
				</params>
			</constructor>
			<constructor visibility="public" name="XSDecimal">
				<params>
					<param name="x" fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
			<method visibility="public" name="string_type" returncomment="&quot;xs:decimal&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:decimal&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;decimal&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;decimal&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getStringValue" returncomment="String representation of the Decimal value stored" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the Decimal value stored</description>
					<attribute name="@return">
						<description>String representation of the Decimal value stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="zero" returncomment="True if this XSDecimal represents 0. False otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Check if this XSDecimal represents 0</description>
					<attribute name="@return">
						<description>True if this XSDecimal represents 0. False otherwise</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="constructor" returncomment="A new result sequence consisting of the decimal number supplied." fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new result sequence consisting of the retrievable decimal
 number in the supplied result sequence</description>
					<attribute name="@param">
						<description>arg
            The result sequence from which to extract the decimal number.</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
					<attribute name="@return">
						<description>A new result sequence consisting of the decimal number supplied.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The result sequence from which to extract the decimal number." fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="protected" name="isLexicalValue" fulltype="boolean" type="boolean">
				<params>
					<param name="value" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="double_value" returncomment="The actual value of the number stored" fulltype="double" type="double">
				<comment>
					<description>Retrieves the actual value of the number stored</description>
					<attribute name="@return">
						<description>The actual value of the number stored</description>
					</attribute>
					<attribute name="@deprecated">
						<description>Use getValue() instead.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getValue" fulltype="java.math.BigDecimal" type="BigDecimal" />
			<method visibility="public" name="set_double" fulltype="void" type="void">
				<comment>
					<description>Sets the number stored to that supplied</description>
					<attribute name="@param">
						<description>x
            Number to be stored</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="Number to be stored" fulltype="double" type="double" />
				</params>
			</method>
			<method visibility="public" name="eq" returncomment="True if the 2 representation represent the same number. False
         otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Equality comparison between this number and the supplied representation.</description>
					<attribute name="@param">
						<description>at
            Representation to be compared with (must currently be of type
            XSDecimal)</description>
					</attribute>
					<attribute name="@return">
						<description>True if the 2 representation represent the same number. False
         otherwise</description>
					</attribute>
				</comment>
				<params>
					<param name="at" comment="Representation to be compared with (must currently be of type
            XSDecimal)" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="dynamicContext" fulltype="org.eclipse.wst.xml.xpath2.api.DynamicContext" type="DynamicContext" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="gt" returncomment="True if the supplied type represents a number smaller than this
         one stored. False otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Comparison between this number and the supplied representation.</description>
					<attribute name="@param">
						<description>arg
            Representation to be compared with (must currently be of type
            XSDecimal)</description>
					</attribute>
					<attribute name="@return">
						<description>True if the supplied type represents a number smaller than this
         one stored. False otherwise</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="Representation to be compared with (must currently be of type
            XSDecimal)" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="context" fulltype="org.eclipse.wst.xml.xpath2.api.DynamicContext" type="DynamicContext" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="protected" name="convertArg" fulltype="org.eclipse.wst.xml.xpath2.api.Item" type="Item">
				<params>
					<param name="arg" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="lt" returncomment="True if the supplied type represents a number greater than this
         one stored. False otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Comparison between this number and the supplied representation.</description>
					<attribute name="@param">
						<description>arg
            Representation to be compared with (must currently be of type
            XSDecimal)</description>
					</attribute>
					<attribute name="@return">
						<description>True if the supplied type represents a number greater than this
         one stored. False otherwise</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="Representation to be compared with (must currently be of type
            XSDecimal)" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="context" fulltype="org.eclipse.wst.xml.xpath2.api.DynamicContext" type="DynamicContext" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="plus" returncomment="A XSDecimal consisting of the result of the mathematical
         addition." fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical addition operator between this XSDecimal and the supplied
 ResultSequence. Due to no numeric type promotion or conversion, the
 ResultSequence must be of type XSDecimal.</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence to perform an addition with</description>
					</attribute>
					<attribute name="@return">
						<description>A XSDecimal consisting of the result of the mathematical
         addition.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence to perform an addition with" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="minus" returncomment="A XSDecimal consisting of the result of the mathematical
         subtraction." fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical subtraction operator between this XSDecimal and the supplied
 ResultSequence.</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence to perform a subtraction with</description>
					</attribute>
					<attribute name="@return">
						<description>A XSDecimal consisting of the result of the mathematical
         subtraction.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence to perform a subtraction with" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="times" returncomment="A XSDecimal consisting of the result of the mathematical
         multiplication." fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical multiplication operator between this XSDecimal and the
 supplied ResultSequence.</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence to perform a multiplication with</description>
					</attribute>
					<attribute name="@return">
						<description>A XSDecimal consisting of the result of the mathematical
         multiplication.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence to perform a multiplication with" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
			</method>
			<method visibility="public" name="div" returncomment="A XSDecimal consisting of the result of the mathematical
         division." fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical division operator between this XSDecimal and the supplied
 ResultSequence.</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence to perform a division with</description>
					</attribute>
					<attribute name="@return">
						<description>A XSDecimal consisting of the result of the mathematical
         division.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence to perform a division with" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="idiv" returncomment="A XSInteger consisting of the result of the mathematical integer
         division." fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical integer division operator between this XSDecimal and the
 supplied ResultSequence. Due to no numeric type promotion or conversion,
 the ResultSequence must be of type XSDecimal.</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence to perform an integer division with</description>
					</attribute>
					<attribute name="@return">
						<description>A XSInteger consisting of the result of the mathematical integer
         division.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence to perform an integer division with" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="mod" returncomment="A XSDecimal consisting of the result of the mathematical modulus." fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical modulus operator between this XSDecimal and the supplied
 ResultSequence. Due to no numeric type promotion or conversion, the
 ResultSequence must be of type XSDecimal.</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence to perform a modulus with</description>
					</attribute>
					<attribute name="@return">
						<description>A XSDecimal consisting of the result of the mathematical modulus.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence to perform a modulus with" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method static="true" visibility="public" name="remainder" fulltype="java.math.BigDecimal" type="BigDecimal">
				<params>
					<param name="value" fulltype="java.math.BigDecimal" type="BigDecimal" />
					<param name="divisor" fulltype="java.math.BigDecimal" type="BigDecimal" />
				</params>
			</method>
			<method visibility="public" name="unary_minus" returncomment="A XSDecimal representing the negation of this XSDecimal" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Negation of the number stored</description>
					<attribute name="@return">
						<description>A XSDecimal representing the negation of this XSDecimal</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="abs" returncomment="A XSDecimal representing the absolute value of the number stored" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
				<comment>
					<description>Absolutes the number stored</description>
					<attribute name="@return">
						<description>A XSDecimal representing the absolute value of the number stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="ceiling" returncomment="A XSDecimal representing the smallest integer greater than the
         number stored" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
				<comment>
					<description>Returns the smallest integer greater than the number stored</description>
					<attribute name="@return">
						<description>A XSDecimal representing the smallest integer greater than the
         number stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="floor" returncomment="A XSDecimal representing the largest integer smaller than the
         number stored" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
				<comment>
					<description>Returns the largest integer smaller than the number stored</description>
					<attribute name="@return">
						<description>A XSDecimal representing the largest integer smaller than the
         number stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="round" returncomment="A XSDecimal representing the closest long of the number stored." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
				<comment>
					<description>Returns the closest integer of the number stored.</description>
					<attribute name="@return">
						<description>A XSDecimal representing the closest long of the number stored.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="round_half_to_even" returncomment="A XSDecimal representing the closest long of the number stored." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
				<comment>
					<description>Returns the closest integer of the number stored.</description>
					<attribute name="@return">
						<description>A XSDecimal representing the closest long of the number stored.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="round_half_to_even" returncomment="A XSDecimal representing the closest long of the number stored." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
				<comment>
					<description>Returns the closest integer of the number stored with the specified precision.</description>
					<attribute name="@param">
						<description>precision An integer precision</description>
					</attribute>
					<attribute name="@return">
						<description>A XSDecimal representing the closest long of the number stored.</description>
					</attribute>
				</comment>
				<params>
					<param name="precision" comment="An integer precision" fulltype="int" type="int" />
				</params>
			</method>
			<method visibility="public" name="getTypeDefinition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
			<method visibility="public" name="getNativeValue" fulltype="java.lang.Object" type="Object" />
		</methods>
	</jelclass>
	<jelclass superclass="NumericType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDouble" type="XSDouble">
		<comment>
			<description>A representation of the Double datatype</description>
		</comment>
		<methods>
			<constructor visibility="public" name="XSDouble">
				<comment>
					<description>Initialises a representation of the supplied number</description>
					<attribute name="@param">
						<description>x
            Number to be stored</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="Number to be stored" fulltype="double" type="double" />
				</params>
			</constructor>
			<constructor visibility="public" name="XSDouble">
				<comment>
					<description>Initializes a representation of 0</description>
				</comment>
			</constructor>
			<constructor visibility="public" name="XSDouble">
				<comment>
					<description>Initialises using a String represented number</description>
					<attribute name="@param">
						<description>init
            String representation of the number to be stored</description>
					</attribute>
				</comment>
				<params>
					<param name="init" comment="String representation of the number to be stored" fulltype="java.lang.String" type="String" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</constructor>
			<method static="true" visibility="public" name="parse_double" returncomment="New XSDouble representing the number supplied" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDouble" type="XSDouble">
				<comment>
					<description>Creates a new representation of the String represented number</description>
					<attribute name="@param">
						<description>i
            String representation of the number to be stored</description>
					</attribute>
					<attribute name="@return">
						<description>New XSDouble representing the number supplied</description>
					</attribute>
				</comment>
				<params>
					<param name="i" comment="String representation of the number to be stored" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="constructor" returncomment="A new result sequence consisting of the double number supplied." fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new result sequence consisting of the retrievable double number
 in the supplied result sequence</description>
					<attribute name="@param">
						<description>arg
            The result sequence from which to extract the double number.</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
					<attribute name="@return">
						<description>A new result sequence consisting of the double number supplied.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The result sequence from which to extract the double number." fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="string_type" returncomment="&quot;xs:double&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:double&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;double&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;double&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getStringValue" returncomment="String representation of the Decimal value stored" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the Decimal value stored</description>
					<attribute name="@return">
						<description>String representation of the Decimal value stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="nan" returncomment="True if this XSDouble represents NaN. False otherwise." fulltype="boolean" type="boolean">
				<comment>
					<description>Check for whether this XSDouble represents NaN</description>
					<attribute name="@return">
						<description>True if this XSDouble represents NaN. False otherwise.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="infinite" returncomment="True if this XSDouble represents infinity. False otherwise." fulltype="boolean" type="boolean">
				<comment>
					<description>Check for whether this XSDouble represents an infinite number (negative or positive)</description>
					<attribute name="@return">
						<description>True if this XSDouble represents infinity. False otherwise.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="zero" returncomment="True if this XSDouble represents 0. False otherwise." fulltype="boolean" type="boolean">
				<comment>
					<description>Check for whether this XSDouble represents 0</description>
					<attribute name="@return">
						<description>True if this XSDouble represents 0. False otherwise.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="negativeZero" fulltype="boolean" type="boolean" />
			<method visibility="public" name="double_value" returncomment="The actual value of the number stored" fulltype="double" type="double">
				<comment>
					<description>Retrieves the actual value of the number stored</description>
					<attribute name="@return">
						<description>The actual value of the number stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="eq" returncomment="True if the 2 representations represent the same number. False
         otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Equality comparison between this number and the supplied representation.</description>
					<attribute name="@param">
						<description>aa
            Representation to be compared with (must currently be of type
            XSDouble)</description>
					</attribute>
					<attribute name="@return">
						<description>True if the 2 representations represent the same number. False
         otherwise</description>
					</attribute>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
				<params>
					<param name="aa" comment="Representation to be compared with (must currently be of type
            XSDouble)" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="dynamicContext" fulltype="org.eclipse.wst.xml.xpath2.api.DynamicContext" type="DynamicContext" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="gt" returncomment="True if the supplied type represents a number smaller than this
         one stored. False otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Comparison between this number and the supplied representation.</description>
					<attribute name="@param">
						<description>arg
            Representation to be compared with (must currently be of type
            XSDouble)</description>
					</attribute>
					<attribute name="@return">
						<description>True if the supplied type represents a number smaller than this
         one stored. False otherwise</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="Representation to be compared with (must currently be of type
            XSDouble)" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="context" fulltype="org.eclipse.wst.xml.xpath2.api.DynamicContext" type="DynamicContext" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="protected" name="convertArg" fulltype="org.eclipse.wst.xml.xpath2.api.Item" type="Item">
				<params>
					<param name="arg" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="lt" returncomment="True if the supplied type represents a number greater than this
         one stored. False otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Comparison between this number and the supplied representation. Currently
 no numeric type promotion exists so the supplied representation must be
 of type XSDouble.</description>
					<attribute name="@param">
						<description>arg
            Representation to be compared with (must currently be of type
            XSDouble)</description>
					</attribute>
					<attribute name="@return">
						<description>True if the supplied type represents a number greater than this
         one stored. False otherwise</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="Representation to be compared with (must currently be of type
            XSDouble)" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="context" fulltype="org.eclipse.wst.xml.xpath2.api.DynamicContext" type="DynamicContext" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="plus" returncomment="A XSDouble consisting of the result of the mathematical addition." fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical addition operator between this XSDouble and the supplied
 ResultSequence.</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence to perform an addition with</description>
					</attribute>
					<attribute name="@return">
						<description>A XSDouble consisting of the result of the mathematical addition.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence to perform an addition with" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="minus" returncomment="A XSDouble consisting of the result of the mathematical
         subtraction." fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical subtraction operator between this XSDouble and the supplied
 ResultSequence.</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence to perform an subtraction with</description>
					</attribute>
					<attribute name="@return">
						<description>A XSDouble consisting of the result of the mathematical
         subtraction.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence to perform an subtraction with" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="times" returncomment="A XSDouble consisting of the result of the mathematical
         multiplication." fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical multiplication operator between this XSDouble and the
 supplied ResultSequence. Due to no numeric type promotion or conversion,
 the ResultSequence must be of type XSDouble.</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence to perform an multiplication with</description>
					</attribute>
					<attribute name="@return">
						<description>A XSDouble consisting of the result of the mathematical
         multiplication.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence to perform an multiplication with" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="div" returncomment="A XSDouble consisting of the result of the mathematical division." fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical division operator between this XSDouble and the supplied
 ResultSequence.</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence to perform an division with</description>
					</attribute>
					<attribute name="@return">
						<description>A XSDouble consisting of the result of the mathematical division.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence to perform an division with" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="idiv" returncomment="A XSInteger consisting of the result of the mathematical integer
         division." fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical integer division operator between this XSDouble and the
 supplied ResultSequence.</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence to perform an integer division with</description>
					</attribute>
					<attribute name="@return">
						<description>A XSInteger consisting of the result of the mathematical integer
         division.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence to perform an integer division with" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="mod" returncomment="A XSDouble consisting of the result of the mathematical modulus." fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical modulus operator between this XSDouble and the supplied
 ResultSequence.</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence to perform a modulus with</description>
					</attribute>
					<attribute name="@return">
						<description>A XSDouble consisting of the result of the mathematical modulus.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence to perform a modulus with" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="unary_minus" returncomment="A XSDouble representing the negation of this XSDecimal" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Negation of the number stored</description>
					<attribute name="@return">
						<description>A XSDouble representing the negation of this XSDecimal</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="abs" returncomment="A XSDouble representing the absolute value of the number stored" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
				<comment>
					<description>Absolutes the number stored</description>
					<attribute name="@return">
						<description>A XSDouble representing the absolute value of the number stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="ceiling" returncomment="A XSDouble representing the smallest integer greater than the
         number stored" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
				<comment>
					<description>Returns the smallest integer greater than the number stored</description>
					<attribute name="@return">
						<description>A XSDouble representing the smallest integer greater than the
         number stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="floor" returncomment="A XSDouble representing the largest integer smaller than the
         number stored" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
				<comment>
					<description>Returns the largest integer smaller than the number stored</description>
					<attribute name="@return">
						<description>A XSDouble representing the largest integer smaller than the
         number stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="round" returncomment="A XSDouble representing the closest long of the number stored." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
				<comment>
					<description>Returns the closest integer of the number stored.</description>
					<attribute name="@return">
						<description>A XSDouble representing the closest long of the number stored.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="round_half_to_even" returncomment="A XSDouble representing the closest long of the number stored." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
				<comment>
					<description>Returns the closest integer of the number stored.</description>
					<attribute name="@return">
						<description>A XSDouble representing the closest long of the number stored.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="round_half_to_even" returncomment="A XSDouble representing the closest long of the number stored." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
				<comment>
					<description>Returns the closest integer of the number stored with the specified
 precision.</description>
					<attribute name="@param">
						<description>precision
            An integer precision</description>
					</attribute>
					<attribute name="@return">
						<description>A XSDouble representing the closest long of the number stored.</description>
					</attribute>
				</comment>
				<params>
					<param name="precision" comment="An integer precision" fulltype="int" type="int" />
				</params>
			</method>
			<method visibility="public" name="getTypeDefinition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
			<method visibility="public" name="getNativeValue" fulltype="java.lang.Object" type="Object" />
		</methods>
	</jelclass>
	<jelclass superclass="CtrType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration">
		<implements>
			<interface fulltype="java.lang.Cloneable" type="Cloneable" />
		</implements>
		<comment>
			<description>A representation of the xs:duration data type. Other duration implementations
 should inherit from this implementation.</description>
			<attribute name="@since">
				<description>1.1 This used to be an abstract class but was incorrectly implemented
        as such.</description>
			</attribute>
		</comment>
		<fields>
			<field visibility="protected" name="_year" fulltype="int" type="int" />
			<field visibility="protected" name="_month" fulltype="int" type="int" />
			<field visibility="protected" name="_days" fulltype="int" type="int" />
			<field visibility="protected" name="_hours" fulltype="int" type="int" />
			<field visibility="protected" name="_minutes" fulltype="int" type="int" />
			<field visibility="protected" name="_seconds" fulltype="double" type="double" />
			<field visibility="protected" name="_negative" fulltype="boolean" type="boolean" />
		</fields>
		<methods>
			<constructor visibility="public" name="XSDuration">
				<comment>
					<description>Initializes to the supplied parameters. If more than 24 hours is
 supplied, the number of days is adjusted accordingly. The same occurs for
 minutes and seconds</description>
					<attribute name="@param">
						<description>years
            Number of years in this duration of time.</description>
					</attribute>
					<attribute name="@param">
						<description>months
            Number of months in this duration of time.</description>
					</attribute>
					<attribute name="@param">
						<description>days
            Number of days in this duration of time</description>
					</attribute>
					<attribute name="@param">
						<description>hours
            Number of hours in this duration of time</description>
					</attribute>
					<attribute name="@param">
						<description>minutes
            Number of minutes in this duration of time</description>
					</attribute>
					<attribute name="@param">
						<description>seconds
            Number of seconds in this duration of time</description>
					</attribute>
					<attribute name="@param">
						<description>negative
            True if this duration of time represents a backwards passage
            through time. False otherwise</description>
					</attribute>
				</comment>
				<params>
					<param name="years" comment="Number of years in this duration of time." fulltype="int" type="int" />
					<param name="months" comment="Number of months in this duration of time." fulltype="int" type="int" />
					<param name="days" comment="Number of days in this duration of time" fulltype="int" type="int" />
					<param name="hours" comment="Number of hours in this duration of time" fulltype="int" type="int" />
					<param name="minutes" comment="Number of minutes in this duration of time" fulltype="int" type="int" />
					<param name="seconds" comment="Number of seconds in this duration of time" fulltype="double" type="double" />
					<param name="negative" comment="True if this duration of time represents a backwards passage
            through time. False otherwise" fulltype="boolean" type="boolean" />
				</params>
			</constructor>
			<constructor visibility="public" name="XSDuration">
				<comment>
					<description>Initialises to the given number of seconds</description>
					<attribute name="@param">
						<description>secs
            Number of seconds in the duration of time</description>
					</attribute>
				</comment>
				<params>
					<param name="secs" comment="Number of seconds in the duration of time" fulltype="double" type="double" />
				</params>
			</constructor>
			<constructor visibility="public" name="XSDuration">
				<comment>
					<description>Initialises to a duration of no time (0days, 0hours, 0minutes, 0seconds)</description>
				</comment>
			</constructor>
			<method visibility="public" name="type_name" fulltype="java.lang.String" type="String" />
			<method visibility="public" name="string_type" fulltype="java.lang.String" type="String" />
			<method visibility="public" name="getStringValue" returncomment="String representation of the duration stored" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the duration stored</description>
					<attribute name="@return">
						<description>String representation of the duration stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="days" returncomment="Number of days within the duration of time stored" fulltype="int" type="int">
				<comment>
					<description>Retrieves the number of days within the duration of time stored</description>
					<attribute name="@return">
						<description>Number of days within the duration of time stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="minutes" returncomment="Number of minutes within the duration of time stored" fulltype="int" type="int">
				<comment>
					<description>Retrieves the number of minutes (max 60) within the duration of time
 stored</description>
					<attribute name="@return">
						<description>Number of minutes within the duration of time stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="hours" returncomment="Number of hours within the duration of time stored" fulltype="int" type="int">
				<comment>
					<description>Retrieves the number of hours (max 24) within the duration of time stored</description>
					<attribute name="@return">
						<description>Number of hours within the duration of time stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="seconds" returncomment="Number of seconds within the duration of time stored" fulltype="double" type="double">
				<comment>
					<description>Retrieves the number of seconds (max 60) within the duration of time
 stored</description>
					<attribute name="@return">
						<description>Number of seconds within the duration of time stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="eq" returncomment="True if they both represent the duration of time. False otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Equality comparison between this and the supplied duration of time.</description>
					<attribute name="@param">
						<description>arg
            The duration of time to compare with</description>
					</attribute>
					<attribute name="@return">
						<description>True if they both represent the duration of time. False otherwise</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The duration of time to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="dynamicContext" fulltype="org.eclipse.wst.xml.xpath2.api.DynamicContext" type="DynamicContext" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="lt" returncomment="True if the supplied time represents a larger duration than that
         stored. False otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Comparison between this and the supplied duration of time.</description>
					<attribute name="@param">
						<description>arg
            The duration of time to compare with</description>
					</attribute>
					<attribute name="@return">
						<description>True if the supplied time represents a larger duration than that
         stored. False otherwise</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The duration of time to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="context" fulltype="org.eclipse.wst.xml.xpath2.api.DynamicContext" type="DynamicContext" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="gt" returncomment="True if the supplied time represents a smaller duration than that
         stored. False otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Comparison between this and the supplied duration of time.</description>
					<attribute name="@param">
						<description>arg
            The duration of time to compare with</description>
					</attribute>
					<attribute name="@return">
						<description>True if the supplied time represents a smaller duration than that
         stored. False otherwise</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The duration of time to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="context" fulltype="org.eclipse.wst.xml.xpath2.api.DynamicContext" type="DynamicContext" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="negative" returncomment="True if this duration represents a backward passage through time.
         False otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Retrieves whether this duration represents a backward passage through
 time</description>
					<attribute name="@return">
						<description>True if this duration represents a backward passage through time.
         False otherwise</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="value" returncomment="Number of seconds making up this duration of time" fulltype="double" type="double">
				<comment>
					<description>Retrieves the duration of time stored as the number of seconds within it</description>
					<attribute name="@return">
						<description>Number of seconds making up this duration of time</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="time_value" fulltype="double" type="double" />
			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the time duration extracted" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the extractable time duration
 from the supplied ResultSequence</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which to extract</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the time duration extracted</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which to extract" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method static="true" visibility="public" name="parseDTDuration" returncomment="New XSDayTimeDuration representing the duration of time supplied" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration">
				<comment>
					<description>Creates a new XSDayTimeDuration by parsing the supplied String
 represented duration of time</description>
					<attribute name="@param">
						<description>str
            String represented duration of time</description>
					</attribute>
					<attribute name="@return">
						<description>New XSDayTimeDuration representing the duration of time supplied</description>
					</attribute>
				</comment>
				<params>
					<param name="str" comment="String represented duration of time" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="clone" fulltype="java.lang.Object" type="Object">
				<exceptions>
					<exception fulltype="java.lang.CloneNotSupportedException" type="CloneNotSupportedException" />
				</exceptions>
			</method>
			<method visibility="public" name="year" returncomment="Number of years within the duration of time stored" fulltype="int" type="int">
				<comment>
					<description>Retrieves the number of years within the duration of time stored</description>
					<attribute name="@return">
						<description>Number of years within the duration of time stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="month" returncomment="Number of months within the duration of time stored" fulltype="int" type="int">
				<comment>
					<description>Retrieves the number of months within the duration of time stored</description>
					<attribute name="@return">
						<description>Number of months within the duration of time stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="protected" name="isCastable" fulltype="boolean" type="boolean">
				<params>
					<param name="aat" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType" type="AnyAtomicType" />
				</params>
			</method>
			<method visibility="public" name="getTypeDefinition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
			<method visibility="public" name="getNativeValue" fulltype="java.lang.Object" type="Object" />
		</methods>
	</jelclass>
	<jelclass superclass="XSNCName" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSNCName" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSEntity" type="XSEntity">
		<comment>
			<description>Built in Data Type for xs:Entity</description>
			<attribute name="@author">
				<description>dcarver</description>
			</attribute>
			<attribute name="@since">
				<description>1.1</description>
			</attribute>
		</comment>
		<methods>
			<constructor visibility="public" name="XSEntity" />
			<constructor visibility="public" name="XSEntity">
				<params>
					<param name="value" fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
			<method visibility="public" name="string_type" fulltype="java.lang.String" type="String" />
			<method visibility="public" name="type_name" fulltype="java.lang.String" type="String" />
			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the ENTITY supplied" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the ENTITY within
 the supplied ResultSequence.  The specification says that this
 is relaxed from the XML Schema requirement.  The ENTITY does
 not have to be located or expanded during construction and
 evaluation for casting.</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which to extract the ENTITY</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the ENTITY supplied</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which to extract the ENTITY" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="getTypeDefinition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
		</methods>
	</jelclass>
	<jelclass superclass="NumericType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSFloat" type="XSFloat">
		<comment>
			<description>A representation of the Float datatype</description>
		</comment>
		<methods>
			<constructor visibility="public" name="XSFloat">
				<comment>
					<description>Initiates a representation of the supplied number</description>
					<attribute name="@param">
						<description>x
            The number to be stored</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="The number to be stored" fulltype="float" type="float" />
				</params>
			</constructor>
			<constructor visibility="public" name="XSFloat">
				<comment>
					<description>Initiates a representation of 0</description>
				</comment>
			</constructor>
			<constructor visibility="public" name="XSFloat">
				<comment>
					<description>Initialises using a String represented number</description>
					<attribute name="@param">
						<description>init
            String representation of the number to be stored</description>
					</attribute>
				</comment>
				<params>
					<param name="init" comment="String representation of the number to be stored" fulltype="java.lang.String" type="String" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</constructor>
			<method visibility="public" name="string_type" returncomment="&quot;xs:float&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:float&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;float&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;float&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getStringValue" returncomment="String representation of the stored number" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the stored number</description>
					<attribute name="@return">
						<description>String representation of the stored number</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="nan" returncomment="True is this datatype represents NaN. False otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Check for whether this datatype represents NaN</description>
					<attribute name="@return">
						<description>True is this datatype represents NaN. False otherwise</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="infinite" returncomment="True is this datatype represents infinity. False otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Check for whether this datatype represents negative or positive infinity</description>
					<attribute name="@return">
						<description>True is this datatype represents infinity. False otherwise</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="zero" returncomment="True if this datatype represents 0. False otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Check for whether this datatype represents 0</description>
					<attribute name="@return">
						<description>True if this datatype represents 0. False otherwise</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="negativeZero" fulltype="boolean" type="boolean" />
			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the float supplied" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the retrievable float in the
 supplied ResultSequence</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which to extract the float</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the float supplied</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which to extract the float" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="float_value" returncomment="The actual float value stored" fulltype="float" type="float">
				<comment>
					<description>Retrieves the actual float value stored</description>
					<attribute name="@return">
						<description>The actual float value stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="eq" returncomment="True if the two representations are of the same number. False
         otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Equality comparison between this number and the supplied representation.</description>
					<attribute name="@param">
						<description>aa
            The datatype to compare with</description>
					</attribute>
					<attribute name="@return">
						<description>True if the two representations are of the same number. False
         otherwise</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="aa" comment="The datatype to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="dynamicContext" fulltype="org.eclipse.wst.xml.xpath2.api.DynamicContext" type="DynamicContext" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="gt" returncomment="True if the supplied representation is a smaller number than the
         one stored. False otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Comparison between this number and the supplied representation.</description>
					<attribute name="@param">
						<description>arg
            The datatype to compare with</description>
					</attribute>
					<attribute name="@return">
						<description>True if the supplied representation is a smaller number than the
         one stored. False otherwise</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The datatype to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="context" fulltype="org.eclipse.wst.xml.xpath2.api.DynamicContext" type="DynamicContext" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="lt" returncomment="True if the supplied representation is a greater number than the
         one stored. False otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Comparison between this number and the supplied representation.</description>
					<attribute name="@param">
						<description>arg
            The datatype to compare with</description>
					</attribute>
					<attribute name="@return">
						<description>True if the supplied representation is a greater number than the
         one stored. False otherwise</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The datatype to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="context" fulltype="org.eclipse.wst.xml.xpath2.api.DynamicContext" type="DynamicContext" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="plus" returncomment="A XSFloat consisting of the result of the mathematical addition." fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical addition operator between this XSFloat and the supplied
 ResultSequence.</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence to perform an addition with</description>
					</attribute>
					<attribute name="@return">
						<description>A XSFloat consisting of the result of the mathematical addition.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence to perform an addition with" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="minus" returncomment="A XSFloat consisting of the result of the mathematical
         subtraction." fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical subtraction operator between this XSFloat and the supplied
 ResultSequence.</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence to perform a subtraction with</description>
					</attribute>
					<attribute name="@return">
						<description>A XSFloat consisting of the result of the mathematical
         subtraction.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence to perform a subtraction with" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="times" returncomment="A XSFloat consisting of the result of the mathematical
         multiplication." fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical multiplication operator between this XSFloat and the
 supplied ResultSequence.</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence to perform a multiplication with</description>
					</attribute>
					<attribute name="@return">
						<description>A XSFloat consisting of the result of the mathematical
         multiplication.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence to perform a multiplication with" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="div" returncomment="A XSFloat consisting of the result of the mathematical division." fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical division operator between this XSFloat and the supplied
 ResultSequence.</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence to perform a division with</description>
					</attribute>
					<attribute name="@return">
						<description>A XSFloat consisting of the result of the mathematical division.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence to perform a division with" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="idiv" returncomment="A XSInteger consisting of the result of the mathematical integer
         division." fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical integer division operator between this XSFloat and the
 supplied ResultSequence.</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence to perform an integer division with</description>
					</attribute>
					<attribute name="@return">
						<description>A XSInteger consisting of the result of the mathematical integer
         division.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence to perform an integer division with" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="mod" returncomment="A XSFloat consisting of the result of the mathematical modulus." fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical modulus operator between this XSFloat and the supplied
 ResultSequence. Due to no numeric type promotion or conversion, the
 ResultSequence must be of type XSFloat.</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence to perform a modulus with</description>
					</attribute>
					<attribute name="@return">
						<description>A XSFloat consisting of the result of the mathematical modulus.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence to perform a modulus with" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="unary_minus" returncomment="A XSFloat representing the negation of the number stored" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Negates the number stored</description>
					<attribute name="@return">
						<description>A XSFloat representing the negation of the number stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="abs" returncomment="A XSFloat representing the absolute value of the number stored" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
				<comment>
					<description>Absolutes the number stored</description>
					<attribute name="@return">
						<description>A XSFloat representing the absolute value of the number stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="ceiling" returncomment="A XSFloat representing the smallest integer greater than the
         number stored" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
				<comment>
					<description>Returns the smallest integer greater than the number stored</description>
					<attribute name="@return">
						<description>A XSFloat representing the smallest integer greater than the
         number stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="floor" returncomment="A XSFloat representing the largest integer smaller than the
         number stored" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
				<comment>
					<description>Returns the largest integer smaller than the number stored</description>
					<attribute name="@return">
						<description>A XSFloat representing the largest integer smaller than the
         number stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="round" returncomment="A XSFloat representing the closest long of the number stored." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
				<comment>
					<description>Returns the closest integer of the number stored.</description>
					<attribute name="@return">
						<description>A XSFloat representing the closest long of the number stored.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="round_half_to_even" returncomment="A XSFloat representing the closest long of the number stored." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
				<comment>
					<description>Returns the closest integer of the number stored.</description>
					<attribute name="@return">
						<description>A XSFloat representing the closest long of the number stored.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="round_half_to_even" returncomment="A XSFloat representing the closest long of the number stored." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
				<comment>
					<description>Returns the closest integer of the number stored with the specified precision.</description>
					<attribute name="@param">
						<description>precision An integer precision</description>
					</attribute>
					<attribute name="@return">
						<description>A XSFloat representing the closest long of the number stored.</description>
					</attribute>
				</comment>
				<params>
					<param name="precision" comment="An integer precision" fulltype="int" type="int" />
				</params>
			</method>
			<method visibility="protected" name="convertArg" fulltype="org.eclipse.wst.xml.xpath2.api.Item" type="Item">
				<params>
					<param name="arg" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="getTypeDefinition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
			<method visibility="public" name="getNativeValue" fulltype="java.lang.Object" type="Object" />
		</methods>
	</jelclass>
	<jelclass superclass="CalendarType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CalendarType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSGDay" type="XSGDay">
		<comment>
			<description>A representation of the Day datatype</description>
		</comment>
		<methods>
			<constructor visibility="public" name="XSGDay">
				<comment>
					<description>Initializes a representation of the supplied day</description>
					<attribute name="@param">
						<description>cal
            Calendar representation of the day to be stored</description>
					</attribute>
					<attribute name="@param">
						<description>tz
            Timezone associated with this day</description>
					</attribute>
				</comment>
				<params>
					<param name="cal" comment="Calendar representation of the day to be stored" fulltype="java.util.Calendar" type="Calendar" />
					<param name="tz" comment="Timezone associated with this day" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration" />
				</params>
			</constructor>
			<constructor visibility="public" name="XSGDay">
				<comment>
					<description>Initialises a representation of the current day</description>
				</comment>
			</constructor>
			<method visibility="public" name="type_name" returncomment="&quot;gDay&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;gDay&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method static="true" visibility="public" name="parse_gDay" returncomment="The XSGDay representation of the supplied date" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSGDay" type="XSGDay">
				<comment>
					<description>Parses a String representation of a day and constructs a new XSGDay
 representation of it.</description>
					<attribute name="@param">
						<description>str
            The String representation of the day (and optional timezone)</description>
					</attribute>
					<attribute name="@return">
						<description>The XSGDay representation of the supplied date</description>
					</attribute>
				</comment>
				<params>
					<param name="str" comment="The String representation of the day (and optional timezone)" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the supplied day" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the extractable gDay in the
 supplied ResultSequence</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which the gDay is to be extracted</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the supplied day</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which the gDay is to be extracted" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="protected" name="isGDataType" fulltype="boolean" type="boolean">
				<params>
					<param name="aat" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType" type="AnyAtomicType" />
				</params>
			</method>
			<method visibility="public" name="day" returncomment="The actual day as an integer" fulltype="int" type="int">
				<comment>
					<description>Retrieves the actual day as an integer</description>
					<attribute name="@return">
						<description>The actual day as an integer</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="timezoned" returncomment="True if a timezone was specified. False otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Check for whether a timezone was specified at creation</description>
					<attribute name="@return">
						<description>True if a timezone was specified. False otherwise</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getStringValue" returncomment="String representation of the stored day" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the stored day</description>
					<attribute name="@return">
						<description>String representation of the stored day</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="string_type" returncomment="&quot;xs:gDay&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:gDay&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="calendar" returncomment="Calendar representation of the day stored" fulltype="java.util.Calendar" type="Calendar">
				<comment>
					<description>Retrieves the Calendar representation of the day stored</description>
					<attribute name="@return">
						<description>Calendar representation of the day stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="eq" returncomment="True if the two representations are of the same day. False
         otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Equality comparison between this and the supplied representation. This
 representation must be of type XSGDay</description>
					<attribute name="@param">
						<description>arg
            The XSGDay to compare with</description>
					</attribute>
					<attribute name="@return">
						<description>True if the two representations are of the same day. False
         otherwise</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The XSGDay to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="dynamicContext" fulltype="org.eclipse.wst.xml.xpath2.api.DynamicContext" type="DynamicContext" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="tz" returncomment="the timezone associated with the date stored" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration">
				<comment>
					<description>Retrieves the timezone associated with the date stored</description>
					<attribute name="@return">
						<description>the timezone associated with the date stored</description>
					</attribute>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getTypeDefinition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
		</methods>
	</jelclass>
	<jelclass superclass="CalendarType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CalendarType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSGMonth" type="XSGMonth">
		<comment>
			<description>A representation of the gMonth datatype</description>
		</comment>
		<methods>
			<constructor visibility="public" name="XSGMonth">
				<comment>
					<description>Initializes a representation of the supplied month</description>
					<attribute name="@param">
						<description>cal
            Calendar representation of the month to be stored</description>
					</attribute>
					<attribute name="@param">
						<description>tz
            Timezone associated with this month</description>
					</attribute>
				</comment>
				<params>
					<param name="cal" comment="Calendar representation of the month to be stored" fulltype="java.util.Calendar" type="Calendar" />
					<param name="tz" comment="Timezone associated with this month" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration" />
				</params>
			</constructor>
			<constructor visibility="public" name="XSGMonth">
				<comment>
					<description>Initialises a representation of the current month</description>
				</comment>
			</constructor>
			<method visibility="public" name="type_name" returncomment="&quot;gMonth&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;gMonth&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method static="true" visibility="public" name="parse_gMonth" returncomment="The XSGMonth representation of the supplied date" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSGMonth" type="XSGMonth">
				<comment>
					<description>Parses a String representation of a month and constructs a new XSGMonth
 representation of it.</description>
					<attribute name="@param">
						<description>str
            The String representation of the month (and optional timezone)</description>
					</attribute>
					<attribute name="@return">
						<description>The XSGMonth representation of the supplied date</description>
					</attribute>
				</comment>
				<params>
					<param name="str" comment="The String representation of the month (and optional timezone)" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the supplied month" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the extractable gMonth in the
 supplied ResultSequence</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which the gMonth is to be extracted</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the supplied month</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which the gMonth is to be extracted" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="protected" name="isGDataType" fulltype="boolean" type="boolean">
				<params>
					<param name="aat" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType" type="AnyAtomicType" />
				</params>
			</method>
			<method visibility="public" name="month" returncomment="The actual month as an integer" fulltype="int" type="int">
				<comment>
					<description>Retrieves the actual month as an integer</description>
					<attribute name="@return">
						<description>The actual month as an integer</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="timezoned" returncomment="True if a timezone was specified. False otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Check for whether a timezone was specified at creation</description>
					<attribute name="@return">
						<description>True if a timezone was specified. False otherwise</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getStringValue" returncomment="String representation of the stored month" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the stored month</description>
					<attribute name="@return">
						<description>String representation of the stored month</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="string_type" returncomment="&quot;xs:gMonth&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:gMonth&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="calendar" returncomment="Calendar representation of the month stored" fulltype="java.util.Calendar" type="Calendar">
				<comment>
					<description>Retrieves the Calendar representation of the month stored</description>
					<attribute name="@return">
						<description>Calendar representation of the month stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="eq" returncomment="True if the two representations are of the same month. False
         otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Equality comparison between this and the supplied representation. This
 representation must be of type XSGMonth</description>
					<attribute name="@param">
						<description>arg
            The XSGMonth to compare with</description>
					</attribute>
					<attribute name="@return">
						<description>True if the two representations are of the same month. False
         otherwise</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The XSGMonth to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="dynamicContext" fulltype="org.eclipse.wst.xml.xpath2.api.DynamicContext" type="DynamicContext" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="tz" returncomment="the timezone associated with the date stored" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration">
				<comment>
					<description>Retrieves the timezone associated with the date stored</description>
					<attribute name="@return">
						<description>the timezone associated with the date stored</description>
					</attribute>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getTypeDefinition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
		</methods>
	</jelclass>
	<jelclass superclass="CalendarType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CalendarType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSGMonthDay" type="XSGMonthDay">
		<comment>
			<description>A representation of the MonthDay datatype</description>
		</comment>
		<methods>
			<constructor visibility="public" name="XSGMonthDay">
				<comment>
					<description>Initialises a representation of the supplied month and day</description>
					<attribute name="@param">
						<description>cal
            Calendar representation of the month and day to be stored</description>
					</attribute>
					<attribute name="@param">
						<description>tz
            Timezone associated with this month and day</description>
					</attribute>
				</comment>
				<params>
					<param name="cal" comment="Calendar representation of the month and day to be stored" fulltype="java.util.Calendar" type="Calendar" />
					<param name="tz" comment="Timezone associated with this month and day" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration" />
				</params>
			</constructor>
			<constructor visibility="public" name="XSGMonthDay">
				<comment>
					<description>Initialises a representation of the current month and day</description>
				</comment>
			</constructor>
			<method visibility="public" name="type_name" returncomment="&quot;gMonthDay&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;gMonthDay&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method static="true" visibility="public" name="parse_gMonthDay" returncomment="The XSGMonthDay representation of the supplied date" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSGMonthDay" type="XSGMonthDay">
				<comment>
					<description>Parses a String representation of a month and day and constructs a new
 XSGMonthDay representation of it.</description>
					<attribute name="@param">
						<description>str
            The String representation of the month and day (and optional
            timezone)</description>
					</attribute>
					<attribute name="@return">
						<description>The XSGMonthDay representation of the supplied date</description>
					</attribute>
				</comment>
				<params>
					<param name="str" comment="The String representation of the month and day (and optional
            timezone)" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the supplied month and day" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the extractable gMonthDay in
 the supplied ResultSequence</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which the gMonthDay is to be extracted</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the supplied month and day</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which the gMonthDay is to be extracted" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="protected" name="isGDataType" fulltype="boolean" type="boolean">
				<params>
					<param name="aat" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType" type="AnyAtomicType" />
				</params>
			</method>
			<method visibility="public" name="month" returncomment="The actual month as an integer" fulltype="int" type="int">
				<comment>
					<description>Retrieves the actual month as an integer</description>
					<attribute name="@return">
						<description>The actual month as an integer</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="day" returncomment="The actual day as an integer" fulltype="int" type="int">
				<comment>
					<description>Retrieves the actual day as an integer</description>
					<attribute name="@return">
						<description>The actual day as an integer</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="timezoned" returncomment="True if a timezone was specified. False otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Check for whether a timezone was specified at creation</description>
					<attribute name="@return">
						<description>True if a timezone was specified. False otherwise</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getStringValue" returncomment="String representation of the stored month and day" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the stored month and day</description>
					<attribute name="@return">
						<description>String representation of the stored month and day</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="string_type" returncomment="&quot;xs:gMonthDay&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:gMonthDay&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="calendar" returncomment="Calendar representation of the month and day stored" fulltype="java.util.Calendar" type="Calendar">
				<comment>
					<description>Retrieves the Calendar representation of the month and day stored</description>
					<attribute name="@return">
						<description>Calendar representation of the month and day stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="eq" returncomment="True if the two representations are of the same month and day.
         False otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Equality comparison between this and the supplied representation. This
 representation must be of type XSGMonthDay</description>
					<attribute name="@param">
						<description>arg
            The XSGMonthDay to compare with</description>
					</attribute>
					<attribute name="@return">
						<description>True if the two representations are of the same month and day.
         False otherwise</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The XSGMonthDay to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="dynamicContext" fulltype="org.eclipse.wst.xml.xpath2.api.DynamicContext" type="DynamicContext" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="tz" returncomment="the timezone associated with the date stored" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration">
				<comment>
					<description>Retrieves the timezone associated with the date stored</description>
					<attribute name="@return">
						<description>the timezone associated with the date stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getTypeDefinition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
		</methods>
	</jelclass>
	<jelclass superclass="CalendarType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CalendarType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSGYear" type="XSGYear">
		<comment>
			<description>A representation of the gMonth datatype</description>
		</comment>
		<methods>
			<constructor visibility="public" name="XSGYear">
				<comment>
					<description>Initialises a representation of the supplied month</description>
					<attribute name="@param">
						<description>cal
            Calendar representation of the month to be stored</description>
					</attribute>
					<attribute name="@param">
						<description>tz
            Timezone associated with this month</description>
					</attribute>
				</comment>
				<params>
					<param name="cal" comment="Calendar representation of the month to be stored" fulltype="java.util.Calendar" type="Calendar" />
					<param name="tz" comment="Timezone associated with this month" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration" />
				</params>
			</constructor>
			<constructor visibility="public" name="XSGYear">
				<comment>
					<description>Initialises a representation of the current year</description>
				</comment>
			</constructor>
			<method visibility="public" name="type_name" returncomment="&quot;gYear&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;gYear&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method static="true" visibility="public" name="parse_gYear" returncomment="The XSGYear representation of the supplied date" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSGYear" type="XSGYear">
				<comment>
					<description>Parses a String representation of a year and constructs a new XSGYear
 representation of it.</description>
					<attribute name="@param">
						<description>str
            The String representation of the year (and optional timezone)</description>
					</attribute>
					<attribute name="@return">
						<description>The XSGYear representation of the supplied date</description>
					</attribute>
				</comment>
				<params>
					<param name="str" comment="The String representation of the year (and optional timezone)" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the supplied year" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the extractable gYear in the
 supplied ResultSequence</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which the gYear is to be extracted</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the supplied year</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which the gYear is to be extracted" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="protected" name="isGDataType" fulltype="boolean" type="boolean">
				<params>
					<param name="aat" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType" type="AnyAtomicType" />
				</params>
			</method>
			<method visibility="public" name="year" returncomment="The actual year as an integer" fulltype="int" type="int">
				<comment>
					<description>Retrieves the actual year as an integer</description>
					<attribute name="@return">
						<description>The actual year as an integer</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="timezoned" returncomment="True if a timezone was specified. False otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Check for whether a timezone was specified at creation</description>
					<attribute name="@return">
						<description>True if a timezone was specified. False otherwise</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getStringValue" returncomment="String representation of the stored year" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the stored year</description>
					<attribute name="@return">
						<description>String representation of the stored year</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="string_type" returncomment="&quot;xs:gYear&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:gYear&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="calendar" returncomment="Calendar representation of the year stored" fulltype="java.util.Calendar" type="Calendar">
				<comment>
					<description>Retrieves the Calendar representation of the year stored</description>
					<attribute name="@return">
						<description>Calendar representation of the year stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="eq" returncomment="True if the two representations are of the same year. False
         otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Equality comparison between this and the supplied representation. This
 representation must be of type XSGYear</description>
					<attribute name="@param">
						<description>arg
            The XSGYear to compare with</description>
					</attribute>
					<attribute name="@return">
						<description>True if the two representations are of the same year. False
         otherwise</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The XSGYear to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="dynamicContext" fulltype="org.eclipse.wst.xml.xpath2.api.DynamicContext" type="DynamicContext" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="tz" returncomment="the timezone associated with the date stored" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration">
				<comment>
					<description>Retrieves the timezone associated with the date stored</description>
					<attribute name="@return">
						<description>the timezone associated with the date stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getTypeDefinition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
		</methods>
	</jelclass>
	<jelclass superclass="CalendarType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CalendarType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSGYearMonth" type="XSGYearMonth">
		<comment>
			<description>A representation of the YearMonth datatype</description>
		</comment>
		<methods>
			<constructor visibility="public" name="XSGYearMonth">
				<comment>
					<description>Initialises a representation of the supplied year and month</description>
					<attribute name="@param">
						<description>cal
            Calendar representation of the year and month to be stored</description>
					</attribute>
					<attribute name="@param">
						<description>tz
            Timezone associated with this year and month</description>
					</attribute>
				</comment>
				<params>
					<param name="cal" comment="Calendar representation of the year and month to be stored" fulltype="java.util.Calendar" type="Calendar" />
					<param name="tz" comment="Timezone associated with this year and month" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration" />
				</params>
			</constructor>
			<constructor visibility="public" name="XSGYearMonth">
				<comment>
					<description>Initialises a representation of the current year and month</description>
				</comment>
			</constructor>
			<method visibility="public" name="type_name" returncomment="&quot;gYearMonth&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;gYearMonth&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method static="true" visibility="public" name="parse_gYearMonth" returncomment="The XSGYearMonth representation of the supplied date" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSGYearMonth" type="XSGYearMonth">
				<comment>
					<description>Parses a String representation of a year and month and constructs a new
 XSGYearMonth representation of it.</description>
					<attribute name="@param">
						<description>str
            The String representation of the year and month (and optional
            timezone)</description>
					</attribute>
					<attribute name="@return">
						<description>The XSGYearMonth representation of the supplied date</description>
					</attribute>
				</comment>
				<params>
					<param name="str" comment="The String representation of the year and month (and optional
            timezone)" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the supplied year and month" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the extractable gYearMonth in
 the supplied ResultSequence</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which the gYearMonth is to be
            extracted</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the supplied year and month</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which the gYearMonth is to be
            extracted" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="protected" name="isGDataType" fulltype="boolean" type="boolean">
				<params>
					<param name="aat" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType" type="AnyAtomicType" />
				</params>
			</method>
			<method visibility="public" name="year" returncomment="The actual year as an integer" fulltype="int" type="int">
				<comment>
					<description>Retrieves the actual year as an integer</description>
					<attribute name="@return">
						<description>The actual year as an integer</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="month" returncomment="The actual month as an integer" fulltype="int" type="int">
				<comment>
					<description>Retrieves the actual month as an integer</description>
					<attribute name="@return">
						<description>The actual month as an integer</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="timezoned" returncomment="True if a timezone was specified. False otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Check for whether a timezone was specified at creation</description>
					<attribute name="@return">
						<description>True if a timezone was specified. False otherwise</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getStringValue" returncomment="String representation of the stored year and month" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the stored year and month</description>
					<attribute name="@return">
						<description>String representation of the stored year and month</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="string_type" returncomment="&quot;xs:gYearMonth&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:gYearMonth&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="calendar" returncomment="Calendar representation of the year and month stored" fulltype="java.util.Calendar" type="Calendar">
				<comment>
					<description>Retrieves the Calendar representation of the year and month stored</description>
					<attribute name="@return">
						<description>Calendar representation of the year and month stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="eq" returncomment="True if the two representations are of the same year and month.
         False otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Equality comparison between this and the supplied representation. This
 representation must be of type XSGYearMonth</description>
					<attribute name="@param">
						<description>arg
            The XSGYearMonth to compare with</description>
					</attribute>
					<attribute name="@return">
						<description>True if the two representations are of the same year and month.
         False otherwise</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The XSGYearMonth to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="dynamicContext" fulltype="org.eclipse.wst.xml.xpath2.api.DynamicContext" type="DynamicContext" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="tz" returncomment="the timezone associated with the date stored" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration">
				<comment>
					<description>Retrieves the timezone associated with the date stored</description>
					<attribute name="@return">
						<description>the timezone associated with the date stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getTypeDefinition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
		</methods>
	</jelclass>
	<jelclass superclass="CtrType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSHexBinary" type="XSHexBinary">
		<comment>
			<description>A representation of the xs:hexBinary datatype</description>
		</comment>
		<methods>
			<constructor visibility="public" name="XSHexBinary">
				<comment>
					<description>Initialises using the supplied String</description>
					<attribute name="@param">
						<description>x
            The String to initialise to</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="The String to initialise to" fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
			<constructor visibility="public" name="XSHexBinary">
				<comment>
					<description>Initialises to null</description>
				</comment>
			</constructor>
			<method visibility="public" name="string_type" returncomment="&quot;xs:hexBinary&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:hexBinary&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;hexBinary&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;hexBinary&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getStringValue" returncomment="The hexBinary stored" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the base64Binary stored. This method is
 functionally identical to value()</description>
					<attribute name="@return">
						<description>The hexBinary stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="value" returncomment="The hexBinary stored" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the hexBinary stored. This method is
 functionally identical to string_value()</description>
					<attribute name="@return">
						<description>The hexBinary stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="constructor" returncomment="New ResultSequence representing hexBinary value" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the hexBinary value</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which to construct hexBinary value</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence representing hexBinary value</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which to construct hexBinary value" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="eq" returncomment="True if the two representation are same. False otherwise." fulltype="boolean" type="boolean">
				<comment>
					<description>Equality comparison between this and the supplied representation which
 must be of type hexBinary</description>
					<attribute name="@param">
						<description>arg
            The representation to compare with</description>
					</attribute>
					<attribute name="@return">
						<description>True if the two representation are same. False otherwise.</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The representation to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="dynamicContext" fulltype="org.eclipse.wst.xml.xpath2.api.DynamicContext" type="DynamicContext" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="getTypeDefinition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
			<method visibility="public" name="getNativeValue" fulltype="java.lang.Object" type="Object" />
		</methods>
	</jelclass>
	<jelclass superclass="XSNCName" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSNCName" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSID" type="XSID">
		<methods>
			<constructor visibility="public" name="XSID">
				<params>
					<param name="x" fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
			<constructor visibility="public" name="XSID" />
			<method visibility="public" name="string_type" fulltype="java.lang.String" type="String" />
			<method visibility="public" name="type_name" fulltype="java.lang.String" type="String" />
			<method visibility="public" name="constructor" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<params>
					<param name="arg" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="getTypeDefinition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
		</methods>
	</jelclass>
	<jelclass superclass="XSNCName" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSNCName" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSIDREF" type="XSIDREF">
		<methods>
			<constructor visibility="public" name="XSIDREF">
				<params>
					<param name="x" fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
			<constructor visibility="public" name="XSIDREF" />
			<method visibility="public" name="string_type" fulltype="java.lang.String" type="String" />
			<method visibility="public" name="type_name" fulltype="java.lang.String" type="String" />
			<method visibility="public" name="constructor" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<params>
					<param name="arg" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="getTypeDefinition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
		</methods>
	</jelclass>
	<jelclass superclass="XSLong" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSLong" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSInt" type="XSInt">
		<methods>
			<constructor visibility="public" name="XSInt">
				<comment>
					<description>Initializes a representation of 0</description>
				</comment>
			</constructor>
			<constructor visibility="public" name="XSInt">
				<comment>
					<description>Initializes a representation of the supplied int value</description>
					<attribute name="@param">
						<description>x
            Int to be stored</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="Int to be stored" fulltype="java.math.BigInteger" type="BigInteger" />
				</params>
			</constructor>
			<method visibility="public" name="string_type" returncomment="&quot;xs:int&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:int&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;int&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;int&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the &apos;int&apos; supplied" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the extractable &apos;int&apos; in the
 supplied ResultSequence</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which the int is to be extracted</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the &apos;int&apos; supplied</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which the int is to be extracted" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="getTypeDefinition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
		</methods>
	</jelclass>
	<jelclass superclass="XSDecimal" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDecimal" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger" type="XSInteger">
		<comment>
			<description>A representation of the Integer datatype</description>
		</comment>
		<methods>
			<constructor visibility="public" name="XSInteger">
				<comment>
					<description>Initializes a representation of 0</description>
				</comment>
			</constructor>
			<constructor visibility="public" name="XSInteger">
				<comment>
					<description>Initializes a representation of the supplied integer</description>
					<attribute name="@param">
						<description>x
            Integer to be stored</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="Integer to be stored" fulltype="java.math.BigInteger" type="BigInteger" />
				</params>
			</constructor>
			<constructor visibility="public" name="XSInteger">
				<comment>
					<description>Initializes a representation of the supplied integer</description>
					<attribute name="@param">
						<description>x
            Integer to be stored</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="Integer to be stored" fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
			<method visibility="public" name="string_type" returncomment="&quot;xs:integer&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:integer&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;integer&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;integer&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getStringValue" returncomment="String representation of the integer stored" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the integer stored</description>
					<attribute name="@return">
						<description>String representation of the integer stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="zero" returncomment="True is the integer represented is 0. False otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Check whether the integer represented is 0</description>
					<attribute name="@return">
						<description>True is the integer represented is 0. False otherwise</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the integer supplied" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the extractable integer in the
 supplied ResultSequence</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which the integer is to be extracted</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the integer supplied</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which the integer is to be extracted" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="protected" name="isLexicalValue" fulltype="boolean" type="boolean">
				<params>
					<param name="value" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="int_value" returncomment="The actual integer value stored" fulltype="java.math.BigInteger" type="BigInteger">
				<comment>
					<description>Retrieves the actual integer value stored</description>
					<attribute name="@return">
						<description>The actual integer value stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="set_int" fulltype="void" type="void">
				<comment>
					<description>Sets the integer stored to that supplied</description>
					<attribute name="@param">
						<description>x
            Integer to be stored</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="Integer to be stored" fulltype="java.math.BigInteger" type="BigInteger" />
				</params>
			</method>
			<method visibility="public" name="plus" returncomment="A XSInteger consisting of the result of the mathematical
         addition." fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical addition operator between this XSInteger and the supplied
 ResultSequence.</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence to perform an addition with</description>
					</attribute>
					<attribute name="@return">
						<description>A XSInteger consisting of the result of the mathematical
         addition.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence to perform an addition with" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="minus" returncomment="A XSInteger consisting of the result of the mathematical
         subtraction." fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical subtraction operator between this XSInteger and the supplied
 ResultSequence.</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence to perform a subtraction with</description>
					</attribute>
					<attribute name="@return">
						<description>A XSInteger consisting of the result of the mathematical
         subtraction.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence to perform a subtraction with" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="times" returncomment="A XSInteger consisting of the result of the mathematical
         multiplication." fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical multiplication operator between this XSInteger and the
 supplied ResultSequence.</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence to perform a multiplication with</description>
					</attribute>
					<attribute name="@return">
						<description>A XSInteger consisting of the result of the mathematical
         multiplication.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence to perform a multiplication with" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="mod" returncomment="A XSInteger consisting of the result of the mathematical modulus." fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical modulus operator between this XSInteger and the supplied
 ResultSequence.</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence to perform a modulus with</description>
					</attribute>
					<attribute name="@return">
						<description>A XSInteger consisting of the result of the mathematical modulus.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence to perform a modulus with" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="unary_minus" returncomment="New XSInteger representing the negation of the integer stored" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Negates the integer stored</description>
					<attribute name="@return">
						<description>New XSInteger representing the negation of the integer stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="abs" returncomment="New XSInteger representing the absolute of the integer stored" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
				<comment>
					<description>Absolutes the integer stored</description>
					<attribute name="@return">
						<description>New XSInteger representing the absolute of the integer stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="gt" fulltype="boolean" type="boolean">
				<params>
					<param name="arg" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="context" fulltype="org.eclipse.wst.xml.xpath2.api.DynamicContext" type="DynamicContext" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="protected" name="convertArg" fulltype="org.eclipse.wst.xml.xpath2.api.Item" type="Item">
				<params>
					<param name="arg" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="lt" fulltype="boolean" type="boolean">
				<params>
					<param name="arg" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="context" fulltype="org.eclipse.wst.xml.xpath2.api.DynamicContext" type="DynamicContext" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="div" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<params>
					<param name="arg" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="getTypeDefinition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
		</methods>
	</jelclass>
	<jelclass superclass="XSInteger" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSLong" type="XSLong">
		<methods>
			<constructor visibility="public" name="XSLong">
				<comment>
					<description>Initializes a representation of 0</description>
				</comment>
			</constructor>
			<constructor visibility="public" name="XSLong">
				<comment>
					<description>Initializes a representation of the supplied long value</description>
					<attribute name="@param">
						<description>x
            Long to be stored</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="Long to be stored" fulltype="java.math.BigInteger" type="BigInteger" />
				</params>
			</constructor>
			<method visibility="public" name="string_type" returncomment="&quot;xs:long&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:long&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;long&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;long&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the &apos;long&apos; supplied" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the extractable long in the
 supplied ResultSequence</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which the long is to be extracted</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the &apos;long&apos; supplied</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which the long is to be extracted" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="getTypeDefinition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
		</methods>
	</jelclass>
	<jelclass superclass="XSName" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSName" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSNCName" type="XSNCName">
		<comment>
			<description>A representation of the NCName datatype</description>
		</comment>
		<methods>
			<constructor visibility="public" name="XSNCName">
				<comment>
					<description>Initialises using the supplied String</description>
					<attribute name="@param">
						<description>x
            String to be stored</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="String to be stored" fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
			<constructor visibility="public" name="XSNCName">
				<comment>
					<description>Initialises to null</description>
				</comment>
			</constructor>
			<method visibility="public" name="string_type" returncomment="&quot;xs:NCName&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:NCName&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;NCName&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;NCName&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the NCName supplied" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the extractable NCName within
 the supplied ResultSequence</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which to extract the NCName</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the NCName supplied</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which to extract the NCName" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="protected" name="isConstraintSatisfied" fulltype="boolean" type="boolean">
				<params>
					<param name="strValue" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="getTypeDefinition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
		</methods>
	</jelclass>
	<jelclass superclass="XSToken" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSToken" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSNMTOKEN" type="XSNMTOKEN">
		<comment>
			<description>A representation of the NMTOKEN datatype</description>
		</comment>
		<methods>
			<constructor visibility="public" name="XSNMTOKEN">
				<comment>
					<description>Initialises using the supplied String</description>
					<attribute name="@param">
						<description>x
            String to be stored</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="String to be stored" fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
			<constructor visibility="public" name="XSNMTOKEN">
				<comment>
					<description>Initialises to null</description>
				</comment>
			</constructor>
			<method visibility="public" name="string_type" returncomment="&quot;xs:NMTOKEN&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:NMTOKEN&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;NMTOKEN&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;NMTOKEN&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the NMTOKEN supplied" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the extractable NMTOKEN within
 the supplied ResultSequence</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which to extract the NMTOKEN</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the NMTOKEN supplied</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which to extract the NMTOKEN" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="getTypeDefinition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
		</methods>
	</jelclass>
	<jelclass superclass="XSToken" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSToken" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSName" type="XSName">
		<comment>
			<description>A representation of the Name datatype</description>
		</comment>
		<methods>
			<constructor visibility="public" name="XSName">
				<comment>
					<description>Initialises using the supplied String</description>
					<attribute name="@param">
						<description>x
            String to be stored</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="String to be stored" fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
			<constructor visibility="public" name="XSName">
				<comment>
					<description>Initialises to null</description>
				</comment>
			</constructor>
			<method visibility="public" name="string_type" returncomment="&quot;xs:Name&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:Name&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;Name&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;Name&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the Name supplied" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the extractable Name within
 the supplied ResultSequence</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which to extract the Name</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the Name supplied</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which to extract the Name" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="getTypeDefinition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
		</methods>
	</jelclass>
	<jelclass superclass="XSNonPositiveInteger" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSNonPositiveInteger" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSNegativeInteger" type="XSNegativeInteger">
		<methods>
			<constructor visibility="public" name="XSNegativeInteger">
				<comment>
					<description>Initializes a representation of -1</description>
				</comment>
			</constructor>
			<constructor visibility="public" name="XSNegativeInteger">
				<comment>
					<description>Initializes a representation of the supplied negativeInteger value</description>
					<attribute name="@param">
						<description>x
            negativeInteger to be stored</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="negativeInteger to be stored" fulltype="java.math.BigInteger" type="BigInteger" />
				</params>
			</constructor>
			<method visibility="public" name="string_type" returncomment="&quot;xs:negativeInteger&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:negativeInteger&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;negativeInteger&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;negativeInteger&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the &apos;negativeInteger&apos; supplied" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the extractable negativeInteger
 in the supplied ResultSequence</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which the negativeInteger is to be extracted</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the &apos;negativeInteger&apos; supplied</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which the negativeInteger is to be extracted" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="getTypeDefinition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
		</methods>
	</jelclass>
	<jelclass superclass="XSInteger" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSNonNegativeInteger" type="XSNonNegativeInteger">
		<methods>
			<constructor visibility="public" name="XSNonNegativeInteger">
				<comment>
					<description>Initializes a representation of 0</description>
				</comment>
			</constructor>
			<constructor visibility="public" name="XSNonNegativeInteger">
				<comment>
					<description>Initializes a representation of the supplied nonNegativeInteger value</description>
					<attribute name="@param">
						<description>x
            nonNegativeInteger to be stored</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="nonNegativeInteger to be stored" fulltype="java.math.BigInteger" type="BigInteger" />
				</params>
			</constructor>
			<method visibility="public" name="string_type" returncomment="&quot;xs:nonNegativeInteger&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:nonNegativeInteger&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;nonNegativeInteger&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;nonNegativeInteger&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the &apos;nonNegativeInteger&apos; supplied" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the extractable nonNegativeInteger
 in the supplied ResultSequence</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which the nonNegativeInteger is to be extracted</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the &apos;nonNegativeInteger&apos; supplied</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which the nonNegativeInteger is to be extracted" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="getTypeDefinition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
			<method visibility="public" name="getNativeValue" fulltype="java.lang.Object" type="Object" />
		</methods>
	</jelclass>
	<jelclass superclass="XSInteger" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSNonPositiveInteger" type="XSNonPositiveInteger">
		<methods>
			<constructor visibility="public" name="XSNonPositiveInteger">
				<comment>
					<description>Initializes a representation of 0</description>
				</comment>
			</constructor>
			<constructor visibility="public" name="XSNonPositiveInteger">
				<comment>
					<description>Initializes a representation of the supplied nonPositiveInteger value</description>
					<attribute name="@param">
						<description>x
            nonPositiveInteger to be stored</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="nonPositiveInteger to be stored" fulltype="java.math.BigInteger" type="BigInteger" />
				</params>
			</constructor>
			<method visibility="public" name="string_type" returncomment="&quot;xs:nonPositiveInteger&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:nonPositiveInteger&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;nonPositiveInteger&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;nonPositiveInteger&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the &apos;nonPositiveInteger&apos; supplied" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the extractable nonPositiveInteger
 in the supplied ResultSequence</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which the nonPositiveInteger is to be extracted</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the &apos;nonPositiveInteger&apos; supplied</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which the nonPositiveInteger is to be extracted" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="getTypeDefinition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
			<method visibility="public" name="getNativeValue" fulltype="java.lang.Object" type="Object" />
		</methods>
	</jelclass>
	<jelclass superclass="XSString" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSString" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSNormalizedString" type="XSNormalizedString">
		<comment>
			<description>A representation of the xs:normalizedString datatype</description>
		</comment>
		<methods>
			<constructor visibility="public" name="XSNormalizedString">
				<comment>
					<description>Initialises using the supplied String</description>
					<attribute name="@param">
						<description>x
            The String to initialise to</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="The String to initialise to" fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
			<constructor visibility="public" name="XSNormalizedString">
				<comment>
					<description>Initialises to null</description>
				</comment>
			</constructor>
			<method visibility="public" name="string_type" returncomment="&quot;xs:normalizedString&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:normalizedString&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;normalizedString&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;normalizedString&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the supplied String" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the extractable String in the
 supplied ResultSequence</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which to extract the String</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the supplied String</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which to extract the String" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="protected" name="isSatisfiesConstraints" fulltype="boolean" type="boolean">
				<params>
					<param name="srcString" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="getTypeDefinition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
		</methods>
	</jelclass>
	<jelclass superclass="CtrType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSNotation" type="XSNotation">
		<methods>
			<constructor visibility="public" name="XSNotation" />
			<method visibility="public" name="string_type" fulltype="java.lang.String" type="String" />
			<method visibility="public" name="getStringValue" fulltype="java.lang.String" type="String" />
			<method visibility="public" name="constructor" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<params>
					<param name="arg" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="type_name" fulltype="java.lang.String" type="String" />
			<method visibility="public" name="getTypeDefinition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
			<method visibility="public" name="getNativeValue" fulltype="java.lang.Object" type="Object" />
		</methods>
	</jelclass>
	<jelclass superclass="XSNonNegativeInteger" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSNonNegativeInteger" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSPositiveInteger" type="XSPositiveInteger">
		<methods>
			<constructor visibility="public" name="XSPositiveInteger">
				<comment>
					<description>Initializes a representation of 1</description>
				</comment>
			</constructor>
			<constructor visibility="public" name="XSPositiveInteger">
				<comment>
					<description>Initializes a representation of the supplied positiveInteger value</description>
					<attribute name="@param">
						<description>x
            positiveInteger to be stored</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="positiveInteger to be stored" fulltype="java.math.BigInteger" type="BigInteger" />
				</params>
			</constructor>
			<method visibility="public" name="string_type" returncomment="&quot;xs:positiveInteger&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:positiveInteger&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;positiveInteger&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;positiveInteger&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the &apos;positiveInteger&apos; supplied" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the extractable positiveInteger
 in the supplied ResultSequence</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which the positiveInteger is to be extracted</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the &apos;positiveInteger&apos; supplied</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which the positiveInteger is to be extracted" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="getTypeDefinition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
			<method visibility="public" name="getNativeValue" fulltype="java.lang.Object" type="Object" />
		</methods>
	</jelclass>
	<jelclass superclass="XSInt" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSInt" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSShort" type="XSShort">
		<methods>
			<constructor visibility="public" name="XSShort">
				<comment>
					<description>Initializes a representation of 0</description>
				</comment>
			</constructor>
			<constructor visibility="public" name="XSShort">
				<comment>
					<description>Initializes a representation of the supplied short value</description>
					<attribute name="@param">
						<description>x
            Short to be stored</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="Short to be stored" fulltype="java.math.BigInteger" type="BigInteger" />
				</params>
			</constructor>
			<method visibility="public" name="string_type" returncomment="&quot;xs:short&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:short&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;short&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;short&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the &apos;short&apos; supplied" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the extractable &apos;short&apos; in the
 supplied ResultSequence</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which the short is to be extracted</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the &apos;short&apos; supplied</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which the short is to be extracted" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="getTypeDefinition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
			<method visibility="public" name="getNativeValue" fulltype="java.lang.Object" type="Object" />
		</methods>
	</jelclass>
	<jelclass superclass="CtrType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSString" type="XSString">
		<comment>
			<description>A representation of the String datatype</description>
		</comment>
		<methods>
			<constructor visibility="public" name="XSString">
				<comment>
					<description>Initialises using the supplied String</description>
					<attribute name="@param">
						<description>x
            The String to initialise to</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="The String to initialise to" fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
			<constructor visibility="public" name="XSString">
				<comment>
					<description>Initialises to null</description>
				</comment>
			</constructor>
			<method visibility="public" name="string_type" returncomment="&quot;xs:string&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:string&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;string&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;string&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getStringValue" returncomment="The String stored" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the string stored. This method is
 functionally identical to value()</description>
					<attribute name="@return">
						<description>The String stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="value" returncomment="The String stored" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the string stored. This method is
 functionally identical to string_value()</description>
					<attribute name="@return">
						<description>The String stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the supplied String" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the extractable String in the
 supplied ResultSequence</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which to extract the String</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the supplied String</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which to extract the String" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="eq" returncomment="True if the two representation are of the same String. False
         otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Equality comparison between this and the supplied representation which
 must be of type String</description>
					<attribute name="@param">
						<description>arg
            The representation to compare with</description>
					</attribute>
					<attribute name="@return">
						<description>True if the two representation are of the same String. False
         otherwise</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The representation to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="dynamicContext" fulltype="org.eclipse.wst.xml.xpath2.api.DynamicContext" type="DynamicContext" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="gt" returncomment="True if this String is lexographically greater than that
         supplied. False otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Comparison between this and the supplied representation which must be of
 type String</description>
					<attribute name="@param">
						<description>arg
            The representation to compare with</description>
					</attribute>
					<attribute name="@return">
						<description>True if this String is lexographically greater than that
         supplied. False otherwise</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The representation to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="context" fulltype="org.eclipse.wst.xml.xpath2.api.DynamicContext" type="DynamicContext" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="lt" returncomment="True if this String is lexographically less than that supplied.
         False otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Comparison between this and the supplied representation which must be of
 type String</description>
					<attribute name="@param">
						<description>arg
            The representation to compare with</description>
					</attribute>
					<attribute name="@return">
						<description>True if this String is lexographically less than that supplied.
         False otherwise</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The representation to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="context" fulltype="org.eclipse.wst.xml.xpath2.api.DynamicContext" type="DynamicContext" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="getTypeDefinition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
			<method visibility="public" name="getNativeValue" fulltype="java.lang.Object" type="Object" />
		</methods>
	</jelclass>
	<jelclass superclass="CalendarType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CalendarType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSTime" type="XSTime">
		<implements>
			<interface fulltype="java.lang.Cloneable" type="Cloneable" />
		</implements>
		<comment>
			<description>A representation of the Time datatype</description>
		</comment>
		<methods>
			<constructor visibility="public" name="XSTime">
				<comment>
					<description>Initialises to the supplied time and timezone</description>
					<attribute name="@param">
						<description>cal
            Calendar representation of the time to be stored</description>
					</attribute>
					<attribute name="@param">
						<description>tz
            The timezone (possibly null) associated with this time</description>
					</attribute>
				</comment>
				<params>
					<param name="cal" comment="Calendar representation of the time to be stored" fulltype="java.util.Calendar" type="Calendar" />
					<param name="tz" comment="The timezone (possibly null) associated with this time" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration" />
				</params>
			</constructor>
			<constructor visibility="public" name="XSTime">
				<comment>
					<description>Initialises to the current time</description>
				</comment>
			</constructor>
			<method visibility="public" name="clone" returncomment="New XSTime representing the copy of the time and timezone" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Creates a new copy of the time (and timezone) stored</description>
					<attribute name="@return">
						<description>New XSTime representing the copy of the time and timezone</description>
					</attribute>
					<attribute name="@throws">
						<description>CloneNotSupportedException</description>
					</attribute>
				</comment>
				<exceptions>
					<exception comment="" fulltype="java.lang.CloneNotSupportedException" type="CloneNotSupportedException" />
				</exceptions>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;time&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;time&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method static="true" visibility="public" name="parse_time" returncomment="New XSTime representing the supplied time" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CalendarType" type="CalendarType">
				<comment>
					<description>Creates a new XSTime representing the String represented supplied time</description>
					<attribute name="@param">
						<description>str
            String represented time and timezone to be stored</description>
					</attribute>
					<attribute name="@return">
						<description>New XSTime representing the supplied time</description>
					</attribute>
				</comment>
				<params>
					<param name="str" comment="String represented time and timezone to be stored" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the supplied time" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the extractable time from the
 supplied ResultSequence</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which to extract the time</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the supplied time</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which to extract the time" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="hour" returncomment="The hour stored" fulltype="int" type="int">
				<comment>
					<description>Retrieves the hour stored as an integer</description>
					<attribute name="@return">
						<description>The hour stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="minute" returncomment="The minute stored" fulltype="int" type="int">
				<comment>
					<description>Retrieves the minute stored as an integer</description>
					<attribute name="@return">
						<description>The minute stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="second" returncomment="The second stored" fulltype="double" type="double">
				<comment>
					<description>Retrieves the seconds stored as an integer</description>
					<attribute name="@return">
						<description>The second stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="timezoned" returncomment="True if the time has a timezone associated. False otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Check for whether the time stored has a timezone associated with it</description>
					<attribute name="@return">
						<description>True if the time has a timezone associated. False otherwise</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getStringValue" returncomment="String representation of the time stored" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the time stored</description>
					<attribute name="@return">
						<description>String representation of the time stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="string_type" returncomment="&quot;xs:time&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:time&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="calendar" returncomment="Calendar representation of the time stored" fulltype="java.util.Calendar" type="Calendar">
				<comment>
					<description>Retrieves a Calendar representation of time stored</description>
					<attribute name="@return">
						<description>Calendar representation of the time stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="tz" returncomment="The duration of time between the time stored and the actual time
         after the timezone is taken into account" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration">
				<comment>
					<description>Retrieves the timezone associated with the time stored as a duration of
 time</description>
					<attribute name="@return">
						<description>The duration of time between the time stored and the actual time
         after the timezone is taken into account</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="value" returncomment="time stored in milliseconds since the epoch" fulltype="double" type="double">
				<comment>
					<description>Retrieves the time in milliseconds since the epoch</description>
					<attribute name="@return">
						<description>time stored in milliseconds since the epoch</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="eq" returncomment="True if both XSTime&apos;s represent the same time. False otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Equality comparison between this and the supplied XSTime representation</description>
					<attribute name="@param">
						<description>arg
            The XSTime to compare with</description>
					</attribute>
					<attribute name="@return">
						<description>True if both XSTime&apos;s represent the same time. False otherwise</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The XSTime to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="dynamicContext" fulltype="org.eclipse.wst.xml.xpath2.api.DynamicContext" type="DynamicContext" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="lt" returncomment="True if the supplied time represnts a point in time after that
         represented by the time stored. False otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Comparison between this and the supplied XSTime representation</description>
					<attribute name="@param">
						<description>arg
            The XSTime to compare with</description>
					</attribute>
					<attribute name="@return">
						<description>True if the supplied time represnts a point in time after that
         represented by the time stored. False otherwise</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The XSTime to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="context" fulltype="org.eclipse.wst.xml.xpath2.api.DynamicContext" type="DynamicContext" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="gt" returncomment="True if the supplied time represnts a point in time before that
         represented by the time stored. False otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Comparison between this and the supplied XSTime representation</description>
					<attribute name="@param">
						<description>arg
            The XSTime to compare with</description>
					</attribute>
					<attribute name="@return">
						<description>True if the supplied time represnts a point in time before that
         represented by the time stored. False otherwise</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The XSTime to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="context" fulltype="org.eclipse.wst.xml.xpath2.api.DynamicContext" type="DynamicContext" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="minus" returncomment="A ResultSequence representing the result of the subtraction" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical subtraction between this time stored and the supplied
 representation. This supplied representation must be of either type
 XSTime (in which case the result is the duration of time between these
 two times) or a XSDayTimeDuration (in which case the result is the time
 when this duration is subtracted from the time stored).</description>
					<attribute name="@param">
						<description>arg
            The representation to subtract (either XSTim or
            XDTDayTimeDuration)</description>
					</attribute>
					<attribute name="@return">
						<description>A ResultSequence representing the result of the subtraction</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The representation to subtract (either XSTim or
            XDTDayTimeDuration)" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="plus" returncomment="A XSTime representing the result of this addition." fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical addition between this time stored and the supplied time
 duration.</description>
					<attribute name="@param">
						<description>arg
            A XDTDayTimeDuration representation of the duration of time to
            add</description>
					</attribute>
					<attribute name="@return">
						<description>A XSTime representing the result of this addition.</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="A XDTDayTimeDuration representation of the duration of time to
            add" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="getTypeDefinition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
			<method visibility="public" name="getNativeValue" fulltype="java.lang.Object" type="Object" />
		</methods>
	</jelclass>
	<jelclass superclass="XSNormalizedString" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSNormalizedString" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSToken" type="XSToken">
		<comment>
			<description>A representation of the xs:token datatype</description>
		</comment>
		<methods>
			<constructor visibility="public" name="XSToken">
				<comment>
					<description>Initialises using the supplied String</description>
					<attribute name="@param">
						<description>x
            The String to initialise to</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="The String to initialise to" fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
			<constructor visibility="public" name="XSToken">
				<comment>
					<description>Initialises to null</description>
				</comment>
			</constructor>
			<method visibility="public" name="string_type" returncomment="&quot;xs:token&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:token&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;token&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;token&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the supplied String" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the extractable String in the
 supplied ResultSequence</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which to extract the String</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the supplied String</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which to extract the String" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="protected" name="isSatisfiesConstraints" fulltype="boolean" type="boolean">
				<params>
					<param name="srcString" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="getTypeDefinition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
		</methods>
	</jelclass>
	<jelclass superclass="XSUnsignedShort" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSUnsignedShort" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSUnsignedByte" type="XSUnsignedByte">
		<methods>
			<constructor visibility="public" name="XSUnsignedByte">
				<comment>
					<description>Initializes a representation of 0</description>
				</comment>
			</constructor>
			<constructor visibility="public" name="XSUnsignedByte">
				<comment>
					<description>Initializes a representation of the supplied unsignedByte value</description>
					<attribute name="@param">
						<description>x
            unsignedByte to be stored</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="unsignedByte to be stored" fulltype="java.math.BigInteger" type="BigInteger" />
				</params>
			</constructor>
			<method visibility="public" name="string_type" returncomment="&quot;xs:unsignedByte&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:unsignedByte&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;unsignedByte&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;unsignedByte&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the &apos;unsignedByte&apos; supplied" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the extractable unsignedByte
 in the supplied ResultSequence</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which the unsignedByte is to be extracted</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the &apos;unsignedByte&apos; supplied</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which the unsignedByte is to be extracted" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="getTypeDefinition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
			<method visibility="public" name="getNativeValue" fulltype="java.lang.Object" type="Object" />
		</methods>
	</jelclass>
	<jelclass superclass="XSUnsignedLong" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSUnsignedLong" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSUnsignedInt" type="XSUnsignedInt">
		<methods>
			<constructor visibility="public" name="XSUnsignedInt">
				<comment>
					<description>Initializes a representation of 0</description>
				</comment>
			</constructor>
			<constructor visibility="public" name="XSUnsignedInt">
				<comment>
					<description>Initializes a representation of the supplied unsignedInt value</description>
					<attribute name="@param">
						<description>x
            unsignedInt to be stored</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="unsignedInt to be stored" fulltype="java.math.BigInteger" type="BigInteger" />
				</params>
			</constructor>
			<method visibility="public" name="string_type" returncomment="&quot;xs:unsignedInt&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:unsignedInt&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;unsignedInt&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;unsignedInt&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the &apos;unsignedInt&apos; supplied" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the extractable unsignedInt
 in the supplied ResultSequence</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which the unsignedInt is to be extracted</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the &apos;unsignedInt&apos; supplied</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which the unsignedInt is to be extracted" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="getTypeDefinition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
			<method visibility="public" name="getNativeValue" fulltype="java.lang.Object" type="Object" />
		</methods>
	</jelclass>
	<jelclass superclass="XSNonNegativeInteger" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSNonNegativeInteger" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSUnsignedLong" type="XSUnsignedLong">
		<methods>
			<constructor visibility="public" name="XSUnsignedLong">
				<comment>
					<description>Initializes a representation of 0</description>
				</comment>
			</constructor>
			<constructor visibility="public" name="XSUnsignedLong">
				<comment>
					<description>Initializes a representation of the supplied unsignedLong value</description>
					<attribute name="@param">
						<description>x
            unsignedLong to be stored</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="unsignedLong to be stored" fulltype="java.math.BigInteger" type="BigInteger" />
				</params>
			</constructor>
			<method visibility="public" name="string_type" returncomment="&quot;xs:unsignedLong&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:unsignedLong&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;unsignedLong&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;unsignedLong&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the &apos;unsignedLong&apos; supplied" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the extractable unsignedLong
 in the supplied ResultSequence</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which the unsignedLong is to be extracted</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the &apos;unsignedLong&apos; supplied</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which the unsignedLong is to be extracted" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="getTypeDefinition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
			<method visibility="public" name="getNativeValue" fulltype="java.lang.Object" type="Object" />
		</methods>
	</jelclass>
	<jelclass superclass="XSUnsignedInt" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSUnsignedInt" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSUnsignedShort" type="XSUnsignedShort">
		<methods>
			<constructor visibility="public" name="XSUnsignedShort">
				<comment>
					<description>Initializes a representation of 0</description>
				</comment>
			</constructor>
			<constructor visibility="public" name="XSUnsignedShort">
				<comment>
					<description>Initializes a representation of the supplied unsignedShort value</description>
					<attribute name="@param">
						<description>x
            unsignedShort to be stored</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="unsignedShort to be stored" fulltype="java.math.BigInteger" type="BigInteger" />
				</params>
			</constructor>
			<method visibility="public" name="string_type" returncomment="&quot;xs:unsignedShort&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:unsignedShort&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;unsignedShort&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;unsignedShort&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the &apos;unsignedShort&apos; supplied" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the extractable unsignedShort
 in the supplied ResultSequence</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which the unsignedShort is to be extracted</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the &apos;unsignedShort&apos; supplied</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which the unsignedShort is to be extracted" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="getTypeDefinition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
			<method visibility="public" name="getNativeValue" fulltype="java.lang.Object" type="Object" />
		</methods>
	</jelclass>
	<jelclass superclass="CtrType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSUntypedAtomic" type="XSUntypedAtomic">
		<comment>
			<description>A representation of the UntypedAtomic datatype which is used to represent
 untyped atomic nodes.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="XSUntypedAtomic" />
			<constructor visibility="public" name="XSUntypedAtomic">
				<comment>
					<description>Initialises using the supplied String</description>
					<attribute name="@param">
						<description>x
            The String representation of the value of the untyped atomic
            node</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="The String representation of the value of the untyped atomic
            node" fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
			<method visibility="public" name="string_type" returncomment="&quot;xs:untypedAtomic&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:untypedAtomic&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getStringValue" returncomment="String representation of the value of this untyped atomic node" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the value of this untyped atomic
 node</description>
					<attribute name="@return">
						<description>String representation of the value of this untyped atomic node</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="constructor" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<params>
					<param name="arg" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="type_name" fulltype="java.lang.String" type="String" />
			<method visibility="public" name="getTypeDefinition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
			<method visibility="public" name="getNativeValue" fulltype="java.lang.Object" type="Object" />
		</methods>
	</jelclass>
	<jelclass superclass="XSDuration" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSYearMonthDuration" type="XSYearMonthDuration">
		<comment>
			<description>A representation of the YearMonthDuration datatype</description>
		</comment>
		<methods>
			<constructor visibility="public" name="XSYearMonthDuration">
				<comment>
					<description>Initialises using the supplied parameters. If the number of months
 supplied is more than 12, the number of years is adjusted accordingly.</description>
					<attribute name="@param">
						<description>year
            Number of years in this duration of time</description>
					</attribute>
					<attribute name="@param">
						<description>month
            Number of months in this duration of time</description>
					</attribute>
					<attribute name="@param">
						<description>negative
            True if this duration of time represents a backwards passage
            through time. False otherwise</description>
					</attribute>
				</comment>
				<params>
					<param name="year" comment="Number of years in this duration of time" fulltype="int" type="int" />
					<param name="month" comment="Number of months in this duration of time" fulltype="int" type="int" />
					<param name="negative" comment="True if this duration of time represents a backwards passage
            through time. False otherwise" fulltype="boolean" type="boolean" />
				</params>
			</constructor>
			<constructor visibility="public" name="XSYearMonthDuration">
				<comment>
					<description>Initialises to the given number of months</description>
					<attribute name="@param">
						<description>months
            Number of months in the duration of time</description>
					</attribute>
				</comment>
				<params>
					<param name="months" comment="Number of months in the duration of time" fulltype="int" type="int" />
				</params>
			</constructor>
			<constructor visibility="public" name="XSYearMonthDuration">
				<comment>
					<description>Initialises to a duration of no time (0years and 0months)</description>
				</comment>
			</constructor>
			<method static="true" visibility="public" name="parseYMDuration" returncomment="New XSYearMonthDuration representing the duration of time
         supplied" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration">
				<comment>
					<description>Creates a new XSYearMonthDuration by parsing the supplied String
 represented duration of time</description>
					<attribute name="@param">
						<description>str
            String represented duration of time</description>
					</attribute>
					<attribute name="@return">
						<description>New XSYearMonthDuration representing the duration of time
         supplied</description>
					</attribute>
				</comment>
				<params>
					<param name="str" comment="String represented duration of time" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;yearMonthDuration&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrives the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;yearMonthDuration&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the time duration extracted" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the extractable time duration
 from the supplied ResultSequence</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which to extract</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the time duration extracted</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which to extract" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="negative" returncomment="True if this duration represents a backward passage through time.
         False otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Retrieves whether this duration represents a backward passage through
 time</description>
					<attribute name="@return">
						<description>True if this duration represents a backward passage through time.
         False otherwise</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getStringValue" returncomment="String representation of the duration of time stored" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the duration of time stored</description>
					<attribute name="@return">
						<description>String representation of the duration of time stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="string_type" returncomment="&quot;xs:yearMonthDuration&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:yearMonthDuration&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="monthValue" returncomment="Number of months making up this duration of time" fulltype="int" type="int">
				<comment>
					<description>Retrieves the duration of time stored as the number of months within it</description>
					<attribute name="@return">
						<description>Number of months making up this duration of time</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="eq" returncomment="True if they both represent the duration of time. False otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Equality comparison between this and the supplied duration of time.</description>
					<attribute name="@param">
						<description>arg
            The duration of time to compare with</description>
					</attribute>
					<attribute name="@return">
						<description>True if they both represent the duration of time. False otherwise</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The duration of time to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="dynamicContext" fulltype="org.eclipse.wst.xml.xpath2.api.DynamicContext" type="DynamicContext" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="lt" returncomment="True if the supplied time represents a larger duration than that
         stored. False otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Comparison between this and the supplied duration of time.</description>
					<attribute name="@param">
						<description>arg
            The duration of time to compare with</description>
					</attribute>
					<attribute name="@return">
						<description>True if the supplied time represents a larger duration than that
         stored. False otherwise</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The duration of time to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="context" fulltype="org.eclipse.wst.xml.xpath2.api.DynamicContext" type="DynamicContext" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="gt" returncomment="True if the supplied time represents a smaller duration than that
         stored. False otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Comparison between this and the supplied duration of time.</description>
					<attribute name="@param">
						<description>arg
            The duration of time to compare with</description>
					</attribute>
					<attribute name="@return">
						<description>True if the supplied time represents a smaller duration than that
         stored. False otherwise</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The duration of time to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="context" fulltype="org.eclipse.wst.xml.xpath2.api.DynamicContext" type="DynamicContext" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="plus" returncomment="New XSYearMonthDuration representing the resulting duration
         after the addition" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical addition between this duration stored and the supplied
 duration of time (of type XSYearMonthDuration)</description>
					<attribute name="@param">
						<description>arg
            The duration of time to add</description>
					</attribute>
					<attribute name="@return">
						<description>New XSYearMonthDuration representing the resulting duration
         after the addition</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The duration of time to add" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="minus" returncomment="New XSYearMonthDuration representing the resulting duration
         after the subtraction" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical subtraction between this duration stored and the supplied
 duration of time (of type XSYearMonthDuration)</description>
					<attribute name="@param">
						<description>arg
            The duration of time to subtract</description>
					</attribute>
					<attribute name="@return">
						<description>New XSYearMonthDuration representing the resulting duration
         after the subtraction</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The duration of time to subtract" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="times" returncomment="New XSYearMonthDuration representing the resulting duration
         after the multiplication" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical multiplication between this duration stored and the supplied
 duration of time (of type XSYearMonthDuration)</description>
					<attribute name="@param">
						<description>arg
            The duration of time to multiply by</description>
					</attribute>
					<attribute name="@return">
						<description>New XSYearMonthDuration representing the resulting duration
         after the multiplication</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The duration of time to multiply by" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="div" returncomment="New XSYearMonthDuration representing the resulting duration
         after the division" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical division between this duration stored and the supplied
 duration of time (of type XSYearMonthDuration)</description>
					<attribute name="@param">
						<description>arg
            The duration of time to divide by</description>
					</attribute>
					<attribute name="@return">
						<description>New XSYearMonthDuration representing the resulting duration
         after the division</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The duration of time to divide by" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="getTypeDefinition" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
		</methods>
	</jelclass>
	<jelclass abstract="true" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin" interface="true" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.AtomicTypeDefinition" type="AtomicTypeDefinition">
		<implements>
			<interface fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
		</implements>
		<methods>
			<method visibility="public" name="construct" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.SingleItemSequence" type="SingleItemSequence">
				<params>
					<param name="rs" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
			</method>
			<method visibility="public" name="constructNative" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.SingleItemSequence" type="SingleItemSequence">
				<params>
					<param name="rs" fulltype="java.lang.Object" type="Object" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="BuiltinTypeDefinition" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinTypeDefinition" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition" type="BuiltinAtomicTypeDefinition">
		<methods>
			<constructor visibility="public" name="BuiltinAtomicTypeDefinition">
				<params>
					<param name="name" fulltype="java.lang.String" type="String" />
					<param name="implementationClass" fulltype="java.lang.Class" type="Class" />
					<param name="nativeType" fulltype="java.lang.Class" type="Class" />
					<param name="baseType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinTypeDefinition" type="BuiltinTypeDefinition" />
				</params>
			</constructor>
			<method visibility="public" name="isAbstract" fulltype="boolean" type="boolean" />
		</methods>
	</jelclass>
	<jelclass superclass="BuiltinTypeDefinition" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinTypeDefinition" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinListTypeDefinition" type="BuiltinListTypeDefinition">
		<implements>
			<interface fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.SimpleTypeDefinition" type="SimpleTypeDefinition" />
		</implements>
		<methods>
			<constructor visibility="public" name="BuiltinListTypeDefinition">
				<params>
					<param name="name" fulltype="javax.xml.namespace.QName" type="QName" />
					<param name="baseType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinTypeDefinition" type="BuiltinTypeDefinition" />
					<param name="itemType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition" type="BuiltinAtomicTypeDefinition" />
				</params>
			</constructor>
			<constructor visibility="public" name="BuiltinListTypeDefinition">
				<params>
					<param name="name" fulltype="java.lang.String" type="String" />
					<param name="baseType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinTypeDefinition" type="BuiltinTypeDefinition" />
					<param name="itemType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition" type="BuiltinAtomicTypeDefinition" />
				</params>
			</constructor>
			<method visibility="public" name="isAbstract" fulltype="boolean" type="boolean" />
			<method visibility="public" name="getVariety" fulltype="short" type="short" />
			<method visibility="public" name="getPrimitiveType" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.SimpleTypeDefinition" type="SimpleTypeDefinition" />
			<method visibility="public" name="getBuiltInKind" fulltype="short" type="short" />
			<method visibility="public" name="getItemType" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
			<method visibility="public" name="getMemberTypes" fulltype="java.util.List" type="List" />
			<method visibility="public" name="getOrdered" fulltype="short" type="short" />
			<method visibility="public" name="getFinite" fulltype="boolean" type="boolean" />
			<method visibility="public" name="getBounded" fulltype="boolean" type="boolean" />
			<method visibility="public" name="getNumeric" fulltype="boolean" type="boolean" />
		</methods>
	</jelclass>
	<jelclass superclass="Object" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin" superclassfulltype="java.lang.Object" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinTypeDefinition" type="BuiltinTypeDefinition">
		<implements>
			<interface fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.AtomicTypeDefinition" type="AtomicTypeDefinition" />
		</implements>
		<fields>
			<field final="true" static="true" const="http://www.w3.org/2001/XMLSchema" visibility="public" name="XS_NS" constexpr="&quot;http://www.w3.org/2001/XMLSchema&quot;" fulltype="java.lang.String" type="String" />
		</fields>
		<methods>
			<constructor visibility="public" name="BuiltinTypeDefinition">
				<params>
					<param name="name" fulltype="javax.xml.namespace.QName" type="QName" />
					<param name="baseType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinTypeDefinition" type="BuiltinTypeDefinition" />
				</params>
			</constructor>
			<constructor visibility="public" name="BuiltinTypeDefinition">
				<params>
					<param name="name" fulltype="java.lang.String" type="String" />
					<param name="baseType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinTypeDefinition" type="BuiltinTypeDefinition" />
				</params>
			</constructor>
			<constructor visibility="public" name="BuiltinTypeDefinition">
				<params>
					<param name="name" fulltype="javax.xml.namespace.QName" type="QName" />
					<param name="implementationClass" fulltype="java.lang.Class" type="Class" />
					<param name="nativeType" fulltype="java.lang.Class" type="Class" />
					<param name="baseType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinTypeDefinition" type="BuiltinTypeDefinition" />
				</params>
			</constructor>
			<constructor visibility="public" name="BuiltinTypeDefinition">
				<params>
					<param name="name" fulltype="java.lang.String" type="String" />
					<param name="implementationClass" fulltype="java.lang.Class" type="Class" />
					<param name="nativeType" fulltype="java.lang.Class" type="Class" />
					<param name="baseType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinTypeDefinition" type="BuiltinTypeDefinition" />
				</params>
			</constructor>
			<method visibility="public" name="isAbstract" fulltype="boolean" type="boolean" />
			<method visibility="public" name="getNamespace" fulltype="java.lang.String" type="String" />
			<method visibility="public" name="getName" fulltype="java.lang.String" type="String" />
			<method visibility="public" name="getBaseType" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
			<method visibility="public" name="derivedFromType" fulltype="boolean" type="boolean">
				<params>
					<param name="ancestorType" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeDefinition" type="TypeDefinition" />
					<param name="derivationMethod" fulltype="short" type="short" />
				</params>
			</method>
			<method visibility="public" name="derivedFrom" fulltype="boolean" type="boolean">
				<params>
					<param name="namespace" fulltype="java.lang.String" type="String" />
					<param name="name" fulltype="java.lang.String" type="String" />
					<param name="derivationMethod" fulltype="short" type="short" />
				</params>
			</method>
			<method visibility="public" name="getSimpleTypes" fulltype="java.util.List" type="List">
				<params>
					<param name="attr" fulltype="org.w3c.dom.Attr" type="Attr" />
				</params>
			</method>
			<method visibility="public" name="getSimpleTypes" fulltype="java.util.List" type="List">
				<params>
					<param name="attr" fulltype="org.w3c.dom.Element" type="Element" />
				</params>
			</method>
			<method visibility="public" name="construct" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.SingleItemSequence" type="SingleItemSequence">
				<params>
					<param name="rs" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
			</method>
			<method visibility="public" name="constructNative" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.SingleItemSequence" type="SingleItemSequence">
				<params>
					<param name="obj" fulltype="java.lang.Object" type="Object" />
				</params>
			</method>
			<method visibility="public" name="getNativeType" fulltype="java.lang.Class" type="Class" />
		</methods>
	</jelclass>
	<jelclass superclass="Object" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin" superclassfulltype="java.lang.Object" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinTypeLibrary" type="BuiltinTypeLibrary">
		<comment>
			<description>This type captures all of the built-in XPath 2.0 types, as defined in F&amp;O specification.
 http://www.w3.org/TR/xquery-operators/#datatypes</description>
		</comment>
		<fields>
			<field final="true" static="true" visibility="public" name="XS_ANYTYPE" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinTypeDefinition" type="BuiltinTypeDefinition" />
			<field final="true" static="true" visibility="public" name="XS_UNTYPED" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinTypeDefinition" type="BuiltinTypeDefinition" />
			<field final="true" static="true" visibility="public" name="XS_ANYSIMPLETYPE" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinTypeDefinition" type="BuiltinTypeDefinition" />
			<field final="true" static="true" visibility="public" name="XS_ANYATOMICTYPE" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition" type="BuiltinAtomicTypeDefinition" />
			<field final="true" static="true" visibility="public" name="XS_UNTYPEDATOMIC" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition" type="BuiltinAtomicTypeDefinition" />
			<field final="true" static="true" visibility="public" name="XS_DATETIME" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition" type="BuiltinAtomicTypeDefinition" />
			<field final="true" static="true" visibility="public" name="XS_DATE" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition" type="BuiltinAtomicTypeDefinition" />
			<field final="true" static="true" visibility="public" name="XS_TIME" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition" type="BuiltinAtomicTypeDefinition" />
			<field final="true" static="true" visibility="public" name="XS_DURATION" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition" type="BuiltinAtomicTypeDefinition" />
			<field final="true" static="true" visibility="public" name="XS_YEARMONTHDURATION" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition" type="BuiltinAtomicTypeDefinition" />
			<field final="true" static="true" visibility="public" name="XS_DAYTIMEDURATION" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition" type="BuiltinAtomicTypeDefinition" />
			<field final="true" static="true" visibility="public" name="XS_FLOAT" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition" type="BuiltinAtomicTypeDefinition" />
			<field final="true" static="true" visibility="public" name="XS_DOUBLE" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition" type="BuiltinAtomicTypeDefinition" />
			<field final="true" static="true" visibility="public" name="XS_DECIMAL" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition" type="BuiltinAtomicTypeDefinition" />
			<field final="true" static="true" visibility="public" name="XS_INTEGER" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition" type="BuiltinAtomicTypeDefinition" />
			<field final="true" static="true" visibility="public" name="XS_NONPOSITIVEINTEGER" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition" type="BuiltinAtomicTypeDefinition" />
			<field final="true" static="true" visibility="public" name="XS_NEGATIVEINTEGER" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition" type="BuiltinAtomicTypeDefinition" />
			<field final="true" static="true" visibility="public" name="XS_LONG" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition" type="BuiltinAtomicTypeDefinition" />
			<field final="true" static="true" visibility="public" name="XS_INT" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition" type="BuiltinAtomicTypeDefinition" />
			<field final="true" static="true" visibility="public" name="XS_SHORT" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition" type="BuiltinAtomicTypeDefinition" />
			<field final="true" static="true" visibility="public" name="XS_BYTE" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition" type="BuiltinAtomicTypeDefinition" />
			<field final="true" static="true" visibility="public" name="XS_NONNEGATIVEINTEGER" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition" type="BuiltinAtomicTypeDefinition" />
			<field final="true" static="true" visibility="public" name="XS_UNSIGNEDLONG" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition" type="BuiltinAtomicTypeDefinition" />
			<field final="true" static="true" visibility="public" name="XS_UNSIGNEDINT" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition" type="BuiltinAtomicTypeDefinition" />
			<field final="true" static="true" visibility="public" name="XS_UNSIGNEDSHORT" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition" type="BuiltinAtomicTypeDefinition" />
			<field final="true" static="true" visibility="public" name="XS_UNSIGNEDBYTE" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition" type="BuiltinAtomicTypeDefinition" />
			<field final="true" static="true" visibility="public" name="XS_POSITIVEINTEGER" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition" type="BuiltinAtomicTypeDefinition" />
			<field final="true" static="true" visibility="public" name="XS_GYEARMONTH" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition" type="BuiltinAtomicTypeDefinition" />
			<field final="true" static="true" visibility="public" name="XS_GYEAR" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition" type="BuiltinAtomicTypeDefinition" />
			<field final="true" static="true" visibility="public" name="XS_GMONTHDAY" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition" type="BuiltinAtomicTypeDefinition" />
			<field final="true" static="true" visibility="public" name="XS_GDAY" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition" type="BuiltinAtomicTypeDefinition" />
			<field final="true" static="true" visibility="public" name="XS_GMONTH" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition" type="BuiltinAtomicTypeDefinition" />
			<field final="true" static="true" visibility="public" name="XS_STRING" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition" type="BuiltinAtomicTypeDefinition" />
			<field final="true" static="true" visibility="public" name="XS_NORMALIZEDSTRING" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition" type="BuiltinAtomicTypeDefinition" />
			<field final="true" static="true" visibility="public" name="XS_TOKEN" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition" type="BuiltinAtomicTypeDefinition" />
			<field final="true" static="true" visibility="public" name="XS_LANGUAGE" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition" type="BuiltinAtomicTypeDefinition" />
			<field final="true" static="true" visibility="public" name="XS_NMTOKEN" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition" type="BuiltinAtomicTypeDefinition" />
			<field final="true" static="true" visibility="public" name="XS_NAME" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition" type="BuiltinAtomicTypeDefinition" />
			<field final="true" static="true" visibility="public" name="XS_NCNAME" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition" type="BuiltinAtomicTypeDefinition" />
			<field final="true" static="true" visibility="public" name="XS_ID" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition" type="BuiltinAtomicTypeDefinition" />
			<field final="true" static="true" visibility="public" name="XS_IDREF" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition" type="BuiltinAtomicTypeDefinition" />
			<field final="true" static="true" visibility="public" name="XS_ENTITY" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition" type="BuiltinAtomicTypeDefinition" />
			<field final="true" static="true" visibility="public" name="XS_BOOLEAN" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition" type="BuiltinAtomicTypeDefinition" />
			<field final="true" static="true" visibility="public" name="XS_BASE64BINARY" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition" type="BuiltinAtomicTypeDefinition" />
			<field final="true" static="true" visibility="public" name="XS_HEXBINARY" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition" type="BuiltinAtomicTypeDefinition" />
			<field final="true" static="true" visibility="public" name="XS_ANYURI" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition" type="BuiltinAtomicTypeDefinition" />
			<field final="true" static="true" visibility="public" name="XS_QNAME" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition" type="BuiltinAtomicTypeDefinition" />
			<field final="true" static="true" visibility="public" name="XS_NOTATION" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinAtomicTypeDefinition" type="BuiltinAtomicTypeDefinition" />
			<field final="true" static="true" visibility="public" name="XS_IDREFS" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinListTypeDefinition" type="BuiltinListTypeDefinition" />
			<field final="true" static="true" visibility="public" name="XS_NMTOKENS" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinListTypeDefinition" type="BuiltinListTypeDefinition" />
			<field final="true" static="true" visibility="public" name="XS_ENTITIES" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.BuiltinListTypeDefinition" type="BuiltinListTypeDefinition" />
			<field final="true" static="true" visibility="public" name="BUILTIN_TYPES" fulltype="org.eclipse.wst.xml.xpath2.api.typesystem.TypeModel" type="TypeModel" />
		</fields>
		<methods>
			<constructor visibility="public" name="BuiltinTypeLibrary" />
		</methods>
	</jelclass>
	<jelclass abstract="true" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin" interface="true" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.builtin.SingleItemSequence" type="SingleItemSequence">
		<implements>
			<interface fulltype="org.eclipse.wst.xml.xpath2.api.Item" type="Item" />
			<interface fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
		</implements>
	</jelclass>
	<jelclass superclass="ConstructorFL" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types.userdefined" superclassfulltype="ConstructorFL" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.userdefined.UserDefinedCtrLibrary" type="UserDefinedCtrLibrary">
		<methods>
			<constructor visibility="public" name="UserDefinedCtrLibrary">
				<params>
					<param name="ns" fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
		</methods>
	</jelclass>
	<jelclass abstract="true" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.utils" interface="true" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.utils.CodePointIterator" type="CodePointIterator">
		<implements>
			<interface fulltype="java.lang.Cloneable" type="Cloneable" />
		</implements>
		<fields>
			<field final="true" static="true" const="-1" visibility="public" name="DONE" constexpr="-1" fulltype="int" type="int">
				<comment>
					<description>Sentinel value returned from iterator when the end is reached.
 The value is -1 which will never be a valid codepoint.</description>
				</comment>
			</field>
		</fields>
		<methods>
			<method visibility="public" name="first" returncomment="the first code point in the text, or DONE if the text is empty" fulltype="int" type="int">
				<comment>
					<description>Resets the position to 0 and returns the first code point.</description>
					<attribute name="@return">
						<description>the first code point in the text, or DONE if the text is empty</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="last" returncomment="the last code point in the text, or DONE if the text is empty" fulltype="int" type="int">
				<comment>
					<description>Sets the position to the last possible position (or 0 if the text is empty)
 and returns the code point at that position.</description>
					<attribute name="@return">
						<description>the last code point in the text, or DONE if the text is empty</description>
					</attribute>
					<attribute name="@see">
						<description>#getEndIndex()</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="current" returncomment="the code point at the current position or DONE if the current
 position is off the end of the text." fulltype="int" type="int">
				<comment>
					<description>Gets the code point at the current position (as returned by getIndex()).</description>
					<attribute name="@return">
						<description>the code point at the current position or DONE if the current
 position is off the end of the text.</description>
					</attribute>
					<attribute name="@see">
						<description>#getIndex()</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="next" returncomment="the code point at the new position or DONE if the new
 position is after the text range." fulltype="int" type="int">
				<comment>
					<description>Increments the iterator&apos;s code point index by one and returns the code point
 at the new index.  If the resulting index is at the end of the string, the
 index is not incremented, and DONE is returned.</description>
					<attribute name="@return">
						<description>the code point at the new position or DONE if the new
 position is after the text range.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="previous" returncomment="the code point at the new position (or DONE if the current
 position is 0)" fulltype="int" type="int">
				<comment>
					<description>Decrements the iterator&apos;s index by one and returns the character
 at the new index. If the current index is 0, the index
 remains at 0 and a value of DONE is returned.</description>
					<attribute name="@return">
						<description>the code point at the new position (or DONE if the current
 position is 0)</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getIndex" returncomment="the current index." fulltype="int" type="int">
				<comment>
					<description>Returns the current index (as a codepoint, not a string index).</description>
					<attribute name="@return">
						<description>the current index.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="clone" returncomment="A copy of this" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Create a copy of this code point iterator</description>
					<attribute name="@return">
						<description>A copy of this</description>
					</attribute>
				</comment>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="ScalarTypePromoter" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.utils" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.utils.ScalarTypePromoter" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.utils.ComparableTypePromoter" type="ComparableTypePromoter">
		<methods>
			<constructor visibility="public" name="ComparableTypePromoter" />
			<method visibility="protected" name="checkCombination" fulltype="boolean" type="boolean">
				<params>
					<param name="newType" fulltype="java.lang.Class" type="Class" />
				</params>
			</method>
			<method visibility="protected" name="substitute" fulltype="java.lang.Class" type="Class">
				<params>
					<param name="typeToConsider" fulltype="java.lang.Class" type="Class" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="Object" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.utils" superclassfulltype="java.lang.Object" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.utils.LiteralUtils" type="LiteralUtils">
		<comment>
			<description>String literal utilities</description>
		</comment>
		<methods>
			<constructor visibility="public" name="LiteralUtils" />
			<method static="true" visibility="public" name="unquote" returncomment="unquoted and unescaped string" fulltype="java.lang.String" type="String">
				<comment>
					<description>Unquotes a quoted string, changing double quotes into single quotes as well.
 Examples (string delimited by &gt; and &lt;):
  &gt;&quot;A&quot;&lt; becomes &gt;A&lt; 
  &gt;&apos;B&apos;&lt; becomes &gt;B&lt; 
  &gt;&quot;A&quot;&quot;B&quot;&lt; becomes &gt;A&quot;B&lt;
  &gt;&quot;A&quot;&quot;B&quot;&lt; becomes &gt;A&quot;B&lt;
  &gt;&apos;A&apos;&apos;&apos;&apos;B&apos;&lt; becomes &gt;A&apos;&apos;B&lt;
  &gt;&quot;A&apos;&apos;&apos;&apos;B&quot;&lt; becomes &gt;A&apos;&apos;&apos;&apos;B&lt;</description>
					<attribute name="@param">
						<description>quotedString A quoted string possibly containing escaped quotes</description>
					</attribute>
					<attribute name="@return">
						<description>unquoted and unescaped string</description>
					</attribute>
				</comment>
				<params>
					<param name="quotedString" comment="A quoted string possibly containing escaped quotes" fulltype="java.lang.String" type="String" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="TypePromoter" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.utils" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.utils.TypePromoter" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.utils.NumericTypePromoter" type="NumericTypePromoter">
		<methods>
			<constructor visibility="public" name="NumericTypePromoter" />
			<method visibility="protected" name="checkCombination" fulltype="boolean" type="boolean">
				<params>
					<param name="newType" fulltype="java.lang.Class" type="Class" />
				</params>
			</method>
			<method visibility="public" name="doPromote" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType" type="AnyAtomicType">
				<params>
					<param name="value" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType" type="AnyAtomicType" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="protected" name="substitute" fulltype="java.lang.Class" type="Class">
				<params>
					<param name="typeToConsider" fulltype="java.lang.Class" type="Class" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="NumericTypePromoter" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.utils" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.utils.NumericTypePromoter" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.utils.ScalarTypePromoter" type="ScalarTypePromoter">
		<methods>
			<constructor visibility="public" name="ScalarTypePromoter" />
			<method visibility="protected" name="checkCombination" fulltype="boolean" type="boolean">
				<params>
					<param name="newType" fulltype="java.lang.Class" type="Class" />
				</params>
			</method>
			<method visibility="protected" name="substitute" fulltype="java.lang.Class" type="Class">
				<params>
					<param name="typeToConsider" fulltype="java.lang.Class" type="Class" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass final="true" superclass="Object" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.utils" superclassfulltype="java.lang.Object" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.utils.StringCodePointIterator" type="StringCodePointIterator">
		<implements>
			<interface fulltype="org.eclipse.wst.xml.xpath2.processor.internal.utils.CodePointIterator" type="CodePointIterator" />
		</implements>
		<methods>
			<constructor visibility="public" name="StringCodePointIterator">
				<comment>
					<description>Constructs an iterator with an initial index of 0.</description>
				</comment>
				<params>
					<param name="text" fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
			<method visibility="public" name="setText" fulltype="void" type="void">
				<comment>
					<description>Reset this iterator to point to a new string.  This package-visible
 method is used by other java.text classes that want to avoid allocating
 new StringCodePointIterator objects every time their setText method
 is called.</description>
					<attribute name="@param">
						<description>text   The String to be iterated over</description>
					</attribute>
					<attribute name="@since">
						<description>1.2</description>
					</attribute>
				</comment>
				<params>
					<param name="text" comment="The String to be iterated over" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="first" fulltype="int" type="int">
				<comment>
					<description>Implements CodePointIterator.first() for String.</description>
					<attribute name="@see">
						<description>CodePointIterator#first</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="last" fulltype="int" type="int">
				<comment>
					<description>Implements CodePointIterator.last() for String.</description>
					<attribute name="@see">
						<description>CodePointIterator#last</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="current" fulltype="int" type="int">
				<comment>
					<description>Implements CodePointIterator.current() for String.</description>
					<attribute name="@see">
						<description>CodePointIterator#current</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="next" fulltype="int" type="int">
				<comment>
					<description>Implements CodePointIterator.next() for String.</description>
					<attribute name="@see">
						<description>CodePointIterator#next</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="previous" fulltype="int" type="int">
				<comment>
					<description>Implements CodePointIterator.previous() for String.</description>
					<attribute name="@see">
						<description>CodePointIterator#previous</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="getIndex" fulltype="int" type="int">
				<comment>
					<description>Implements CodePointIterator.getIndex() for String.</description>
					<attribute name="@see">
						<description>CodePointIterator#getIndex</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="equals" returncomment="true if the given obj is the same as this
 StringCodePointIterator object; false otherwise." fulltype="boolean" type="boolean">
				<comment>
					<description>Compares the equality of two StringCodePointIterator objects.</description>
					<attribute name="@param">
						<description>obj the StringCodePointIterator object to be compared with.</description>
					</attribute>
					<attribute name="@return">
						<description>true if the given obj is the same as this
 StringCodePointIterator object; false otherwise.</description>
					</attribute>
				</comment>
				<params>
					<param name="obj" comment="the StringCodePointIterator object to be compared with." fulltype="java.lang.Object" type="Object" />
				</params>
			</method>
			<method visibility="public" name="hashCode" returncomment="A hash code" fulltype="int" type="int">
				<comment>
					<description>Computes a hashcode for this iterator.</description>
					<attribute name="@return">
						<description>A hash code</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="clone" returncomment="A copy of this" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Creates a copy of this iterator.</description>
					<attribute name="@return">
						<description>A copy of this</description>
					</attribute>
				</comment>
			</method>
		</methods>
	</jelclass>
	<jelclass abstract="true" superclass="Object" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.utils" superclassfulltype="java.lang.Object" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.utils.TypePromoter" type="TypePromoter">
		<comment>
			<description>Generic type promoter for handling subtype substitution and type promotions for functions and operators.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="TypePromoter" />
			<method abstract="true" visibility="public" name="doPromote" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType" type="AnyAtomicType">
				<params>
					<param name="value" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType" type="AnyAtomicType" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method final="true" visibility="public" name="promote" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType" type="AnyAtomicType">
				<params>
					<param name="value" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method abstract="true" visibility="protected" name="substitute" returncomment="The supertype to treat it as (i.e. if a xs:nonNegativeInteger is treated as xs:number)" fulltype="java.lang.Class" type="Class">
				<comment>
					<attribute name="@param">
						<description>typeToConsider The</description>
					</attribute>
					<attribute name="@return">
						<description>The supertype to treat it as (i.e. if a xs:nonNegativeInteger is treated as xs:number)</description>
					</attribute>
				</comment>
				<params>
					<param name="typeToConsider" comment="The" fulltype="java.lang.Class" type="Class" />
				</params>
			</method>
			<method abstract="true" visibility="protected" name="checkCombination" fulltype="boolean" type="boolean">
				<params>
					<param name="newType" fulltype="java.lang.Class" type="Class" />
				</params>
			</method>
			<method visibility="public" name="considerType" fulltype="void" type="void">
				<params>
					<param name="typeToConsider" fulltype="java.lang.Class" type="Class" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="considerTypes" fulltype="void" type="void">
				<params>
					<param name="typesToConsider" fulltype="java.util.Collection" type="Collection" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="considerSequence" fulltype="void" type="void">
				<params>
					<param name="sequenceToConsider" fulltype="org.eclipse.wst.xml.xpath2.api.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="getTargetType" fulltype="java.lang.Class" type="Class" />
			<method visibility="protected" name="setTargetType" fulltype="void" type="void">
				<params>
					<param name="class1" fulltype="java.lang.Class" type="Class" />
				</params>
			</method>
			<method visibility="public" name="atomize" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType" type="AnyAtomicType">
				<params>
					<param name="at" fulltype="org.eclipse.wst.xml.xpath2.api.Item" type="Item" />
				</params>
			</method>
			<method visibility="public" name="considerValue" fulltype="void" type="void">
				<params>
					<param name="at" fulltype="org.eclipse.wst.xml.xpath2.api.Item" type="Item" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
		</methods>
	</jelclass>
</jel>
