<?xml version="1.0" encoding="UTF-8"?>
<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>
