<?xml version="1.0" encoding="UTF-8"?>
<jel>
	<admin creation="Mon Apr 12 15:41:44 PDT 2010" xsdversion="1.0.0" version="1.0.0" />
	<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>
		</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>
		</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="org.apache.xerces.xs.XSModel" type="XSModel" />
					<param name="doc" comment="Document [root] node of XML source." fulltype="org.w3c.dom.Document" type="Document" />
				</params>
			</constructor>
			<method visibility="public" name="tz" returncomment="an xs:integer _tz" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration">
				<comment>
					<description>Reads the day from a TimeDuration type</description>
					<attribute name="@return">
						<description>an xs:integer _tz</description>
					</attribute>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="current_date_time" fulltype="java.util.GregorianCalendar" type="GregorianCalendar">
				<comment>
					<description>Gets the Current stable date time from the dynamic context.</description>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
					<attribute name="@see">
						<description>org.eclipse.wst.xml.xpath2.processor.DynamicContext#get_current_time()</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="set_focus" fulltype="void" type="void">
				<comment>
					<description>Changes the current focus.</description>
					<attribute name="@param">
						<description>f
            focus to set</description>
					</attribute>
				</comment>
				<params>
					<param name="f" comment="focus to set" fulltype="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="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType">
				<comment>
					<description>Retrieve the variable name</description>
					<attribute name="@return">
						<description>an AnyType result from get_var(name) or return NULL</description>
					</attribute>
				</comment>
				<params>
					<param name="name" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</method>
			<method visibility="public" name="evaluate_function" returncomment="a ResultSequence from funct.evaluate(args)" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<attribute name="@return">
						<description>a ResultSequence from funct.evaluate(args)</description>
					</attribute>
				</comment>
				<params>
					<param name="name" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
					<param name="args" fulltype="java.util.Collection" type="Collection" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="add_function_library" fulltype="void" type="void">
				<comment>
					<description>Adds function definitions.</description>
					<attribute name="@param">
						<description>fl
            Function library to add.</description>
					</attribute>
				</comment>
				<params>
					<param name="fl" comment="Function library to add." fulltype="FunctionLibrary" type="FunctionLibrary" />
				</params>
			</method>
			<method visibility="public" name="get_doc" returncomment="a ResultSequence from ResultSequenceFactory.create_new()" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>get document</description>
					<attribute name="@return">
						<description>a ResultSequence from ResultSequenceFactory.create_new()</description>
					</attribute>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
				<params>
					<param name="resolved" fulltype="java.net.URI" type="URI" />
				</params>
			</method>
			<method visibility="public" name="resolve_uri" fulltype="java.net.URI" type="URI">
				<comment>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
				<params>
					<param name="uri" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="set_variable" fulltype="void" type="void">
				<comment>
					<description>Sets the value of a variable.</description>
					<attribute name="@param">
						<description>var
            Variable name.</description>
					</attribute>
					<attribute name="@param">
						<description>val
            Variable value.</description>
					</attribute>
				</comment>
				<params>
					<param name="var" comment="Variable name." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
					<param name="val" comment="Variable value." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
				</params>
			</method>
			<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>
		</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">
				<comment>
					<description>set parameters</description>
					<attribute name="@param">
						<description>dc
            is the dynamic context.</description>
					</attribute>
					<attribute name="@param">
						<description>doc
            is the document.</description>
					</attribute>
				</comment>
				<params>
					<param name="dc" comment="is the dynamic context." fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicContext" type="DynamicContext" />
					<param name="doc" comment="is the document." fulltype="org.w3c.dom.Document" type="Document" />
				</params>
			</constructor>
			<method visibility="public" name="evaluate" returncomment="result sequence." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>evaluate the xpath node</description>
					<attribute name="@param">
						<description>node
            is the xpath node.</description>
					</attribute>
					<attribute name="@throws">
						<description>dynamic
             error.</description>
					</attribute>
					<attribute name="@return">
						<description>result sequence.</description>
					</attribute>
				</comment>
				<params>
					<param name="node" comment="is the xpath node." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathNode" type="XPathNode" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="visit" returncomment="result sequence." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>iterate through xpath expression</description>
					<attribute name="@param">
						<description>xp
            is the xpath.</description>
					</attribute>
					<attribute name="@return">
						<description>result sequence.</description>
					</attribute>
				</comment>
				<params>
					<param name="xp" comment="is the xpath." fulltype="org.eclipse.wst.xml.xpath2.processor.ast.XPath" type="XPath" />
				</params>
			</method>
			<method visibility="public" name="visit" returncomment="a new function." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>visit for expression</description>
					<attribute name="@param">
						<description>fex
            is the for expression.</description>
					</attribute>
					<attribute name="@return">
						<description>a new function.</description>
					</attribute>
				</comment>
				<params>
					<param name="fex" comment="is the for expression." fulltype="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="Error" visibility="package-private" package="org.eclipse.wst.xml.xpath2.processor" serializable="true" superclassfulltype="java.lang.Error" fulltype="org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator.DummyError" type="DefaultEvaluator.DummyError">
			<methods>
				<constructor visibility="public" name="DefaultEvaluator.DummyError">
					<params>
						<param name="type" fulltype="int" type="int" />
					</params>
				</constructor>
				<method visibility="public" name="type" fulltype="int" type="int" />
			</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.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>
	<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.DefaultEvaluator.DummyError" type="DefaultEvaluator.DummyError">
		<methods>
			<constructor visibility="public" name="DefaultEvaluator.DummyError">
				<params>
					<param name="type" fulltype="int" type="int" />
				</params>
			</constructor>
			<method visibility="public" name="type" fulltype="int" type="int" />
		</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.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 abstract="true" visibility="public" package="org.eclipse.wst.xml.xpath2.processor" interface="true" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicContext" type="DynamicContext">
		<implements>
			<interface fulltype="org.eclipse.wst.xml.xpath2.processor.StaticContext" type="StaticContext" />
		</implements>
		<comment>
			<description>Interface for dynamic context.</description>
		</comment>
		<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="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType">
				<comment>
					<description>Get variable.</description>
					<attribute name="@param">
						<description>name
            is the name of the variable.</description>
					</attribute>
					<attribute name="@return">
						<description>variable.</description>
					</attribute>
				</comment>
				<params>
					<param name="name" comment="is the name of the variable." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</method>
			<method visibility="public" name="set_variable" fulltype="void" type="void">
				<comment>
					<description>Set variable.</description>
					<attribute name="@param">
						<description>var
            is name of the variable.</description>
					</attribute>
					<attribute name="@param">
						<description>val
            is the value to be set for the variable.</description>
					</attribute>
				</comment>
				<params>
					<param name="var" comment="is name of the variable." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
					<param name="val" comment="is the value to be set for the variable." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
				</params>
			</method>
			<method visibility="public" name="evaluate_function" returncomment="result of the function evaluation." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Evaluate the function of the arguments.</description>
					<attribute name="@param">
						<description>name
            is the name.</description>
					</attribute>
					<attribute name="@param">
						<description>args
            are the arguments.</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError
             dynamic error.</description>
					</attribute>
					<attribute name="@return">
						<description>result of the function evaluation.</description>
					</attribute>
				</comment>
				<params>
					<param name="name" comment="is the name." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
					<param name="args" comment="are the arguments." fulltype="java.util.Collection" type="Collection" />
				</params>
				<exceptions>
					<exception comment="dynamic error." fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="tz" returncomment="current date time and implicit timezone." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration">
				<comment>
					<description>Reads the day from a TimeDuration type</description>
					<attribute name="@return">
						<description>current date time and implicit timezone.</description>
					</attribute>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="get_doc" returncomment="document." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Get document.</description>
					<attribute name="@param">
						<description>uri
            is the URI of the document.</description>
					</attribute>
					<attribute name="@return">
						<description>document.</description>
					</attribute>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
				<params>
					<param name="uri" comment="is the URI of the document." fulltype="java.net.URI" type="URI" />
				</params>
			</method>
			<method visibility="public" name="resolve_uri" returncomment="the absolutized, resolved URI." fulltype="java.net.URI" type="URI">
				<comment>
					<description>Resolve an URI</description>
					<attribute name="@param">
						<description>uri
            is the possibly relative URI to resolve</description>
					</attribute>
					<attribute name="@return">
						<description>the absolutized, resolved URI.</description>
					</attribute>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
				<params>
					<param name="uri" comment="is the possibly relative URI to resolve" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="current_date_time" returncomment="The current date and time, which will always be same for the dynamic context." fulltype="java.util.GregorianCalendar" type="GregorianCalendar">
				<comment>
					<description>Returns the current date time using the GregorianCalendar.</description>
					<attribute name="@return">
						<description>The current date and time, which will always be same for the dynamic context.</description>
					</attribute>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="set_focus" fulltype="void" type="void">
				<comment>
					<description>Set focus.</description>
					<attribute name="@param">
						<description>focus
            is focus to be set.</description>
					</attribute>
				</comment>
				<params>
					<param name="focus" comment="is focus to be set." fulltype="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="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 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>
		</methods>
	</jelclass>
	<jelclass abstract="true" superclass="Object" visibility="public" package="org.eclipse.wst.xml.xpath2.processor" superclassfulltype="java.lang.Object" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
		<comment>
			<description>Interface to the methods of range of result sequence</description>
		</comment>
		<methods>
			<constructor visibility="public" name="ResultSequence" />
			<method abstract="true" visibility="public" name="add" fulltype="void" type="void">
				<comment>
					<description>add item</description>
					<attribute name="@param">
						<description>item
            is an item of any type.</description>
					</attribute>
				</comment>
				<params>
					<param name="item" comment="is an item of any type." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
				</params>
			</method>
			<method abstract="true" visibility="public" name="concat" fulltype="void" type="void">
				<comment>
					<description>concatinate from rs</description>
					<attribute name="@param">
						<description>rs
            is a Result Sequence.</description>
					</attribute>
				</comment>
				<params>
					<param name="rs" comment="is a Result Sequence." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
			</method>
			<method abstract="true" visibility="public" name="iterator" fulltype="java.util.ListIterator" type="ListIterator">
				<comment>
					<description>List Iterator.</description>
				</comment>
			</method>
			<method abstract="true" visibility="public" name="get" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType">
				<comment>
					<description>get item in index i</description>
					<attribute name="@param">
						<description>i
            is the position.</description>
					</attribute>
				</comment>
				<params>
					<param name="i" comment="is the position." fulltype="int" type="int" />
				</params>
			</method>
			<method abstract="true" visibility="public" name="size" returncomment="the size." fulltype="int" type="int">
				<comment>
					<description>get the size</description>
					<attribute name="@return">
						<description>the size.</description>
					</attribute>
				</comment>
			</method>
			<method abstract="true" visibility="public" name="clear" fulltype="void" type="void">
				<comment>
					<description>clear</description>
				</comment>
			</method>
			<method abstract="true" visibility="public" name="create_new" returncomment="a new result sequence." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>create a new result sequence</description>
					<attribute name="@return">
						<description>a new result sequence.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="first" returncomment="the first item." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType">
				<comment>
					<description>retrieve the first item</description>
					<attribute name="@return">
						<description>the first item.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="empty" returncomment="boolean." fulltype="boolean" type="boolean">
				<comment>
					<description>check is the sequence is empty</description>
					<attribute name="@return">
						<description>boolean.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="string" returncomment="result string" fulltype="java.lang.String" type="String">
				<comment>
					<description>retrieve items in sequence</description>
					<attribute name="@return">
						<description>result string</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="release" fulltype="void" type="void">
				<comment>
					<description>release the result sequence</description>
				</comment>
			</method>
		</methods>
	</jelclass>
	<jelclass abstract="true" superclass="Object" visibility="public" package="org.eclipse.wst.xml.xpath2.processor" superclassfulltype="java.lang.Object" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory" type="ResultSequenceFactory">
		<comment>
			<description>Result sequence factory</description>
		</comment>
		<methods>
			<constructor visibility="public" name="ResultSequenceFactory" />
			<method abstract="true" visibility="protected" name="fact_create_new" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
			<method abstract="true" visibility="protected" name="fact_release" fulltype="void" type="void">
				<params>
					<param name="rs" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
			</method>
			<method visibility="protected" name="fact_create_new" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<params>
					<param name="item" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
				</params>
			</method>
			<method visibility="protected" name="fact_print_debug" fulltype="void" type="void" />
			<method static="true" visibility="public" name="create_new" returncomment="the creation of a new result sequence" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<attribute name="@return">
						<description>the creation of a new result sequence</description>
					</attribute>
				</comment>
			</method>
			<method static="true" visibility="public" name="create_new" returncomment="factory creating new item" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<attribute name="@param">
						<description>item
            is an item of any type.</description>
					</attribute>
					<attribute name="@return">
						<description>factory creating new item</description>
					</attribute>
				</comment>
				<params>
					<param name="item" comment="is an item of any type." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
				</params>
			</method>
			<method static="true" visibility="public" name="release" fulltype="void" type="void">
				<comment>
					<attribute name="@param">
						<description>rs
            is the result sequence factory release rs</description>
					</attribute>
				</comment>
				<params>
					<param name="rs" comment="is the result sequence factory release rs" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
			</method>
			<method static="true" visibility="public" name="print_debug" fulltype="void" type="void">
				<comment>
					<description>factory debug</description>
				</comment>
			</method>
		</methods>
	</jelclass>
	<jelclass abstract="true" visibility="public" package="org.eclipse.wst.xml.xpath2.processor" interface="true" fulltype="org.eclipse.wst.xml.xpath2.processor.StaticChecker" type="StaticChecker">
		<comment>
			<description>Interface to static checker.</description>
		</comment>
		<methods>
			<method visibility="public" name="check" fulltype="void" type="void">
				<comment>
					<description>checks XPathNode</description>
					<attribute name="@throws">
						<description>static error.</description>
					</attribute>
					<attribute name="@param">
						<description>root
            is an XPath node.</description>
					</attribute>
				</comment>
				<params>
					<param name="root" comment="is an XPath node." fulltype="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>
		</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.apache.xerces.xs.XSTypeDefinition" type="XSTypeDefinition">
				<comment>
					<attribute name="@param">
						<description>attr
            is the qname variable</description>
					</attribute>
					<attribute name="@return">
						<description>attributes&apos;s type definition</description>
					</attribute>
				</comment>
				<params>
					<param name="attr" comment="is the qname variable" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</method>
			<method visibility="public" name="element_type_definition" returncomment="element&apos;s type definition" fulltype="org.apache.xerces.xs.XSTypeDefinition" type="XSTypeDefinition">
				<comment>
					<attribute name="@param">
						<description>elem
            is the elem of the qname</description>
					</attribute>
					<attribute name="@return">
						<description>element&apos;s type definition</description>
					</attribute>
				</comment>
				<params>
					<param name="elem" comment="is the elem of the qname" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</method>
			<method visibility="public" name="attribute_declared" returncomment="boolean" fulltype="boolean" type="boolean">
				<comment>
					<description>is the attribute declared?</description>
					<attribute name="@param">
						<description>attr
            is the attribute of the qname</description>
					</attribute>
					<attribute name="@return">
						<description>boolean</description>
					</attribute>
				</comment>
				<params>
					<param name="attr" comment="is the attribute of the qname" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</method>
			<method visibility="public" name="element_declared" returncomment="boolean" fulltype="boolean" type="boolean">
				<comment>
					<description>is the element declared?</description>
					<attribute name="@param">
						<description>elem
            is the elem of the qname</description>
					</attribute>
					<attribute name="@return">
						<description>boolean</description>
					</attribute>
				</comment>
				<params>
					<param name="elem" comment="is the elem of the qname" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</method>
			<method visibility="public" name="function_exists" returncomment="boolean" fulltype="boolean" type="boolean">
				<comment>
					<description>is the element declared?</description>
					<attribute name="@param">
						<description>name
            is the qname name</description>
					</attribute>
					<attribute name="@param">
						<description>arity
            integer of qname</description>
					</attribute>
					<attribute name="@return">
						<description>boolean</description>
					</attribute>
				</comment>
				<params>
					<param name="name" comment="is the qname name" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
					<param name="arity" comment="integer of qname" fulltype="int" type="int" />
				</params>
			</method>
			<method visibility="public" name="base_uri" returncomment="uri" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSAnyURI" type="XSAnyURI">
				<comment>
					<description>base uri</description>
					<attribute name="@return">
						<description>uri</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="new_scope" fulltype="void" type="void">
				<comment>
					<description>new scope</description>
				</comment>
			</method>
			<method visibility="public" name="destroy_scope" fulltype="void" type="void">
				<comment>
					<description>destroy scope</description>
				</comment>
			</method>
			<method visibility="public" name="add_variable" fulltype="void" type="void">
				<comment>
					<description>add variable</description>
					<attribute name="@param">
						<description>name
            is the qname</description>
					</attribute>
				</comment>
				<params>
					<param name="name" comment="is the qname" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</method>
			<method visibility="public" name="del_variable" returncomment="boolean if deleted variable" fulltype="boolean" type="boolean">
				<comment>
					<description>delete the variable</description>
					<attribute name="@param">
						<description>name
            is the qname</description>
					</attribute>
					<attribute name="@return">
						<description>boolean if deleted variable</description>
					</attribute>
				</comment>
				<params>
					<param name="name" comment="is the qname" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</method>
			<method visibility="public" name="variable_exists" returncomment="boolean if variable exists" fulltype="boolean" type="boolean">
				<comment>
					<attribute name="@param">
						<description>name
            is the qname</description>
					</attribute>
					<attribute name="@return">
						<description>boolean if variable exists</description>
					</attribute>
				</comment>
				<params>
					<param name="name" comment="is the qname" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</method>
			<method visibility="public" name="variable_in_scope" fulltype="boolean" type="boolean">
				<comment>
					<attribute name="@param">
						<description>var
            is the variable of qname</description>
					</attribute>
				</comment>
				<params>
					<param name="var" comment="is the variable of qname" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</method>
			<method visibility="public" name="type_defined" returncomment="boolean" fulltype="boolean" type="boolean">
				<comment>
					<attribute name="@param">
						<description>name
            is qname</description>
					</attribute>
					<attribute name="@return">
						<description>boolean</description>
					</attribute>
				</comment>
				<params>
					<param name="name" comment="is qname" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</method>
			<method visibility="public" name="derives_from" returncomment="boolean" fulltype="boolean" type="boolean">
				<comment>
					<attribute name="@param">
						<description>at
            the node type</description>
					</attribute>
					<attribute name="@param">
						<description>et
            is the qname</description>
					</attribute>
					<attribute name="@return">
						<description>boolean</description>
					</attribute>
				</comment>
				<params>
					<param name="at" comment="the node type" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType" />
					<param name="et" comment="is the qname" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</method>
			<method visibility="public" name="derives_from" returncomment="boolean" fulltype="boolean" type="boolean">
				<comment>
					<attribute name="@param">
						<description>at
            the node type</description>
					</attribute>
					<attribute name="@param">
						<description>et
            is the XSTypeDefinition of the node</description>
					</attribute>
					<attribute name="@return">
						<description>boolean</description>
					</attribute>
				</comment>
				<params>
					<param name="at" comment="the node type" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType" />
					<param name="et" comment="is the XSTypeDefinition of the node" fulltype="org.apache.xerces.xs.XSTypeDefinition" type="XSTypeDefinition" />
				</params>
			</method>
			<method visibility="public" name="add_namespace" fulltype="void" type="void">
				<comment>
					<description>add namespace</description>
					<attribute name="@param">
						<description>prefix
            the prefix of the namespace</description>
					</attribute>
					<attribute name="@param">
						<description>ns
            is the XSTypeDefinition of the node</description>
					</attribute>
				</comment>
				<params>
					<param name="prefix" comment="the prefix of the namespace" fulltype="java.lang.String" type="String" />
					<param name="ns" comment="is the XSTypeDefinition of the node" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="expand_function_qname" returncomment="boolean if function can be expanded" fulltype="boolean" type="boolean">
				<comment>
					<description>expand function</description>
					<attribute name="@param">
						<description>name
            is the qname</description>
					</attribute>
					<attribute name="@return">
						<description>boolean if function can be expanded</description>
					</attribute>
				</comment>
				<params>
					<param name="name" comment="is the qname" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</method>
			<method visibility="public" name="expand_elem_type_qname" returncomment="boolean if function can be expanded" fulltype="boolean" type="boolean">
				<comment>
					<description>expand element type qname</description>
					<attribute name="@param">
						<description>name
            is the qname</description>
					</attribute>
					<attribute name="@return">
						<description>boolean if function can be expanded</description>
					</attribute>
				</comment>
				<params>
					<param name="name" comment="is the qname" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</method>
			<method visibility="public" name="expand_qname" returncomment="boolean if function can be expanded" fulltype="boolean" type="boolean">
				<comment>
					<description>expand qname</description>
					<attribute name="@param">
						<description>name
            is the qname</description>
					</attribute>
					<attribute name="@return">
						<description>boolean if function can be expanded</description>
					</attribute>
				</comment>
				<params>
					<param name="name" comment="is the qname" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</method>
			<method visibility="public" name="add_function_library" fulltype="void" type="void">
				<comment>
					<description>add function to library</description>
					<attribute name="@param">
						<description>fl
            is the function library</description>
					</attribute>
				</comment>
				<params>
					<param name="fl" comment="is the function library" fulltype="FunctionLibrary" type="FunctionLibrary" />
				</params>
			</method>
			<method visibility="public" name="make_atomic" returncomment="any atomic type" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType" type="AnyAtomicType">
				<comment>
					<attribute name="@param">
						<description>name
            is the qname</description>
					</attribute>
					<attribute name="@return">
						<description>any atomic type</description>
					</attribute>
				</comment>
				<params>
					<param name="name" comment="is the qname" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName" />
				</params>
			</method>
			<method visibility="public" name="set_base_uri" fulltype="void" type="void">
				<comment>
					<description>Sets the base uri for the context.</description>
					<attribute name="@param">
						<description>baseuri</description>
					</attribute>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
				<params>
					<param name="baseuri" comment="" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="get_collections" fulltype="java.util.Map" type="Map">
				<comment>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="set_collections" fulltype="void" type="void">
				<comment>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
				<params>
					<param name="collections" fulltype="java.util.Map" type="Map" />
				</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>
				</comment>
				<params>
					<param name="sc" comment="is the static context." fulltype="org.eclipse.wst.xml.xpath2.processor.StaticContext" type="StaticContext" />
				</params>
			</constructor>
			<method visibility="public" name="check" fulltype="void" type="void">
				<comment>
					<description>Check the XPath node.</description>
					<attribute name="@param">
						<description>node
            is the XPath node to check.</description>
					</attribute>
					<attribute name="@throws">
						<description>StaticError
             static error.</description>
					</attribute>
				</comment>
				<params>
					<param name="node" comment="is the XPath node to check." fulltype="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>
		</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>
	<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="Exception" visibility="public" package="org.eclipse.wst.xml.xpath2.processor" serializable="true" superclassfulltype="java.lang.Exception" fulltype="org.eclipse.wst.xml.xpath2.processor.XPathException" type="XPathException">
		<comment>
			<description>This exception is thrown when there is a problem with an XPath exception.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="XPathException">
				<comment>
					<description>Constructor for XPathException</description>
					<attribute name="@param">
						<description>reason
            Is the reason why the exception has been thrown.</description>
					</attribute>
				</comment>
				<params>
					<param name="reason" comment="Is the reason why the exception has been thrown." fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
			<method visibility="public" name="reason" returncomment="the reason why the exception has been throw." fulltype="java.lang.String" type="String">
				<comment>
					<description>The reason why the exception has been thrown.</description>
					<attribute name="@return">
						<description>the reason why the exception has been throw.</description>
					</attribute>
				</comment>
			</method>
		</methods>
	</jelclass>
	<jelclass abstract="true" visibility="public" package="org.eclipse.wst.xml.xpath2.processor" interface="true" fulltype="org.eclipse.wst.xml.xpath2.processor.XPathParser" type="XPathParser">
		<comment>
			<description>This is an interface class for the XPath parser.</description>
		</comment>
		<methods>
			<method visibility="public" name="parse" returncomment="The parsed XPath." fulltype="org.eclipse.wst.xml.xpath2.processor.ast.XPath" type="XPath">
				<comment>
					<description>Constructor for the XPath parser interface.</description>
					<attribute name="@param">
						<description>xpath
            is the input XPath to be parsed.</description>
					</attribute>
					<attribute name="@throws">
						<description>XPathParserException
             XPath parser exception.</description>
					</attribute>
					<attribute name="@return">
						<description>The parsed XPath.</description>
					</attribute>
				</comment>
				<params>
					<param name="xpath" comment="is the input XPath to be parsed." fulltype="java.lang.String" type="String" />
				</params>
				<exceptions>
					<exception comment="XPath parser exception." fulltype="org.eclipse.wst.xml.xpath2.processor.XPathParserException" type="XPathParserException" />
				</exceptions>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="StaticError" visibility="public" package="org.eclipse.wst.xml.xpath2.processor" serializable="true" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.StaticError" fulltype="org.eclipse.wst.xml.xpath2.processor.XPathParserException" type="XPathParserException">
		<comment>
			<description>This exception is thrown if there is a problem with the XPath parser.</description>
		</comment>
		<fields>
			<field final="true" static="true" const="XPST0003" visibility="public" name="INVALID_XPATH_EXPRESSION" constexpr="&quot;XPST0003&quot;" fulltype="java.lang.String" type="String">
				<comment>
					<description>The type of exception.</description>
				</comment>
			</field>
		</fields>
		<methods>
			<constructor visibility="public" name="XPathParserException">
				<comment>
					<description>Constructor for XPathParserException.</description>
					<attribute name="@param">
						<description>reason
            is the reason why the exception has been thrown.</description>
					</attribute>
				</comment>
				<params>
					<param name="reason" comment="is the reason why the exception has been thrown." fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
		</methods>
	</jelclass>
	<jelclass superclass="Object" visibility="public" package="org.eclipse.wst.xml.xpath2.processor" superclassfulltype="java.lang.Object" fulltype="org.eclipse.wst.xml.xpath2.processor.XercesLoader" type="XercesLoader">
		<implements>
			<interface fulltype="org.eclipse.wst.xml.xpath2.processor.DOMLoader" type="DOMLoader" />
		</implements>
		<comment>
			<description>Xerces loader class. The loading is always namespace aware.</description>
		</comment>
		<fields>
			<field final="true" static="true" const="http://xml.org/sax/features/namespaces" visibility="public" name="NAMESPACES_FEATURE" constexpr="&quot;http://xml.org/sax/features/namespaces&quot;" fulltype="java.lang.String" type="String" />
			<field final="true" static="true" const="http://xml.org/sax/features/validation" visibility="public" name="VALIDATION_FEATURE" constexpr="&quot;http://xml.org/sax/features/validation&quot;" fulltype="java.lang.String" type="String" />
			<field final="true" static="true" const="http://apache.org/xml/features/validation/schema" visibility="public" name="SCHEMA_VALIDATION_FEATURE" constexpr="&quot;http://apache.org/xml/features/validation/schema&quot;" fulltype="java.lang.String" type="String" />
			<field final="true" static="true" const="http://apache.org/xml/features/validation/schema-full-checking" visibility="public" name="SCHEMA_FULL_CHECKING_FEATURE" constexpr="&quot;http://apache.org/xml/features/validation/schema-full-checking&quot;" fulltype="java.lang.String" type="String" />
			<field final="true" static="true" const="http://apache.org/xml/features/validation/dynamic" visibility="public" name="DYNAMIC_VALIDATION_FEATURE" constexpr="&quot;http://apache.org/xml/features/validation/dynamic&quot;" fulltype="java.lang.String" type="String" />
			<field final="true" static="true" const="http://apache.org/xml/features/nonvalidating/load-external-dtd" visibility="public" name="LOAD_EXTERNAL_DTD_FEATURE" constexpr="&quot;http://apache.org/xml/features/nonvalidating/load-external-dtd&quot;" fulltype="java.lang.String" type="String" />
			<field final="true" static="true" const="http://java.sun.com/xml/jaxp/properties/schemaLanguage" visibility="public" name="JAXP_SCHEMA_LANGUAGE" constexpr="&quot;http://java.sun.com/xml/jaxp/properties/schemaLanguage&quot;" fulltype="java.lang.String" type="String" />
			<field final="true" static="true" const="http://www.w3.org/2001/XMLSchema" visibility="public" name="W3C_XML_SCHEMA" constexpr="&quot;http://www.w3.org/2001/XMLSchema&quot;" fulltype="java.lang.String" type="String" />
			<field final="true" static="true" const="http://apache.org/xml/properties/dom/document-class-name" visibility="public" name="DOCUMENT_IMPLEMENTATION_PROPERTY" constexpr="&quot;http://apache.org/xml/properties/dom/document-class-name&quot;" fulltype="java.lang.String" type="String" />
			<field final="true" static="true" const="org.apache.xerces.dom.PSVIDocumentImpl" visibility="public" name="DOCUMENT_PSVI_IMPLEMENTATION" constexpr="&quot;org.apache.xerces.dom.PSVIDocumentImpl&quot;" fulltype="java.lang.String" type="String" />
			<field visibility="package-private" name="_validating" fulltype="boolean" type="boolean" />
			<field visibility="package-private" name="_schema" fulltype="javax.xml.validation.Schema" type="Schema" />
		</fields>
		<methods>
			<constructor visibility="public" name="XercesLoader">
				<comment>
					<description>Constructor for Xerces loader.</description>
				</comment>
			</constructor>
			<constructor visibility="public" name="XercesLoader">
				<comment>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
				<params>
					<param name="schema" fulltype="javax.xml.validation.Schema" type="Schema" />
				</params>
			</constructor>
			<method visibility="public" name="load" returncomment="The loaded document." fulltype="org.w3c.dom.Document" type="Document">
				<comment>
					<description>The Xerces loader loads the XML document</description>
					<attribute name="@param">
						<description>in
            is the input stream.</description>
					</attribute>
					<attribute name="@throws">
						<description>DOMLoaderException
             DOM loader exception.</description>
					</attribute>
					<attribute name="@return">
						<description>The loaded document.</description>
					</attribute>
				</comment>
				<params>
					<param name="in" comment="is the input stream." fulltype="java.io.InputStream" type="InputStream" />
				</params>
				<exceptions>
					<exception comment="DOM loader exception." fulltype="org.eclipse.wst.xml.xpath2.processor.DOMLoaderException" type="DOMLoaderException" />
				</exceptions>
			</method>
			<method visibility="public" name="set_validating" fulltype="void" type="void">
				<comment>
					<description>Set validating boolean.</description>
					<attribute name="@param">
						<description>x
            is the value to set the validating boolean to.</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="is the value to set the validating boolean to." fulltype="boolean" type="boolean" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="XPathNode" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.ast" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathNode" fulltype="org.eclipse.wst.xml.xpath2.processor.ast.XPath" type="XPath">
		<comment>
			<description>Support for XPath.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="XPath">
				<comment>
					<description>Constructor for XPath.</description>
					<attribute name="@param">
						<description>exprs
            XPath expressions.</description>
					</attribute>
				</comment>
				<params>
					<param name="exprs" comment="XPath expressions." fulltype="java.util.Collection" type="Collection" />
				</params>
			</constructor>
			<method visibility="public" name="accept" returncomment="Result of Visitor operation." fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Support for Visitor interface.</description>
					<attribute name="@return">
						<description>Result of Visitor operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="v" fulltype="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="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" returncomment="The nodes that are ancestors of the context node." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Get the ancestors of the context node.</description>
					<attribute name="@param">
						<description>node
            is the type of node.</description>
					</attribute>
					<attribute name="@param">
						<description>dc
            is the dynamic context.</description>
					</attribute>
					<attribute name="@return">
						<description>The nodes that are ancestors of the context 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="dc" comment="is the dynamic context." fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicContext" type="DynamicContext" />
				</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.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" returncomment="The context node and its ancestors." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<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>
					<attribute name="@param">
						<description>dc
            is the dynamic context.</description>
					</attribute>
					<attribute name="@return">
						<description>The context node and its ancestors.</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="dc" comment="is the dynamic context." fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicContext" type="DynamicContext" />
				</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.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" returncomment="The attibutes of the context node." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Retrieves the context node&apos;s attributes.</description>
					<attribute name="@param">
						<description>node
            is the type of node.</description>
					</attribute>
					<attribute name="@param">
						<description>dc
            is the dynamic context.</description>
					</attribute>
					<attribute name="@return">
						<description>The attibutes of the context 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="dc" comment="is the dynamic context." fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicContext" type="DynamicContext" />
				</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>
		</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" returncomment="The result sequence." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Get elements and attributes.</description>
					<attribute name="@param">
						<description>node
            is the type of node.</description>
					</attribute>
					<attribute name="@param">
						<description>dc
            is the dynamic context.</description>
					</attribute>
					<attribute name="@return">
						<description>The result sequence.</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="dc" comment="is the dynamic context." fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicContext" type="DynamicContext" />
				</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>
		</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" returncomment="The context node&apos;s children." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Retrieves the context node&apos;s children.</description>
					<attribute name="@param">
						<description>node
            is the type of node.</description>
					</attribute>
					<attribute name="@param">
						<description>dc
            is the dynamic context.</description>
					</attribute>
					<attribute name="@return">
						<description>The context node&apos;s children.</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="dc" comment="is the dynamic context." fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicContext" type="DynamicContext" />
				</params>
			</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.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>
		</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="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="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="schema" comment="Schema information from document. May be null." fulltype="org.apache.xerces.xs.XSModel" type="XSModel" />
				</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="protected" 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.apache.xerces.xs.XSTypeDefinition" type="XSTypeDefinition">
				<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.apache.xerces.xs.XSTypeDefinition" type="XSTypeDefinition">
				<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.apache.xerces.xs.XSTypeDefinition" type="XSTypeDefinition" />
				</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="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="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType">
				<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" />
		</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" returncomment="The descendants of the context node." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<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>
					<attribute name="@param">
						<description>dc
            is the dynamic context.</description>
					</attribute>
					<attribute name="@return">
						<description>The descendants of the context 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="dc" comment="is the dynamic context." fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicContext" type="DynamicContext" />
				</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.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" returncomment="The context node and its descendants." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<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>
					<attribute name="@param">
						<description>dc
            is the dynamic context.</description>
					</attribute>
					<attribute name="@return">
						<description>The context node and its descendants.</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="dc" comment="is the dynamic context." fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicContext" type="DynamicContext" />
				</params>
			</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.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.processor.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" returncomment="The result of FollowingAxis." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Return the result of FollowingAxis expression</description>
					<attribute name="@param">
						<description>node
            is the type of node.</description>
					</attribute>
					<attribute name="@param">
						<description>dc
            is the dynamic context.</description>
					</attribute>
					<attribute name="@return">
						<description>The result of FollowingAxis.</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="dc" comment="is the dynamic context." fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicContext" type="DynamicContext" />
				</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.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" returncomment="The result of FollowingSiblingAxis." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Return the result of FollowingSiblingAxis expression</description>
					<attribute name="@param">
						<description>node
            is the type of node.</description>
					</attribute>
					<attribute name="@param">
						<description>dc
            is the dynamic context.</description>
					</attribute>
					<attribute name="@return">
						<description>The result of FollowingSiblingAxis.</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="dc" comment="is the dynamic context." fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicContext" type="DynamicContext" />
				</params>
			</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.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" returncomment="the accessors." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<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>
					<attribute name="@return">
						<description>the accessors.</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="dc" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicContext" type="DynamicContext" />
				</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.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" returncomment="the descendants of the context node" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<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>
					<attribute name="@return">
						<description>the descendants of the context node</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="dc" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicContext" type="DynamicContext" />
				</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.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" returncomment="the descendants and the context node" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<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>
					<attribute name="@return">
						<description>the descendants and the context node</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="dc" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicContext" type="DynamicContext" />
				</params>
			</method>
		</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="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="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" returncomment="rs containing node" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>create new rs and add the context node to it</description>
					<attribute name="@param">
						<description>node
            is the node type</description>
					</attribute>
					<attribute name="@param">
						<description>dc
            is the dynamic context</description>
					</attribute>
					<attribute name="@return">
						<description>rs containing node</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="dc" comment="is the dynamic context" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicContext" type="DynamicContext" />
				</params>
			</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.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.processor.StaticContext" type="StaticContext" />
					<param name="rs" fulltype="org.eclipse.wst.xml.xpath2.processor.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 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.processor.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.processor.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="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="Plugin" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal" superclassfulltype="Plugin" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.XPath2Plugin" type="XPath2Plugin">
		<methods>
			<constructor visibility="public" name="XPath2Plugin" />
		</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>Mon Dec 14 02:02:22 CET 2009</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="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.processor.ResultSequence" type="ResultSequence" />
				</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.processor.ResultSequence" type="ResultSequence" />
				</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="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.processor.ResultSequence" type="ResultSequence" />
				</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.processor.ResultSequence" type="ResultSequence" />
				</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.processor.ResultSequence" type="ResultSequence" />
				</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="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.processor.ResultSequence" type="ResultSequence" />
				</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.processor.ResultSequence" type="ResultSequence" />
				</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.processor.ResultSequence" type="ResultSequence" />
				</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.processor.ResultSequence" type="ResultSequence" />
				</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>
		</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.processor.ResultSequence" type="ResultSequence" />
				</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">
		<comment>
			<description>Common base for every type</description>
		</comment>
		<methods>
			<constructor visibility="public" name="AnyType" />
			<method abstract="true" visibility="public" name="string_type" returncomment="Datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>Datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method abstract="true" visibility="public" name="string_value" returncomment="Datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>Datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="NodeType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AttrType" type="AttrType">
		<comment>
			<description>A representation of the AttributeType datatype</description>
		</comment>
		<methods>
			<constructor visibility="public" name="AttrType">
				<comment>
					<description>Initialises to null</description>
				</comment>
			</constructor>
			<constructor visibility="public" name="AttrType">
				<comment>
					<description>Initialises according to the supplied parameters</description>
					<attribute name="@param">
						<description>v
            The attribute being represented</description>
					</attribute>
				</comment>
				<params>
					<param name="v" comment="The attribute being represented" fulltype="org.w3c.dom.Attr" type="Attr" />
				</params>
			</constructor>
			<method visibility="public" name="string_type" returncomment="&quot;attribute&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;attribute&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="string_value" returncomment="String representation of the attribute being stored" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the attribute being stored</description>
					<attribute name="@return">
						<description>String representation of the attribute being stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="typed_value" returncomment="New ResultSequence consisting of the attribute being stored" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the attribute being stored</description>
					<attribute name="@return">
						<description>New ResultSequence consisting of the attribute being stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="node_name" returncomment="Name of the node" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName">
				<comment>
					<description>Retrieves the name of the node</description>
					<attribute name="@return">
						<description>Name of the node</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="isID" fulltype="boolean" type="boolean" />
			<method visibility="public" name="isIDREF" fulltype="boolean" type="boolean">
				<comment>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
			</method>
			<method visibility="protected" name="isAttrType" fulltype="boolean" type="boolean">
				<params>
					<param name="typeName" fulltype="java.lang.String" type="String" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass abstract="true" superclass="CtrType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CalendarType" type="CalendarType">
		<comment>
			<description>Common base for all Calendar based classes</description>
		</comment>
		<methods>
			<constructor visibility="public" name="CalendarType" />
			<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>
		</methods>
	</jelclass>
	<jelclass superclass="NodeType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CommentType" type="CommentType">
		<comment>
			<description>A representation of the CommentType datatype</description>
		</comment>
		<methods>
			<constructor visibility="public" name="CommentType">
				<comment>
					<description>Initialise according to the supplied parameters</description>
					<attribute name="@param">
						<description>v
            The comment being represented</description>
					</attribute>
				</comment>
				<params>
					<param name="v" comment="The comment being represented" fulltype="org.w3c.dom.Comment" type="Comment" />
				</params>
			</constructor>
			<method visibility="public" name="string_type" returncomment="&quot;comment&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;comment&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="string_value" returncomment="String representation of the comment being stored" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the comment being stored</description>
					<attribute name="@return">
						<description>String representation of the comment being stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="typed_value" returncomment="New ResultSequence consisting of the comment stored" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the comment stored</description>
					<attribute name="@return">
						<description>New ResultSequence consisting of the comment stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="node_name" returncomment="null" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName">
				<comment>
					<description>Unsupported method for this node.</description>
					<attribute name="@return">
						<description>null</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="isID" fulltype="boolean" type="boolean">
				<comment>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="isIDREF" fulltype="boolean" type="boolean">
				<comment>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
			</method>
		</methods>
	</jelclass>
	<jelclass abstract="true" superclass="AnyAtomicType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType" type="CtrType">
		<comment>
			<description>A representation of the CtrType datatype</description>
		</comment>
		<methods>
			<constructor visibility="public" name="CtrType" />
			<method abstract="true" visibility="public" name="constructor" returncomment="The resulting ResultSequence" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Used for constructor function.</description>
					<attribute name="@param">
						<description>arg
            Either an empty sequence or 1 atomic type</description>
					</attribute>
					<attribute name="@return">
						<description>The resulting ResultSequence</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="Either an empty sequence or 1 atomic type" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method abstract="true" visibility="public" name="type_name" returncomment="String representation of the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>String representation of the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="NodeType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.DocType" type="DocType">
		<comment>
			<description>A representation of the DocumentType datatype</description>
		</comment>
		<methods>
			<constructor visibility="public" name="DocType">
				<comment>
					<description>Initialises according to the supplied parameters</description>
					<attribute name="@param">
						<description>v
            The document being represented</description>
					</attribute>
				</comment>
				<params>
					<param name="v" comment="The document being represented" fulltype="org.w3c.dom.Document" type="Document" />
				</params>
			</constructor>
			<method visibility="public" name="value" returncomment="Actual document being represented" fulltype="org.w3c.dom.Document" type="Document">
				<comment>
					<description>Retrieves the actual document being represented</description>
					<attribute name="@return">
						<description>Actual document being represented</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="string_type" returncomment="&quot;document&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;document&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="string_value" returncomment="String representation of the document being stored" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the document being stored</description>
					<attribute name="@return">
						<description>String representation of the document being stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="typed_value" returncomment="New ResultSequence consisting of the document being stored" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the document being stored</description>
					<attribute name="@return">
						<description>New ResultSequence consisting of the document being stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="node_name" returncomment="QName representation of the name of the node" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName">
				<comment>
					<description>Retrieves the name of the node</description>
					<attribute name="@return">
						<description>QName representation of the name of the node</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="isID" fulltype="boolean" type="boolean">
				<comment>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="isIDREF" fulltype="boolean" type="boolean">
				<comment>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="NodeType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.ElementType" type="ElementType">
		<comment>
			<description>A representation of the ElementType datatype</description>
		</comment>
		<methods>
			<constructor visibility="public" name="ElementType">
				<comment>
					<description>Initialises to a null element</description>
				</comment>
			</constructor>
			<constructor visibility="public" name="ElementType">
				<comment>
					<description>Initialises according to the supplied parameters</description>
					<attribute name="@param">
						<description>v
            The element being represented</description>
					</attribute>
				</comment>
				<params>
					<param name="v" comment="The element being represented" fulltype="org.w3c.dom.Element" type="Element" />
				</params>
			</constructor>
			<constructor visibility="public" name="ElementType">
				<comment>
					<description>This deprecated and will be removed. Adopters need to use
 ElementType(Element)</description>
					<attribute name="@param">
						<description>v</description>
					</attribute>
					<attribute name="@param">
						<description>nodePosition</description>
					</attribute>
					<attribute name="@deprecated">
						<description>Use ElementType(Element v) instead.</description>
					</attribute>
				</comment>
				<params>
					<param name="v" comment="" fulltype="org.w3c.dom.Element" type="Element" />
					<param name="nodePosition" comment="" fulltype="int" type="int" />
				</params>
			</constructor>
			<method visibility="public" name="value" returncomment="Actual element value being represented" fulltype="org.w3c.dom.Element" type="Element">
				<comment>
					<description>Retrieves the actual element value being represented</description>
					<attribute name="@return">
						<description>Actual element value being represented</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="string_type" returncomment="&quot;element&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;element&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="string_value" returncomment="String representation of the element being stored" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the element being stored</description>
					<attribute name="@return">
						<description>String representation of the element being stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="typed_value" returncomment="New ResultSequence consisting of the element stored" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the element stored</description>
					<attribute name="@return">
						<description>New ResultSequence consisting of the element stored</description>
					</attribute>
				</comment>
			</method>
			<method static="true" visibility="public" name="textnode_strings" returncomment="String representation of the node supplied" fulltype="java.lang.String" type="String">
				<comment>
					<description>Recursively concatenate TextNode strings</description>
					<attribute name="@param">
						<description>node
            Node to recurse</description>
					</attribute>
					<attribute name="@return">
						<description>String representation of the node supplied</description>
					</attribute>
				</comment>
				<params>
					<param name="node" comment="Node to recurse" fulltype="org.w3c.dom.Node" type="Node" />
				</params>
			</method>
			<method visibility="public" name="node_name" returncomment="QName representation of the name of the node" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName">
				<comment>
					<description>Retrieves the name of the node</description>
					<attribute name="@return">
						<description>QName representation of the name of the node</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="nilled" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
			<method visibility="public" name="isID" fulltype="boolean" type="boolean">
				<comment>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="isIDREF" fulltype="boolean" type="boolean">
				<comment>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
			</method>
			<method visibility="protected" name="isElementType" fulltype="boolean" type="boolean">
				<params>
					<param name="typeName" fulltype="java.lang.String" type="String" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass abstract="true" superclass="AnyType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType">
		<comment>
			<description>A representation of a Node datatype</description>
		</comment>
		<fields>
			<field final="true" static="true" const="IDREF" visibility="protected" name="SCHEMA_TYPE_IDREF" constexpr="&quot;IDREF&quot;" fulltype="java.lang.String" type="String" />
			<field final="true" static="true" const="ID" visibility="protected" name="SCHEMA_TYPE_ID" constexpr="&quot;ID&quot;" fulltype="java.lang.String" type="String" />
		</fields>
		<methods>
			<constructor visibility="public" name="NodeType">
				<comment>
					<description>Initialises according to the supplied parameters</description>
					<attribute name="@param">
						<description>node
            The Node being represented</description>
					</attribute>
					<attribute name="@param">
						<description>document_order
            The document order</description>
					</attribute>
				</comment>
				<params>
					<param name="node" comment="The Node being represented" fulltype="org.w3c.dom.Node" type="Node" />
				</params>
			</constructor>
			<method visibility="public" name="node_value" returncomment="Actual node being represented" fulltype="org.w3c.dom.Node" type="Node">
				<comment>
					<description>Retrieves the actual node being represented</description>
					<attribute name="@return">
						<description>Actual node being represented</description>
					</attribute>
				</comment>
			</method>
			<method abstract="true" visibility="public" name="typed_value" returncomment="Actual node being represented" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Retrieves the actual node being represented</description>
					<attribute name="@return">
						<description>Actual node being represented</description>
					</attribute>
				</comment>
			</method>
			<method abstract="true" visibility="public" name="node_name" returncomment="QName representation of the name of the node" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName">
				<comment>
					<description>Retrieves the name of the node</description>
					<attribute name="@return">
						<description>QName representation of the name of the node</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="nilled" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
			<method static="true" visibility="public" name="dom_to_xpath" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType">
				<params>
					<param name="node" fulltype="org.w3c.dom.Node" type="Node" />
				</params>
			</method>
			<method static="true" visibility="public" name="eliminate_dups" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<params>
					<param name="rs" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
			</method>
			<method static="true" visibility="public" name="sort_document_order" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<params>
					<param name="rs" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
			</method>
			<method static="true" visibility="public" name="same" fulltype="boolean" type="boolean">
				<params>
					<param name="a" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType" />
					<param name="b" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType" />
				</params>
			</method>
			<method visibility="public" name="before" fulltype="boolean" type="boolean">
				<params>
					<param name="two" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType" />
				</params>
			</method>
			<method static="true" visibility="public" name="before" fulltype="boolean" type="boolean">
				<params>
					<param name="a" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType" />
					<param name="b" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType" />
				</params>
			</method>
			<method visibility="public" name="after" fulltype="boolean" type="boolean">
				<params>
					<param name="two" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType" />
				</params>
			</method>
			<method static="true" visibility="public" name="after" fulltype="boolean" type="boolean">
				<params>
					<param name="a" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType" />
					<param name="b" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" type="NodeType" />
				</params>
			</method>
			<method visibility="protected" name="getTypedValueForPrimitiveType" fulltype="java.lang.Object" type="Object">
				<params>
					<param name="typeDef" fulltype="org.apache.xerces.xs.XSTypeDefinition" type="XSTypeDefinition" />
				</params>
			</method>
			<method abstract="true" visibility="public" name="isID" fulltype="boolean" type="boolean" />
			<method abstract="true" visibility="public" name="isIDREF" fulltype="boolean" type="boolean" />
			<method visibility="protected" name="isType" returncomment="" fulltype="boolean" type="boolean">
				<comment>
					<description>Utility method to check to see if a particular TypeInfo matches.</description>
					<attribute name="@param">
						<description>typeInfo</description>
					</attribute>
					<attribute name="@param">
						<description>typeName</description>
					</attribute>
					<attribute name="@return" />
				</comment>
				<params>
					<param name="typeInfo" comment="" fulltype="org.w3c.dom.TypeInfo" type="TypeInfo" />
					<param name="typeName" comment="" fulltype="java.lang.String" type="String" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass abstract="true" superclass="CtrType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
		<comment>
			<description>A representation of the NumericType datatype</description>
		</comment>
		<methods>
			<constructor visibility="public" name="NumericType" />
			<method abstract="true" visibility="public" name="zero" returncomment="True if node represnts 0. False otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Check whether node represnts 0</description>
					<attribute name="@return">
						<description>True if node represnts 0. False otherwise</description>
					</attribute>
				</comment>
			</method>
			<method abstract="true" visibility="public" name="unary_minus" returncomment="New ResultSequence representing the negation of the number stored" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence representing the negation of the number
 stored</description>
					<attribute name="@return">
						<description>New ResultSequence representing the negation of the number stored</description>
					</attribute>
				</comment>
			</method>
			<method abstract="true" visibility="public" name="abs" returncomment="New NumericType representing the absolute of the number stored" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
				<comment>
					<description>Absolutes the number stored</description>
					<attribute name="@return">
						<description>New NumericType representing the absolute of the number stored</description>
					</attribute>
				</comment>
			</method>
			<method abstract="true" visibility="public" name="ceiling" returncomment="A NumericType representing the smallest integer greater than the
         number stored" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
				<comment>
					<description>Returns the smallest integer greater than the number stored</description>
					<attribute name="@return">
						<description>A NumericType representing the smallest integer greater than the
         number stored</description>
					</attribute>
				</comment>
			</method>
			<method abstract="true" visibility="public" name="floor" returncomment="A NumericType representing the largest integer smaller than the
         number stored" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
				<comment>
					<description>Returns the largest integer smaller than the number stored</description>
					<attribute name="@return">
						<description>A NumericType representing the largest integer smaller than the
         number stored</description>
					</attribute>
				</comment>
			</method>
			<method abstract="true" visibility="public" name="round" returncomment="A NumericType representing the closest long of the number stored." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
				<comment>
					<description>Returns the closest integer of the number stored.</description>
					<attribute name="@return">
						<description>A NumericType representing the closest long of the number stored.</description>
					</attribute>
				</comment>
			</method>
			<method abstract="true" visibility="public" name="round_half_to_even" returncomment="A NumericType representing the closest long of the number stored." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
				<comment>
					<description>Returns the closest integer of the number stored.</description>
					<attribute name="@return">
						<description>A NumericType representing the closest long of the number stored.</description>
					</attribute>
				</comment>
			</method>
			<method abstract="true" visibility="public" name="round_half_to_even" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
				<params>
					<param name="precision" fulltype="int" type="int" />
				</params>
			</method>
			<method visibility="protected" name="get_single_arg" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType">
				<params>
					<param name="rs" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method static="true" visibility="public" name="get_single_type" returncomment="The node being tested" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType">
				<comment>
					<description>Check whether the supplied node is of the supplied type</description>
					<attribute name="@param">
						<description>at
            The node being tested</description>
					</attribute>
					<attribute name="@param">
						<description>type
            The type expected</description>
					</attribute>
					<attribute name="@return">
						<description>The node being tested</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError
             If node being tested is not of expected type</description>
					</attribute>
				</comment>
				<params>
					<param name="at" comment="The node being tested" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="type" comment="The type expected" fulltype="java.lang.Class" type="Class" />
				</params>
				<exceptions>
					<exception comment="If node being tested is not of expected type" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method static="true" visibility="public" name="get_single_type" returncomment="The node being tested" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType">
				<comment>
					<description>Check whether first node in supplied ResultSequence is of the supplied
 type</description>
					<attribute name="@param">
						<description>rs
            The node being tested</description>
					</attribute>
					<attribute name="@param">
						<description>type
            The type expected</description>
					</attribute>
					<attribute name="@return">
						<description>The node being tested</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError
             If node being tested is not of expected type</description>
					</attribute>
				</comment>
				<params>
					<param name="rs" comment="The node being tested" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
					<param name="type" comment="The type expected" fulltype="java.lang.Class" type="Class" />
				</params>
				<exceptions>
					<exception comment="If node being tested is not of expected type" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="NodeType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.PIType" type="PIType">
		<comment>
			<description>A representation of the ProcessingInstruction datatype</description>
		</comment>
		<methods>
			<constructor visibility="public" name="PIType">
				<comment>
					<description>Initialises according to the supplied parameters</description>
					<attribute name="@param">
						<description>v
            The processing instruction this node represents</description>
					</attribute>
					<attribute name="@param">
						<description>doc_order
            The document order</description>
					</attribute>
				</comment>
				<params>
					<param name="v" comment="The processing instruction this node represents" fulltype="org.w3c.dom.ProcessingInstruction" type="ProcessingInstruction" />
				</params>
			</constructor>
			<method visibility="public" name="value" returncomment="Actual processing instruction this node represents" fulltype="org.w3c.dom.ProcessingInstruction" type="ProcessingInstruction">
				<comment>
					<description>Retrieves the actual processing instruction this node represents</description>
					<attribute name="@return">
						<description>Actual processing instruction this node represents</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="string_type" returncomment="&quot;processing-instruction&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;processing-instruction&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="string_value" returncomment="String representation of the actual processing instruction stored" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the actual processing instruction
 stored</description>
					<attribute name="@return">
						<description>String representation of the actual processing instruction stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="typed_value" returncomment="New ResultSequence consisting of the processing instruction
         stored" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the processing instruction
 stored</description>
					<attribute name="@return">
						<description>New ResultSequence consisting of the processing instruction
         stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="node_name" returncomment="A QName representation of the node&apos;s name" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName">
				<comment>
					<description>Constructs the node&apos;s name</description>
					<attribute name="@return">
						<description>A QName representation of the node&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="isID" fulltype="boolean" type="boolean">
				<comment>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="isIDREF" fulltype="boolean" type="boolean">
				<comment>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="CtrType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName">
		<comment>
			<description>A representation of a QName datatype (name of a node)</description>
		</comment>
		<methods>
			<constructor visibility="public" name="QName">
				<comment>
					<description>Initialises using the supplied parameters</description>
					<attribute name="@param">
						<description>prefix
            Prefix of the node name</description>
					</attribute>
					<attribute name="@param">
						<description>local_part
            The node name itself</description>
					</attribute>
					<attribute name="@param">
						<description>ns
            The namespace this nodename belongs to</description>
					</attribute>
				</comment>
				<params>
					<param name="prefix" comment="Prefix of the node name" fulltype="java.lang.String" type="String" />
					<param name="local_part" comment="The node name itself" fulltype="java.lang.String" type="String" />
					<param name="ns" comment="The namespace this nodename belongs to" fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
			<constructor visibility="public" name="QName">
				<comment>
					<description>Initialises using the supplied parameters</description>
					<attribute name="@param">
						<description>prefix
            Prefix of the node name</description>
					</attribute>
					<attribute name="@param">
						<description>local_part
            The node name itself</description>
					</attribute>
				</comment>
				<params>
					<param name="prefix" comment="Prefix of the node name" fulltype="java.lang.String" type="String" />
					<param name="local_part" comment="The node name itself" fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
			<constructor visibility="public" name="QName">
				<comment>
					<description>Initialises using only the node name (no prefix)</description>
					<attribute name="@param">
						<description>local_part
            The node name</description>
					</attribute>
				</comment>
				<params>
					<param name="local_part" comment="The node name" fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
			<constructor visibility="public" name="QName">
				<comment>
					<description>Initialises with a null prefix and null node name</description>
				</comment>
			</constructor>
			<method static="true" visibility="public" name="parse_QName" returncomment="null" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName">
				<comment>
					<description>Creates a new QName by parsing a String representation of the node name</description>
					<attribute name="@param">
						<description>str
            String representation of the name</description>
					</attribute>
					<attribute name="@return">
						<description>null</description>
					</attribute>
				</comment>
				<params>
					<param name="str" comment="String representation of the name" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the QName supplied" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the extractable QName in the
 supplied ResultSequence</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence to extract from</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the QName supplied</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence to extract from" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="string_value" returncomment="String representation of the node name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the node name. This method is
 functionally identical to string()</description>
					<attribute name="@return">
						<description>String representation of the node name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="string_type" returncomment="&quot;xs:QName&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:QName&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;QName&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;QName&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="string" returncomment="String representation of the node name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the node name. This method is
 functionally identical to string_value()</description>
					<attribute name="@return">
						<description>String representation of the node name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="expanded_name" returncomment="Full pathname including namespace" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the full pathname including the namespace. This method must not
 be called if a namespace does exist for this node</description>
					<attribute name="@return">
						<description>Full pathname including namespace</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="prefix" returncomment="Prefix of the node&apos;s pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the prefix of the node&apos;s pathname</description>
					<attribute name="@return">
						<description>Prefix of the node&apos;s pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="set_namespace" fulltype="void" type="void">
				<comment>
					<description>Sets the namespace for this node</description>
					<attribute name="@param">
						<description>n
            Namespace this node belongs in</description>
					</attribute>
				</comment>
				<params>
					<param name="n" comment="Namespace this node belongs in" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="namespace" returncomment="Namespace that this node belongs in" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the namespace that this node belongs in. This method must not
 be called if the node does not belong in a namespace</description>
					<attribute name="@return">
						<description>Namespace that this node belongs in</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="local" returncomment="Node&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the node&apos;s name</description>
					<attribute name="@return">
						<description>Node&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="expanded" returncomment="True if a namespace has been defined for node. False otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Check for whether a namespace has been defined for this node</description>
					<attribute name="@return">
						<description>True if a namespace has been defined for node. False otherwise</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="equals" returncomment="True if the two represent the same node. False otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Equality comparison between this QName and a supplied QName</description>
					<attribute name="@param">
						<description>obj
            The object to compare with. Should be of type QName</description>
					</attribute>
					<attribute name="@return">
						<description>True if the two represent the same node. False otherwise</description>
					</attribute>
				</comment>
				<params>
					<param name="obj" comment="The object to compare with. Should be of type QName" fulltype="java.lang.Object" type="Object" />
				</params>
			</method>
			<method visibility="public" name="hashCode" returncomment="The hashcode for the full pathname" fulltype="int" type="int">
				<comment>
					<description>Calculates the hashcode for the full pathname</description>
					<attribute name="@return">
						<description>The hashcode for the full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="eq" returncomment="True if the two represent the same node. False otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Equality comparison between this QName and the supplied QName</description>
					<attribute name="@param">
						<description>arg
            The QName to compare with</description>
					</attribute>
					<attribute name="@return">
						<description>True if the two represent the same node. False otherwise</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The QName to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="context" fulltype="org.eclipse.wst.xml.xpath2.processor.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" />
		</methods>
	</jelclass>
	<jelclass superclass="NodeType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.TextType" type="TextType">
		<comment>
			<description>A representation of the TextType datatype</description>
		</comment>
		<methods>
			<constructor visibility="public" name="TextType">
				<comment>
					<description>Initialises using the supplied parameters</description>
					<attribute name="@param">
						<description>v
            The value of the TextType node</description>
					</attribute>
				</comment>
				<params>
					<param name="v" comment="The value of the TextType node" fulltype="org.w3c.dom.Text" type="Text" />
				</params>
			</constructor>
			<method visibility="public" name="string_type" returncomment="&quot;text&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;text&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="string_value" returncomment="String representation of the actual value stored" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the actual value stored</description>
					<attribute name="@return">
						<description>String representation of the actual value stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="typed_value" returncomment="New ResultSequence consisting of the Text value stored" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the Text value stored</description>
					<attribute name="@return">
						<description>New ResultSequence consisting of the Text value stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="node_name" returncomment="null (no user defined name for this node gets defined)" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.QName" type="QName">
				<comment>
					<description>Unsupported method for this nodetype.</description>
					<attribute name="@return">
						<description>null (no user defined name for this node gets defined)</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="isID" fulltype="boolean" type="boolean">
				<comment>
					<description>Will always return false;</description>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="isIDREF" fulltype="boolean" type="boolean">
				<comment>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="DecimalFormat" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" serializable="true" superclassfulltype="java.text.DecimalFormat" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XPathDecimalFormat" type="XPathDecimalFormat">
		<comment>
			<description>This is an XPath specific implementation of DecimalFormat to handle
 some of the xpath specific formatting requirements.   Specifically
 it allows for E# to be represented to indicate that the exponent value
 is optional.  Otherwise all existing DecimalFormat patterns are handled
 as is.</description>
			<attribute name="@author">
				<description>dcarver</description>
			</attribute>
			<attribute name="@see">
				<description>1.1</description>
			</attribute>
		</comment>
		<methods>
			<constructor visibility="public" name="XPathDecimalFormat">
				<params>
					<param name="pattern" fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
			<method visibility="public" name="xpathFormat" returncomment="" fulltype="java.lang.String" type="String">
				<comment>
					<description>Formats the string dropping a Zero Exponent Value if it exists.</description>
					<attribute name="@param">
						<description>obj</description>
					</attribute>
					<attribute name="@return" />
				</comment>
				<params>
					<param name="obj" comment="" fulltype="java.lang.Object" type="Object" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="CtrType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSAnyURI" type="XSAnyURI">
		<comment>
			<description>Represents a Universal Resource Identifier (URI) reference</description>
		</comment>
		<methods>
			<constructor visibility="public" name="XSAnyURI">
				<comment>
					<description>Arity 1 Constructor</description>
					<attribute name="@param">
						<description>x
            String representation of the URI</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="String representation of the URI" fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
			<constructor visibility="public" name="XSAnyURI">
				<comment>
					<description>Arity 0 Constructor. Initiates URI to null.</description>
				</comment>
			</constructor>
			<method visibility="public" name="string_type" returncomment="&quot;xs:anyURI&quot;, the full type pathname of this datatype" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieve full type pathname of this datatype</description>
					<attribute name="@return">
						<description>&quot;xs:anyURI&quot;, the full type pathname of this datatype</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;anyURI&quot;, the type name of this datatype" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieve type name of this datatype</description>
					<attribute name="@return">
						<description>&quot;anyURI&quot;, the type name of this datatype</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="string_value" returncomment="the URI value held by this instance of the URI datatype as a
         String" fulltype="java.lang.String" type="String">
				<comment>
					<description>Transforms and retrieves the URI value of this URI datatype in String
 format</description>
					<attribute name="@return">
						<description>the URI value held by this instance of the URI datatype as a
         String</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="constructor" returncomment="new result sequence consisting of the URI supplied" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creation of a result sequence consisting of a URI from a previous result
 sequence.</description>
					<attribute name="@param">
						<description>arg
            previous result sequence</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
					<attribute name="@return">
						<description>new result sequence consisting of the URI supplied</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="previous result sequence" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="eq" returncomment="True if the two representation are of the same String. False
         otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Equality comparison between this and the supplied representation which
 must be of type xs:anyURI (or, by promotion of this, xs:string)</description>
					<attribute name="@param">
						<description>arg
            The representation to compare with</description>
					</attribute>
					<attribute name="@return">
						<description>True if the two representation are of the same String. False
         otherwise</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The representation to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="context" fulltype="org.eclipse.wst.xml.xpath2.processor.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.processor.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.processor.DynamicContext" type="DynamicContext" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="CtrType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSBase64Binary" type="XSBase64Binary">
		<comment>
			<description>A representation of the base64Binary datatype</description>
		</comment>
		<methods>
			<constructor visibility="public" name="XSBase64Binary">
				<comment>
					<description>Initialises using the supplied String</description>
					<attribute name="@param">
						<description>x
            The String to initialise to</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="The String to initialise to" fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
			<constructor visibility="public" name="XSBase64Binary">
				<comment>
					<description>Initialises to null</description>
				</comment>
			</constructor>
			<method visibility="public" name="string_type" returncomment="&quot;xs:base64Binary&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:base64Binary&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;base64Binary&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;base64Binary&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="string_value" returncomment="The base64Binary stored" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the base64Binary stored. This method is
 functionally identical to value()</description>
					<attribute name="@return">
						<description>The base64Binary stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="value" returncomment="The base64Binary stored" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the base64Binary stored. This method is
 functionally identical to string_value()</description>
					<attribute name="@return">
						<description>The base64Binary stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="constructor" returncomment="New ResultSequence representing base64Binary value" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the base64Binary value</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which to construct base64Binary value</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence representing base64Binary value</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which to construct base64Binary value" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="eq" returncomment="True if the two representation are same. False otherwise." fulltype="boolean" type="boolean">
				<comment>
					<description>Equality comparison between this and the supplied representation which
 must be of type base64Binary</description>
					<attribute name="@param">
						<description>arg
            The representation to compare with</description>
					</attribute>
					<attribute name="@return">
						<description>True if the two representation are same. False otherwise.</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The representation to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="context" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicContext" type="DynamicContext" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="CtrType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSBoolean" type="XSBoolean">
		<comment>
			<description>A representation of a true or a false value.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="XSBoolean">
				<comment>
					<description>Initiates the new representation to the boolean supplied</description>
					<attribute name="@param">
						<description>x
       Initializes this datatype to represent this boolean</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="Initializes this datatype to represent this boolean" fulltype="boolean" type="boolean" />
				</params>
			</constructor>
			<constructor visibility="public" name="XSBoolean">
				<comment>
					<description>Initiates to a default representation of false.</description>
				</comment>
			</constructor>
			<method visibility="public" name="string_type" returncomment="&quot;xs:boolean&quot;, the full datatype pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieve the full type pathname of this datatype</description>
					<attribute name="@return">
						<description>&quot;xs:boolean&quot;, the full datatype pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;boolean&quot;, which is the datatype name." fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieve the datatype name</description>
					<attribute name="@return">
						<description>&quot;boolean&quot;, which is the datatype name.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="string_value" returncomment="the String representation of the boolean value stored" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieve the String representation of the boolean value stored</description>
					<attribute name="@return">
						<description>the String representation of the boolean value stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="value" returncomment="the actual boolean value stored" fulltype="boolean" type="boolean">
				<comment>
					<description>Retrieves the actual boolean value stored</description>
					<attribute name="@return">
						<description>the actual boolean value stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="constructor" returncomment="A new result sequence consisting of the boolean value supplied." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new result sequence consisting of the retrievable boolean value
 in the supplied result sequence</description>
					<attribute name="@param">
						<description>arg
            The result sequence from which to extract the boolean value.</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
					<attribute name="@return">
						<description>A new result sequence consisting of the boolean value supplied.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The result sequence from which to extract the boolean value." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="eq" returncomment="New XSBoolean representation of true/false result of the equality
         comparison" fulltype="boolean" type="boolean">
				<comment>
					<description>Comparison for equality between the supplied and this boolean
 representation. Returns true if both represent same boolean value, false
 otherwise</description>
					<attribute name="@param">
						<description>arg
            The XSBoolean representation of the boolean value to compare
            with.</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
					<attribute name="@return">
						<description>New XSBoolean representation of true/false result of the equality
         comparison</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The XSBoolean representation of the boolean value to compare
            with." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="context" fulltype="org.eclipse.wst.xml.xpath2.processor.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.processor.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.processor.DynamicContext" type="DynamicContext" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="XSShort" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSShort" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSByte" type="XSByte">
		<methods>
			<constructor visibility="public" name="XSByte">
				<comment>
					<description>Initializes a representation of 0</description>
				</comment>
			</constructor>
			<constructor visibility="public" name="XSByte">
				<comment>
					<description>Initializes a representation of the supplied byte value</description>
					<attribute name="@param">
						<description>x
            Byte to be stored</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="Byte to be stored" fulltype="java.math.BigInteger" type="BigInteger" />
				</params>
			</constructor>
			<method visibility="public" name="string_type" returncomment="&quot;xs:byte&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:byte&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;byte&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;byte&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the &apos;byte&apos; supplied" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the extractable &apos;byte&apos; in the
 supplied ResultSequence</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which the byte is to be extracted</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the &apos;byte&apos; supplied</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which the byte is to be extracted" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="CalendarType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CalendarType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDate" type="XSDate">
		<implements>
			<interface fulltype="java.lang.Cloneable" type="Cloneable" />
		</implements>
		<comment>
			<description>Representation of a date of the form year-month-day and optional timezone</description>
		</comment>
		<methods>
			<constructor visibility="public" name="XSDate">
				<comment>
					<description>Initializes a new representation of a supplied date</description>
					<attribute name="@param">
						<description>cal
            The Calendar representation of the date to be stored</description>
					</attribute>
					<attribute name="@param">
						<description>tz
            The time zone of the date to be stored.</description>
					</attribute>
				</comment>
				<params>
					<param name="cal" comment="The Calendar representation of the date to be stored" fulltype="java.util.Calendar" type="Calendar" />
					<param name="tz" comment="The time zone of the date to be stored." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration" />
				</params>
			</constructor>
			<constructor visibility="public" name="XSDate">
				<comment>
					<description>Initializes a new representation of the current date</description>
				</comment>
			</constructor>
			<method visibility="public" name="type_name" returncomment="&quot;date&quot; which is the dataype name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype name</description>
					<attribute name="@return">
						<description>&quot;date&quot; which is the dataype name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="clone" returncomment="A copy of this date representation" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Creates a copy of this date representation</description>
					<attribute name="@return">
						<description>A copy of this date representation</description>
					</attribute>
				</comment>
				<exceptions>
					<exception fulltype="java.lang.CloneNotSupportedException" type="CloneNotSupportedException" />
				</exceptions>
			</method>
			<method static="true" visibility="public" name="parse_date" returncomment="The XSDate representation of the supplied date" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDate" type="XSDate">
				<comment>
					<description>Parses a String representation of a date (of the form year-month-day or
 year-month-day+timezone) and constructs a new XSDate representation of
 it.</description>
					<attribute name="@param">
						<description>str
            The String representation of the date (and optional timezone)</description>
					</attribute>
					<attribute name="@return">
						<description>The XSDate representation of the supplied date</description>
					</attribute>
				</comment>
				<params>
					<param name="str" comment="The String representation of the date (and optional timezone)" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="constructor" returncomment="A new result sequence consisting of the date value supplied." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new result sequence consisting of the retrievable date value in
 the supplied result sequence</description>
					<attribute name="@param">
						<description>arg
            The result sequence from which to extract the date value.</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
					<attribute name="@return">
						<description>A new result sequence consisting of the date value supplied.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The result sequence from which to extract the date value." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="year" returncomment="the year value of the date stored" fulltype="int" type="int">
				<comment>
					<description>Retrieve the year from the date stored</description>
					<attribute name="@return">
						<description>the year value of the date stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="month" returncomment="the month value of the date stored" fulltype="int" type="int">
				<comment>
					<description>Retrieve the month from the date stored</description>
					<attribute name="@return">
						<description>the month value of the date stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="day" returncomment="the day value of the date stored" fulltype="int" type="int">
				<comment>
					<description>Retrieve the day from the date stored</description>
					<attribute name="@return">
						<description>the day value of the date stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="timezoned" returncomment="True if there is a timezone associated with this date. False
         otherwise." fulltype="boolean" type="boolean">
				<comment>
					<description>Retrieves whether this date has an optional timezone associated with it</description>
					<attribute name="@return">
						<description>True if there is a timezone associated with this date. False
         otherwise.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="string_value" returncomment="String representation of the date stored" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the date stored</description>
					<attribute name="@return">
						<description>String representation of the date stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="string_type" returncomment="&quot;xs:date&quot; which is the datatype full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrive the datatype full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:date&quot; which is the datatype full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="calendar" returncomment="Calendar representation of the date stored" fulltype="java.util.Calendar" type="Calendar">
				<comment>
					<description>Retrieves the Calendar representation of the date stored</description>
					<attribute name="@return">
						<description>Calendar representation of the date stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="tz" returncomment="the timezone associated with the date stored" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration">
				<comment>
					<description>Retrieves the timezone associated with the date stored</description>
					<attribute name="@return">
						<description>the timezone associated with the date stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="eq" returncomment="True if the two dates are represent the same exact point in time.
         False otherwise." fulltype="boolean" type="boolean">
				<comment>
					<description>Equality comparison on this and the supplied dates (taking timezones into
 account)</description>
					<attribute name="@param">
						<description>arg
            XSDate representation of the date to compare to</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
					<attribute name="@return">
						<description>True if the two dates are represent the same exact point in time.
         False otherwise.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="XSDate representation of the date to compare to" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="context" fulltype="org.eclipse.wst.xml.xpath2.processor.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.processor.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.processor.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.processor.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.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="plus" returncomment="New ResultSequence consisting of the result of the mathematical
         minus operation." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical addition operator between this XSDate and a supplied result
 sequence (XDTYearMonthDuration and XDTDayTimeDuration are only valid
 ones).</description>
					<attribute name="@param">
						<description>arg
            The supplied ResultSequence that is on the right of the minus
            operator. If arg is an XDTYearMonthDuration or an
            XDTDayTimeDuration the result will be a XSDate of the result
            of the current date minus the duration of time supplied.</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the result of the mathematical
         minus operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The supplied ResultSequence that is on the right of the minus
            operator. If arg is an XDTYearMonthDuration or an
            XDTDayTimeDuration the result will be a XSDate of the result
            of the current date minus the duration of time supplied." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="CalendarType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CalendarType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDateTime" type="XSDateTime">
		<implements>
			<interface fulltype="java.lang.Cloneable" type="Cloneable" />
		</implements>
		<comment>
			<description>A representation of a date and time (and optional timezone)</description>
		</comment>
		<methods>
			<constructor visibility="public" name="XSDateTime">
				<comment>
					<description>Initiates a new representation of a supplied date and time</description>
					<attribute name="@param">
						<description>cal
            The Calendar representation of the date and time to be stored</description>
					</attribute>
					<attribute name="@param">
						<description>tz
            The timezone of the date to be stored.</description>
					</attribute>
				</comment>
				<params>
					<param name="cal" comment="The Calendar representation of the date and time to be stored" fulltype="java.util.Calendar" type="Calendar" />
					<param name="tz" comment="The timezone of the date to be stored." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration" />
				</params>
			</constructor>
			<constructor visibility="public" name="XSDateTime">
				<comment>
					<description>Inititates a new representation of the current date and time</description>
				</comment>
			</constructor>
			<method visibility="public" name="clone" returncomment="A copy of this date and time representation" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Creates a copy of this date and time representation</description>
					<attribute name="@return">
						<description>A copy of this date and time representation</description>
					</attribute>
				</comment>
				<exceptions>
					<exception fulltype="java.lang.CloneNotSupportedException" type="CloneNotSupportedException" />
				</exceptions>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;dateTime&quot; which is the dataype name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype name</description>
					<attribute name="@return">
						<description>&quot;dateTime&quot; which is the dataype name</description>
					</attribute>
				</comment>
			</method>
			<method static="true" visibility="public" name="is_digit" returncomment="True if the character is numeric. False otherwise." fulltype="boolean" type="boolean">
				<comment>
					<description>Check to see if a character is numeric</description>
					<attribute name="@param">
						<description>x
            Character to be tested</description>
					</attribute>
					<attribute name="@return">
						<description>True if the character is numeric. False otherwise.</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="Character to be tested" fulltype="char" type="char" />
				</params>
			</method>
			<method static="true" visibility="public" name="parse_date" returncomment="Integer array of size 3. Element 1 is the year, element 2 is the
         month and element 3 is the day" fulltype="int[]" type="int">
				<comment>
					<description>Parses a String representation of a date and time and retrieves the year,
 month and day from it</description>
					<attribute name="@param">
						<description>str
            The String representation of the date (and optional timezone)</description>
					</attribute>
					<attribute name="@return">
						<description>Integer array of size 3. Element 1 is the year, element 2 is the
         month and element 3 is the day</description>
					</attribute>
				</comment>
				<params>
					<param name="str" comment="The String representation of the date (and optional timezone)" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method static="true" visibility="public" name="parse_time" returncomment="Integer array of size 3. Element 1 is the hour, element 2 is the
         minute and element 3 is the seconds" fulltype="double[]" type="double">
				<comment>
					<description>Parses a String representation of a date and time and retrieves the hour,
 minute and seconds from it</description>
					<attribute name="@param">
						<description>str
            The String representation of the date (and optional timezone)</description>
					</attribute>
					<attribute name="@return">
						<description>Integer array of size 3. Element 1 is the hour, element 2 is the
         minute and element 3 is the seconds</description>
					</attribute>
				</comment>
				<params>
					<param name="str" comment="The String representation of the date (and optional timezone)" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method static="true" visibility="public" name="parse_timezone" returncomment="Integer array of size 3. Element 1 represents whether the
         timezone is ahead or behind GMT, element 2 is the hour
         displacement and element 3 is the minute displacement." fulltype="int[]" type="int">
				<comment>
					<description>Parses a String representation of a date and time and retrieves the
 timezone from it</description>
					<attribute name="@param">
						<description>str
            The String representation of the date (and optional timezone)</description>
					</attribute>
					<attribute name="@return">
						<description>Integer array of size 3. Element 1 represents whether the
         timezone is ahead or behind GMT, element 2 is the hour
         displacement and element 3 is the minute displacement.</description>
					</attribute>
				</comment>
				<params>
					<param name="str" comment="The String representation of the date (and optional timezone)" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method static="true" visibility="public" name="parseDateTime" returncomment="The XSDateTime representation of the date and time (and optional
         timezone)" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDateTime" type="XSDateTime">
				<comment>
					<description>Parses a String representation of a date and time and constructs a new
 XSDateTime object using that information</description>
					<attribute name="@param">
						<description>str
            The String representation of the date (and optional timezone)</description>
					</attribute>
					<attribute name="@return">
						<description>The XSDateTime representation of the date and time (and optional
         timezone)</description>
					</attribute>
				</comment>
				<params>
					<param name="str" comment="The String representation of the date (and optional timezone)" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="constructor" returncomment="A new result sequence consisting of the date and time value
         supplied." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new result sequence consisting of the retrievable date and time
 value in the supplied result sequence</description>
					<attribute name="@param">
						<description>arg
            The result sequence from which to extract the date and time
            value.</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
					<attribute name="@return">
						<description>A new result sequence consisting of the date and time value
         supplied.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The result sequence from which to extract the date and time
            value." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="year" returncomment="the year value of the date stored" fulltype="int" type="int">
				<comment>
					<description>Retrieve the year from the date stored</description>
					<attribute name="@return">
						<description>the year value of the date stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="month" returncomment="the month value of the date stored" fulltype="int" type="int">
				<comment>
					<description>Retrieve the month from the date stored</description>
					<attribute name="@return">
						<description>the month value of the date stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="day" returncomment="the day value of the date stored" fulltype="int" type="int">
				<comment>
					<description>Retrieve the day from the date stored</description>
					<attribute name="@return">
						<description>the day value of the date stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="hour" returncomment="the hour value of the date stored" fulltype="int" type="int">
				<comment>
					<description>Retrieve the hour from the date stored</description>
					<attribute name="@return">
						<description>the hour value of the date stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="minute" returncomment="the minute value of the date stored" fulltype="int" type="int">
				<comment>
					<description>Retrieve the minute from the date stored</description>
					<attribute name="@return">
						<description>the minute value of the date stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="second" returncomment="the seconds value of the date stored" fulltype="double" type="double">
				<comment>
					<description>Retrieve the seconds from the date stored</description>
					<attribute name="@return">
						<description>the seconds value of the date stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="timezoned" fulltype="boolean" type="boolean" />
			<method static="true" visibility="public" name="pad_int" returncomment="String representation of the padded integer" fulltype="java.lang.String" type="String">
				<comment>
					<description>Pads the supplied number to the supplied number of digits by adding 0&apos;s
 in front of it</description>
					<attribute name="@param">
						<description>num
            Number that si to be padded (if neccessay)</description>
					</attribute>
					<attribute name="@param">
						<description>len
            Desired length after padding</description>
					</attribute>
					<attribute name="@return">
						<description>String representation of the padded integer</description>
					</attribute>
				</comment>
				<params>
					<param name="num" comment="Number that si to be padded (if neccessay)" fulltype="int" type="int" />
					<param name="len" comment="Desired length after padding" fulltype="int" type="int" />
				</params>
			</method>
			<method visibility="public" name="string_value" returncomment="String representation of the date and time stored" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the date and time stored</description>
					<attribute name="@return">
						<description>String representation of the date and time stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="string_type" returncomment="&quot;xs:dateTime&quot; which is the datatype full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrive the datatype full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:dateTime&quot; which is the datatype full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="calendar" returncomment="Calendar representation of the date stored" fulltype="java.util.Calendar" type="Calendar">
				<comment>
					<description>Retrieves the Calendar representation of the date stored</description>
					<attribute name="@return">
						<description>Calendar representation of the date stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="eq" returncomment="True if the two dates and times are represent the same exact
         point in time. False otherwise." fulltype="boolean" type="boolean">
				<comment>
					<description>Equality comparison on this and the supplied dates and times (taking
 timezones into account)</description>
					<attribute name="@param">
						<description>arg
            XSDateTime representation of the date to compare to</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
					<attribute name="@return">
						<description>True if the two dates and times are represent the same exact
         point in time. False otherwise.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="XSDateTime representation of the date to compare to" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="context" fulltype="org.eclipse.wst.xml.xpath2.processor.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.processor.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.processor.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.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical minus operator between this XSDateTime and a supplied result
 sequence (XSDateTime, XDTYearMonthDuration and XDTDayTimeDuration are
 only valid ones).</description>
					<attribute name="@param">
						<description>arg
            The supplied ResultSequence that is on the right of the minus
            operator. If this is an XSDateTime, the result will be a
            XDTDayTimeDuration of the duration of time between these two
            dates. If arg is an XDTYearMonthDuration or an
            XDTDayTimeDuration the result will be a XSDateTime of the
            result of the current date minus the duration of time
            supplied.</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the result of the mathematical
         minus operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The supplied ResultSequence that is on the right of the minus
            operator. If this is an XSDateTime, the result will be a
            XDTDayTimeDuration of the duration of time between these two
            dates. If arg is an XDTYearMonthDuration or an
            XDTDayTimeDuration the result will be a XSDateTime of the
            result of the current date minus the duration of time
            supplied." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="plus" returncomment="New ResultSequence consisting of the result of the mathematical
         minus operation." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical addition operator between this XSDateTime and a supplied
 result sequence (XDTYearMonthDuration and XDTDayTimeDuration are only
 valid ones).</description>
					<attribute name="@param">
						<description>arg
            The supplied ResultSequence that is on the right of the minus
            operator. If arg is an XDTYearMonthDuration or an
            XDTDayTimeDuration the result will be a XSDateTime of the
            result of the current date minus the duration of time
            supplied.</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the result of the mathematical
         minus operation.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The supplied ResultSequence that is on the right of the minus
            operator. If arg is an XDTYearMonthDuration or an
            XDTDayTimeDuration the result will be a XSDateTime of the
            result of the current date minus the duration of time
            supplied." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="XSDuration" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDayTimeDuration" type="XSDayTimeDuration">
		<implements>
			<interface fulltype="java.lang.Cloneable" type="Cloneable" />
		</implements>
		<comment>
			<description>A representation of the DayTimeDuration datatype</description>
		</comment>
		<methods>
			<constructor visibility="public" name="XSDayTimeDuration">
				<comment>
					<description>Initialises to the supplied parameters. If more than 24 hours is
 supplied, the number of days is adjusted acordingly. The same occurs for
 minutes and seconds</description>
					<attribute name="@param">
						<description>days
            Number of days in this duration of time</description>
					</attribute>
					<attribute name="@param">
						<description>hours
            Number of hours in this duration of time</description>
					</attribute>
					<attribute name="@param">
						<description>minutes
            Number of minutes in this duration of time</description>
					</attribute>
					<attribute name="@param">
						<description>seconds
            Number of seconds in this duration of time</description>
					</attribute>
					<attribute name="@param">
						<description>negative
            True if this duration of time represents a backwards passage
            through time. False otherwise</description>
					</attribute>
				</comment>
				<params>
					<param name="days" comment="Number of days in this duration of time" fulltype="int" type="int" />
					<param name="hours" comment="Number of hours in this duration of time" fulltype="int" type="int" />
					<param name="minutes" comment="Number of minutes in this duration of time" fulltype="int" type="int" />
					<param name="seconds" comment="Number of seconds in this duration of time" fulltype="double" type="double" />
					<param name="negative" comment="True if this duration of time represents a backwards passage
            through time. False otherwise" fulltype="boolean" type="boolean" />
				</params>
			</constructor>
			<constructor visibility="public" name="XSDayTimeDuration">
				<comment>
					<description>Initialises to the given number of seconds</description>
					<attribute name="@param">
						<description>secs
            Number of seconds in the duration of time</description>
					</attribute>
				</comment>
				<params>
					<param name="secs" comment="Number of seconds in the duration of time" fulltype="double" type="double" />
				</params>
			</constructor>
			<constructor visibility="public" name="XSDayTimeDuration">
				<comment>
					<description>Initialises to a duration of no time (0days, 0hours, 0minutes, 0seconds)</description>
				</comment>
			</constructor>
			<method visibility="public" name="clone" returncomment="New XSDayTimeDuration representing the duration of time stored" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Creates a copy of this representation of a time duration</description>
					<attribute name="@return">
						<description>New XSDayTimeDuration representing the duration of time stored</description>
					</attribute>
					<attribute name="@throws">
						<description>CloneNotSupportedException</description>
					</attribute>
				</comment>
				<exceptions>
					<exception comment="" fulltype="java.lang.CloneNotSupportedException" type="CloneNotSupportedException" />
				</exceptions>
			</method>
			<method visibility="public" name="constructor" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<params>
					<param name="arg" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method static="true" visibility="public" name="parseDTDuration" returncomment="New XSDayTimeDuration representing the duration of time supplied" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration">
				<comment>
					<description>Creates a new XSDayTimeDuration by parsing the supplied String
 represented duration of time</description>
					<attribute name="@param">
						<description>str
            String represented duration of time</description>
					</attribute>
					<attribute name="@return">
						<description>New XSDayTimeDuration representing the duration of time supplied</description>
					</attribute>
				</comment>
				<params>
					<param name="str" comment="String represented duration of time" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;dayTimeDuration&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrives the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;dayTimeDuration&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="string_type" returncomment="&quot;xs:dayTimeDuration&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:dayTimeDuration&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="plus" returncomment="New XSDayTimeDuration representing the resulting duration after
         the addition" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical addition between this duration stored and the supplied
 duration of time (of type XSDayTimeDuration)</description>
					<attribute name="@param">
						<description>arg
            The duration of time to add</description>
					</attribute>
					<attribute name="@return">
						<description>New XSDayTimeDuration representing the resulting duration after
         the addition</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The duration of time to add" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="minus" returncomment="New XSDayTimeDuration representing the resulting duration after
         the subtraction" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical subtraction between this duration stored and the supplied
 duration of time (of type XSDayTimeDuration)</description>
					<attribute name="@param">
						<description>arg
            The duration of time to subtract</description>
					</attribute>
					<attribute name="@return">
						<description>New XSDayTimeDuration representing the resulting duration after
         the subtraction</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The duration of time to subtract" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="times" returncomment="New XSDayTimeDuration representing the resulting duration after
         the multiplication" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical multiplication between this duration stored and the supplied
 duration of time (of type XSDayTimeDuration)</description>
					<attribute name="@param">
						<description>arg
            The duration of time to multiply by</description>
					</attribute>
					<attribute name="@return">
						<description>New XSDayTimeDuration representing the resulting duration after
         the multiplication</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The duration of time to multiply by" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="div" returncomment="New XSDayTimeDuration representing the resulting duration after
         the division" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical division between this duration stored and the supplied
 duration of time (of type XSDayTimeDuration)</description>
					<attribute name="@param">
						<description>arg
            The duration of time to divide by</description>
					</attribute>
					<attribute name="@return">
						<description>New XSDayTimeDuration representing the resulting duration after
         the division</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The duration of time to divide by" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="NumericType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDecimal" type="XSDecimal">
		<comment>
			<description>A representation of the Decimal datatype</description>
		</comment>
		<methods>
			<constructor visibility="public" name="XSDecimal">
				<comment>
					<description>Initiates a representation of 0.0</description>
				</comment>
			</constructor>
			<constructor visibility="public" name="XSDecimal">
				<comment>
					<description>Initiates a representation of the supplied number</description>
					<attribute name="@param">
						<description>x
            Number to be stored</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="Number to be stored" fulltype="java.math.BigDecimal" type="BigDecimal" />
				</params>
			</constructor>
			<constructor visibility="public" name="XSDecimal">
				<params>
					<param name="x" fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
			<method visibility="public" name="string_type" returncomment="&quot;xs:decimal&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:decimal&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;decimal&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;decimal&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="string_value" returncomment="String representation of the Decimal value stored" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the Decimal value stored</description>
					<attribute name="@return">
						<description>String representation of the Decimal value stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="zero" returncomment="True if this XSDecimal represents 0. False otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Check if this XSDecimal represents 0</description>
					<attribute name="@return">
						<description>True if this XSDecimal represents 0. False otherwise</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="constructor" returncomment="A new result sequence consisting of the decimal number supplied." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new result sequence consisting of the retrievable decimal
 number in the supplied result sequence</description>
					<attribute name="@param">
						<description>arg
            The result sequence from which to extract the decimal number.</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
					<attribute name="@return">
						<description>A new result sequence consisting of the decimal number supplied.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The result sequence from which to extract the decimal number." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="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="context" fulltype="org.eclipse.wst.xml.xpath2.processor.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.processor.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.processor.internal.types.AnyType" type="AnyType">
				<params>
					<param name="arg" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="lt" returncomment="True if the supplied type represents a number greater than this
         one stored. False otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Comparison between this number and the supplied representation.</description>
					<attribute name="@param">
						<description>arg
            Representation to be compared with (must currently be of type
            XSDecimal)</description>
					</attribute>
					<attribute name="@return">
						<description>True if the supplied type represents a number greater than this
         one stored. False otherwise</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="Representation to be compared with (must currently be of type
            XSDecimal)" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="context" fulltype="org.eclipse.wst.xml.xpath2.processor.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.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical addition operator between this XSDecimal and the supplied
 ResultSequence. Due to no numeric type promotion or conversion, the
 ResultSequence must be of type XSDecimal.</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence to perform an addition with</description>
					</attribute>
					<attribute name="@return">
						<description>A XSDecimal consisting of the result of the mathematical
         addition.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence to perform an addition with" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="minus" returncomment="A XSDecimal consisting of the result of the mathematical
         subtraction." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical subtraction operator between this XSDecimal and the supplied
 ResultSequence.</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence to perform a subtraction with</description>
					</attribute>
					<attribute name="@return">
						<description>A XSDecimal consisting of the result of the mathematical
         subtraction.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence to perform a subtraction with" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="times" returncomment="A XSDecimal consisting of the result of the mathematical
         multiplication." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical multiplication operator between this XSDecimal and the
 supplied ResultSequence.</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence to perform a multiplication with</description>
					</attribute>
					<attribute name="@return">
						<description>A XSDecimal consisting of the result of the mathematical
         multiplication.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence to perform a multiplication with" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="div" returncomment="A XSDecimal consisting of the result of the mathematical
         division." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical division operator between this XSDecimal and the supplied
 ResultSequence.</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence to perform a division with</description>
					</attribute>
					<attribute name="@return">
						<description>A XSDecimal consisting of the result of the mathematical
         division.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence to perform a division with" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="idiv" returncomment="A XSInteger consisting of the result of the mathematical integer
         division." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical integer division operator between this XSDecimal and the
 supplied ResultSequence. Due to no numeric type promotion or conversion,
 the ResultSequence must be of type XSDecimal.</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence to perform an integer division with</description>
					</attribute>
					<attribute name="@return">
						<description>A XSInteger consisting of the result of the mathematical integer
         division.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence to perform an integer division with" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="mod" returncomment="A XSDecimal consisting of the result of the mathematical modulus." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical modulus operator between this XSDecimal and the supplied
 ResultSequence. Due to no numeric type promotion or conversion, the
 ResultSequence must be of type XSDecimal.</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence to perform a modulus with</description>
					</attribute>
					<attribute name="@return">
						<description>A XSDecimal consisting of the result of the mathematical modulus.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence to perform a modulus with" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="unary_minus" returncomment="A XSDecimal representing the negation of this XSDecimal" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Negation of the number stored</description>
					<attribute name="@return">
						<description>A XSDecimal representing the negation of this XSDecimal</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="abs" returncomment="A XSDecimal representing the absolute value of the number stored" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
				<comment>
					<description>Absolutes the number stored</description>
					<attribute name="@return">
						<description>A XSDecimal representing the absolute value of the number stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="ceiling" returncomment="A XSDecimal representing the smallest integer greater than the
         number stored" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
				<comment>
					<description>Returns the smallest integer greater than the number stored</description>
					<attribute name="@return">
						<description>A XSDecimal representing the smallest integer greater than the
         number stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="floor" returncomment="A XSDecimal representing the largest integer smaller than the
         number stored" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
				<comment>
					<description>Returns the largest integer smaller than the number stored</description>
					<attribute name="@return">
						<description>A XSDecimal representing the largest integer smaller than the
         number stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="round" returncomment="A XSDecimal representing the closest long of the number stored." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
				<comment>
					<description>Returns the closest integer of the number stored.</description>
					<attribute name="@return">
						<description>A XSDecimal representing the closest long of the number stored.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="round_half_to_even" returncomment="A XSDecimal representing the closest long of the number stored." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
				<comment>
					<description>Returns the closest integer of the number stored.</description>
					<attribute name="@return">
						<description>A XSDecimal representing the closest long of the number stored.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="round_half_to_even" returncomment="A XSDecimal representing the closest long of the number stored." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
				<comment>
					<description>Returns the closest integer of the number stored with the specified precision.</description>
					<attribute name="@param">
						<description>precision An integer precision</description>
					</attribute>
					<attribute name="@return">
						<description>A XSDecimal representing the closest long of the number stored.</description>
					</attribute>
				</comment>
				<params>
					<param name="precision" comment="An integer precision" fulltype="int" type="int" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="NumericType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDouble" type="XSDouble">
		<comment>
			<description>A representation of the Double datatype</description>
		</comment>
		<methods>
			<constructor visibility="public" name="XSDouble">
				<comment>
					<description>Initialises a representation of the supplied number</description>
					<attribute name="@param">
						<description>x
            Number to be stored</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="Number to be stored" fulltype="double" type="double" />
				</params>
			</constructor>
			<constructor visibility="public" name="XSDouble">
				<comment>
					<description>Initializes a representation of 0</description>
				</comment>
			</constructor>
			<constructor visibility="public" name="XSDouble">
				<comment>
					<description>Initialises using a String represented number</description>
					<attribute name="@param">
						<description>init
            String representation of the number to be stored</description>
					</attribute>
				</comment>
				<params>
					<param name="init" comment="String representation of the number to be stored" fulltype="java.lang.String" type="String" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</constructor>
			<method static="true" visibility="public" name="parse_double" returncomment="New XSDouble representing the number supplied" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDouble" type="XSDouble">
				<comment>
					<description>Creates a new representation of the String represented number</description>
					<attribute name="@param">
						<description>i
            String representation of the number to be stored</description>
					</attribute>
					<attribute name="@return">
						<description>New XSDouble representing the number supplied</description>
					</attribute>
				</comment>
				<params>
					<param name="i" comment="String representation of the number to be stored" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="constructor" returncomment="A new result sequence consisting of the double number supplied." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new result sequence consisting of the retrievable double number
 in the supplied result sequence</description>
					<attribute name="@param">
						<description>arg
            The result sequence from which to extract the double number.</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
					<attribute name="@return">
						<description>A new result sequence consisting of the double number supplied.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The result sequence from which to extract the double number." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="string_type" returncomment="&quot;xs:double&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:double&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;double&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;double&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="string_value" returncomment="String representation of the Decimal value stored" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the Decimal value stored</description>
					<attribute name="@return">
						<description>String representation of the Decimal value stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="nan" returncomment="True if this XSDouble represents NaN. False otherwise." fulltype="boolean" type="boolean">
				<comment>
					<description>Check for whether this XSDouble represents NaN</description>
					<attribute name="@return">
						<description>True if this XSDouble represents NaN. False otherwise.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="infinite" returncomment="True if this XSDouble represents infinity. False otherwise." fulltype="boolean" type="boolean">
				<comment>
					<description>Check for whether this XSDouble represents an infinite number (negative or positive)</description>
					<attribute name="@return">
						<description>True if this XSDouble represents infinity. False otherwise.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="zero" returncomment="True if this XSDouble represents 0. False otherwise." fulltype="boolean" type="boolean">
				<comment>
					<description>Check for whether this XSDouble represents 0</description>
					<attribute name="@return">
						<description>True if this XSDouble represents 0. False otherwise.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="negativeZero" fulltype="boolean" type="boolean" />
			<method visibility="public" name="double_value" returncomment="The actual value of the number stored" fulltype="double" type="double">
				<comment>
					<description>Retrieves the actual value of the number stored</description>
					<attribute name="@return">
						<description>The actual value of the number stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="eq" returncomment="True if the 2 representations represent the same number. False
         otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Equality comparison between this number and the supplied representation.</description>
					<attribute name="@param">
						<description>aa
            Representation to be compared with (must currently be of type
            XSDouble)</description>
					</attribute>
					<attribute name="@return">
						<description>True if the 2 representations represent the same number. False
         otherwise</description>
					</attribute>
					<attribute name="@since">
						<description>1.1</description>
					</attribute>
				</comment>
				<params>
					<param name="aa" comment="Representation to be compared with (must currently be of type
            XSDouble)" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="context" fulltype="org.eclipse.wst.xml.xpath2.processor.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.processor.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.processor.internal.types.AnyType" type="AnyType">
				<params>
					<param name="arg" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="lt" returncomment="True if the supplied type represents a number greater than this
         one stored. False otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Comparison between this number and the supplied representation. Currently
 no numeric type promotion exists so the supplied representation must be
 of type XSDouble.</description>
					<attribute name="@param">
						<description>arg
            Representation to be compared with (must currently be of type
            XSDouble)</description>
					</attribute>
					<attribute name="@return">
						<description>True if the supplied type represents a number greater than this
         one stored. False otherwise</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="Representation to be compared with (must currently be of type
            XSDouble)" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="context" fulltype="org.eclipse.wst.xml.xpath2.processor.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.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical addition operator between this XSDouble and the supplied
 ResultSequence.</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence to perform an addition with</description>
					</attribute>
					<attribute name="@return">
						<description>A XSDouble consisting of the result of the mathematical addition.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence to perform an addition with" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="minus" returncomment="A XSDouble consisting of the result of the mathematical
         subtraction." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical subtraction operator between this XSDouble and the supplied
 ResultSequence.</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence to perform an subtraction with</description>
					</attribute>
					<attribute name="@return">
						<description>A XSDouble consisting of the result of the mathematical
         subtraction.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence to perform an subtraction with" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="times" returncomment="A XSDouble consisting of the result of the mathematical
         multiplication." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical multiplication operator between this XSDouble and the
 supplied ResultSequence. Due to no numeric type promotion or conversion,
 the ResultSequence must be of type XSDouble.</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence to perform an multiplication with</description>
					</attribute>
					<attribute name="@return">
						<description>A XSDouble consisting of the result of the mathematical
         multiplication.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence to perform an multiplication with" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="div" returncomment="A XSDouble consisting of the result of the mathematical division." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical division operator between this XSDouble and the supplied
 ResultSequence.</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence to perform an division with</description>
					</attribute>
					<attribute name="@return">
						<description>A XSDouble consisting of the result of the mathematical division.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence to perform an division with" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="idiv" returncomment="A XSInteger consisting of the result of the mathematical integer
         division." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical integer division operator between this XSDouble and the
 supplied ResultSequence.</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence to perform an integer division with</description>
					</attribute>
					<attribute name="@return">
						<description>A XSInteger consisting of the result of the mathematical integer
         division.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence to perform an integer division with" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="mod" returncomment="A XSDouble consisting of the result of the mathematical modulus." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical modulus operator between this XSDouble and the supplied
 ResultSequence.</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence to perform a modulus with</description>
					</attribute>
					<attribute name="@return">
						<description>A XSDouble consisting of the result of the mathematical modulus.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence to perform a modulus with" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="unary_minus" returncomment="A XSDouble representing the negation of this XSDecimal" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Negation of the number stored</description>
					<attribute name="@return">
						<description>A XSDouble representing the negation of this XSDecimal</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="abs" returncomment="A XSDouble representing the absolute value of the number stored" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
				<comment>
					<description>Absolutes the number stored</description>
					<attribute name="@return">
						<description>A XSDouble representing the absolute value of the number stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="ceiling" returncomment="A XSDouble representing the smallest integer greater than the
         number stored" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
				<comment>
					<description>Returns the smallest integer greater than the number stored</description>
					<attribute name="@return">
						<description>A XSDouble representing the smallest integer greater than the
         number stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="floor" returncomment="A XSDouble representing the largest integer smaller than the
         number stored" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
				<comment>
					<description>Returns the largest integer smaller than the number stored</description>
					<attribute name="@return">
						<description>A XSDouble representing the largest integer smaller than the
         number stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="round" returncomment="A XSDouble representing the closest long of the number stored." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
				<comment>
					<description>Returns the closest integer of the number stored.</description>
					<attribute name="@return">
						<description>A XSDouble representing the closest long of the number stored.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="round_half_to_even" returncomment="A XSDouble representing the closest long of the number stored." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
				<comment>
					<description>Returns the closest integer of the number stored.</description>
					<attribute name="@return">
						<description>A XSDouble representing the closest long of the number stored.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="round_half_to_even" returncomment="A XSDouble representing the closest long of the number stored." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
				<comment>
					<description>Returns the closest integer of the number stored with the specified
 precision.</description>
					<attribute name="@param">
						<description>precision
            An integer precision</description>
					</attribute>
					<attribute name="@return">
						<description>A XSDouble representing the closest long of the number stored.</description>
					</attribute>
				</comment>
				<params>
					<param name="precision" comment="An integer precision" fulltype="int" type="int" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="CtrType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration">
		<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="string_value" returncomment="String representation of the duration stored" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the duration stored</description>
					<attribute name="@return">
						<description>String representation of the duration stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="days" returncomment="Number of days within the duration of time stored" fulltype="int" type="int">
				<comment>
					<description>Retrieves the number of days within the duration of time stored</description>
					<attribute name="@return">
						<description>Number of days within the duration of time stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="minutes" returncomment="Number of minutes within the duration of time stored" fulltype="int" type="int">
				<comment>
					<description>Retrieves the number of minutes (max 60) within the duration of time
 stored</description>
					<attribute name="@return">
						<description>Number of minutes within the duration of time stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="hours" returncomment="Number of hours within the duration of time stored" fulltype="int" type="int">
				<comment>
					<description>Retrieves the number of hours (max 24) within the duration of time stored</description>
					<attribute name="@return">
						<description>Number of hours within the duration of time stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="seconds" returncomment="Number of seconds within the duration of time stored" fulltype="double" type="double">
				<comment>
					<description>Retrieves the number of seconds (max 60) within the duration of time
 stored</description>
					<attribute name="@return">
						<description>Number of seconds within the duration of time stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="eq" returncomment="True if they both represent the duration of time. False otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Equality comparison between this and the supplied duration of time.</description>
					<attribute name="@param">
						<description>arg
            The duration of time to compare with</description>
					</attribute>
					<attribute name="@return">
						<description>True if they both represent the duration of time. False otherwise</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The duration of time to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="context" fulltype="org.eclipse.wst.xml.xpath2.processor.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.processor.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.processor.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.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the extractable time duration
 from the supplied ResultSequence</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which to extract</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the time duration extracted</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which to extract" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method static="true" visibility="public" name="parseDTDuration" returncomment="New XSDayTimeDuration representing the duration of time supplied" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration">
				<comment>
					<description>Creates a new XSDayTimeDuration by parsing the supplied String
 represented duration of time</description>
					<attribute name="@param">
						<description>str
            String represented duration of time</description>
					</attribute>
					<attribute name="@return">
						<description>New XSDayTimeDuration representing the duration of time supplied</description>
					</attribute>
				</comment>
				<params>
					<param name="str" comment="String represented duration of time" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="clone" fulltype="java.lang.Object" type="Object">
				<exceptions>
					<exception fulltype="java.lang.CloneNotSupportedException" type="CloneNotSupportedException" />
				</exceptions>
			</method>
			<method visibility="public" name="year" returncomment="Number of years within the duration of time stored" fulltype="int" type="int">
				<comment>
					<description>Retrieves the number of years within the duration of time stored</description>
					<attribute name="@return">
						<description>Number of years within the duration of time stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="month" returncomment="Number of months within the duration of time stored" fulltype="int" type="int">
				<comment>
					<description>Retrieves the number of months within the duration of time stored</description>
					<attribute name="@return">
						<description>Number of months within the duration of time stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="protected" name="isCastable" fulltype="boolean" type="boolean">
				<params>
					<param name="aat" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType" type="AnyAtomicType" />
				</params>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="XSNCName" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSNCName" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSEntity" type="XSEntity">
		<comment>
			<description>Built in Data Type for xs:Entity</description>
			<attribute name="@author">
				<description>dcarver</description>
			</attribute>
			<attribute name="@since">
				<description>1.1</description>
			</attribute>
		</comment>
		<methods>
			<constructor visibility="public" name="XSEntity" />
			<constructor visibility="public" name="XSEntity">
				<params>
					<param name="value" fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
			<method visibility="public" name="string_type" fulltype="java.lang.String" type="String" />
			<method visibility="public" name="type_name" fulltype="java.lang.String" type="String" />
			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the ENTITY supplied" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the ENTITY within
 the supplied ResultSequence.  The specification says that this
 is relaxed from the XML Schema requirement.  The ENTITY does
 not have to be located or expanded during construction and
 evaluation for casting.</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which to extract the ENTITY</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the ENTITY supplied</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which to extract the ENTITY" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="NumericType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSFloat" type="XSFloat">
		<comment>
			<description>A representation of the Float datatype</description>
		</comment>
		<methods>
			<constructor visibility="public" name="XSFloat">
				<comment>
					<description>Initiates a representation of the supplied number</description>
					<attribute name="@param">
						<description>x
            The number to be stored</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="The number to be stored" fulltype="float" type="float" />
				</params>
			</constructor>
			<constructor visibility="public" name="XSFloat">
				<comment>
					<description>Initiates a representation of 0</description>
				</comment>
			</constructor>
			<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="string_value" returncomment="String representation of the stored number" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the stored number</description>
					<attribute name="@return">
						<description>String representation of the stored number</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="nan" returncomment="True is this datatype represents NaN. False otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Check for whether this datatype represents NaN</description>
					<attribute name="@return">
						<description>True is this datatype represents NaN. False otherwise</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="infinite" returncomment="True is this datatype represents infinity. False otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Check for whether this datatype represents negative or positive infinity</description>
					<attribute name="@return">
						<description>True is this datatype represents infinity. False otherwise</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="zero" returncomment="True if this datatype represents 0. False otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Check for whether this datatype represents 0</description>
					<attribute name="@return">
						<description>True if this datatype represents 0. False otherwise</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="negativeZero" fulltype="boolean" type="boolean" />
			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the float supplied" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the retrievable float in the
 supplied ResultSequence</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which to extract the float</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the float supplied</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which to extract the float" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="float_value" returncomment="The actual float value stored" fulltype="float" type="float">
				<comment>
					<description>Retrieves the actual float value stored</description>
					<attribute name="@return">
						<description>The actual float value stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="eq" returncomment="True if the two representations are of the same number. False
         otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Equality comparison between this number and the supplied representation.</description>
					<attribute name="@param">
						<description>aa
            The datatype to compare with</description>
					</attribute>
					<attribute name="@return">
						<description>True if the two representations are of the same number. False
         otherwise</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="aa" comment="The datatype to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="context" fulltype="org.eclipse.wst.xml.xpath2.processor.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.processor.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.processor.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.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical addition operator between this XSFloat and the supplied
 ResultSequence.</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence to perform an addition with</description>
					</attribute>
					<attribute name="@return">
						<description>A XSFloat consisting of the result of the mathematical addition.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence to perform an addition with" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="minus" returncomment="A XSFloat consisting of the result of the mathematical
         subtraction." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical subtraction operator between this XSFloat and the supplied
 ResultSequence.</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence to perform a subtraction with</description>
					</attribute>
					<attribute name="@return">
						<description>A XSFloat consisting of the result of the mathematical
         subtraction.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence to perform a subtraction with" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="times" returncomment="A XSFloat consisting of the result of the mathematical
         multiplication." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical multiplication operator between this XSFloat and the
 supplied ResultSequence.</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence to perform a multiplication with</description>
					</attribute>
					<attribute name="@return">
						<description>A XSFloat consisting of the result of the mathematical
         multiplication.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence to perform a multiplication with" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="div" returncomment="A XSFloat consisting of the result of the mathematical division." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical division operator between this XSFloat and the supplied
 ResultSequence.</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence to perform a division with</description>
					</attribute>
					<attribute name="@return">
						<description>A XSFloat consisting of the result of the mathematical division.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence to perform a division with" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="idiv" returncomment="A XSInteger consisting of the result of the mathematical integer
         division." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical integer division operator between this XSFloat and the
 supplied ResultSequence.</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence to perform an integer division with</description>
					</attribute>
					<attribute name="@return">
						<description>A XSInteger consisting of the result of the mathematical integer
         division.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence to perform an integer division with" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="mod" returncomment="A XSFloat consisting of the result of the mathematical modulus." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical modulus operator between this XSFloat and the supplied
 ResultSequence. Due to no numeric type promotion or conversion, the
 ResultSequence must be of type XSFloat.</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence to perform a modulus with</description>
					</attribute>
					<attribute name="@return">
						<description>A XSFloat consisting of the result of the mathematical modulus.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence to perform a modulus with" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="unary_minus" returncomment="A XSFloat representing the negation of the number stored" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Negates the number stored</description>
					<attribute name="@return">
						<description>A XSFloat representing the negation of the number stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="abs" returncomment="A XSFloat representing the absolute value of the number stored" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
				<comment>
					<description>Absolutes the number stored</description>
					<attribute name="@return">
						<description>A XSFloat representing the absolute value of the number stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="ceiling" returncomment="A XSFloat representing the smallest integer greater than the
         number stored" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
				<comment>
					<description>Returns the smallest integer greater than the number stored</description>
					<attribute name="@return">
						<description>A XSFloat representing the smallest integer greater than the
         number stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="floor" returncomment="A XSFloat representing the largest integer smaller than the
         number stored" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
				<comment>
					<description>Returns the largest integer smaller than the number stored</description>
					<attribute name="@return">
						<description>A XSFloat representing the largest integer smaller than the
         number stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="round" returncomment="A XSFloat representing the closest long of the number stored." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
				<comment>
					<description>Returns the closest integer of the number stored.</description>
					<attribute name="@return">
						<description>A XSFloat representing the closest long of the number stored.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="round_half_to_even" returncomment="A XSFloat representing the closest long of the number stored." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
				<comment>
					<description>Returns the closest integer of the number stored.</description>
					<attribute name="@return">
						<description>A XSFloat representing the closest long of the number stored.</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="round_half_to_even" returncomment="A XSFloat representing the closest long of the number stored." fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
				<comment>
					<description>Returns the closest integer of the number stored with the specified precision.</description>
					<attribute name="@param">
						<description>precision An integer precision</description>
					</attribute>
					<attribute name="@return">
						<description>A XSFloat representing the closest long of the number stored.</description>
					</attribute>
				</comment>
				<params>
					<param name="precision" comment="An integer precision" fulltype="int" type="int" />
				</params>
			</method>
			<method visibility="protected" name="convertArg" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType">
				<params>
					<param name="arg" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="CalendarType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CalendarType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSGDay" type="XSGDay">
		<comment>
			<description>A representation of the Day datatype</description>
		</comment>
		<methods>
			<constructor visibility="public" name="XSGDay">
				<comment>
					<description>Initializes a representation of the supplied day</description>
					<attribute name="@param">
						<description>cal
            Calendar representation of the day to be stored</description>
					</attribute>
					<attribute name="@param">
						<description>tz
            Timezone associated with this day</description>
					</attribute>
				</comment>
				<params>
					<param name="cal" comment="Calendar representation of the day to be stored" fulltype="java.util.Calendar" type="Calendar" />
					<param name="tz" comment="Timezone associated with this day" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration" />
				</params>
			</constructor>
			<constructor visibility="public" name="XSGDay">
				<comment>
					<description>Initialises a representation of the current day</description>
				</comment>
			</constructor>
			<method visibility="public" name="type_name" returncomment="&quot;gDay&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;gDay&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method static="true" visibility="public" name="parse_gDay" returncomment="The XSGDay representation of the supplied date" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSGDay" type="XSGDay">
				<comment>
					<description>Parses a String representation of a day and constructs a new XSGDay
 representation of it.</description>
					<attribute name="@param">
						<description>str
            The String representation of the day (and optional timezone)</description>
					</attribute>
					<attribute name="@return">
						<description>The XSGDay representation of the supplied date</description>
					</attribute>
				</comment>
				<params>
					<param name="str" comment="The String representation of the day (and optional timezone)" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the supplied day" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the extractable gDay in the
 supplied ResultSequence</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which the gDay is to be extracted</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the supplied day</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which the gDay is to be extracted" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="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="string_value" returncomment="String representation of the stored day" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the stored day</description>
					<attribute name="@return">
						<description>String representation of the stored day</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="string_type" returncomment="&quot;xs:gDay&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:gDay&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="calendar" returncomment="Calendar representation of the day stored" fulltype="java.util.Calendar" type="Calendar">
				<comment>
					<description>Retrieves the Calendar representation of the day stored</description>
					<attribute name="@return">
						<description>Calendar representation of the day stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="eq" returncomment="True if the two representations are of the same day. False
         otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Equality comparison between this and the supplied representation. This
 representation must be of type XSGDay</description>
					<attribute name="@param">
						<description>arg
            The XSGDay to compare with</description>
					</attribute>
					<attribute name="@return">
						<description>True if the two representations are of the same day. False
         otherwise</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The XSGDay to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="context" fulltype="org.eclipse.wst.xml.xpath2.processor.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>
		</methods>
	</jelclass>
	<jelclass superclass="CalendarType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CalendarType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSGMonth" type="XSGMonth">
		<comment>
			<description>A representation of the gMonth datatype</description>
		</comment>
		<methods>
			<constructor visibility="public" name="XSGMonth">
				<comment>
					<description>Initializes a representation of the supplied month</description>
					<attribute name="@param">
						<description>cal
            Calendar representation of the month to be stored</description>
					</attribute>
					<attribute name="@param">
						<description>tz
            Timezone associated with this month</description>
					</attribute>
				</comment>
				<params>
					<param name="cal" comment="Calendar representation of the month to be stored" fulltype="java.util.Calendar" type="Calendar" />
					<param name="tz" comment="Timezone associated with this month" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration" />
				</params>
			</constructor>
			<constructor visibility="public" name="XSGMonth">
				<comment>
					<description>Initialises a representation of the current month</description>
				</comment>
			</constructor>
			<method visibility="public" name="type_name" returncomment="&quot;gMonth&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;gMonth&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method static="true" visibility="public" name="parse_gMonth" returncomment="The XSGMonth representation of the supplied date" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSGMonth" type="XSGMonth">
				<comment>
					<description>Parses a String representation of a month and constructs a new XSGMonth
 representation of it.</description>
					<attribute name="@param">
						<description>str
            The String representation of the month (and optional timezone)</description>
					</attribute>
					<attribute name="@return">
						<description>The XSGMonth representation of the supplied date</description>
					</attribute>
				</comment>
				<params>
					<param name="str" comment="The String representation of the month (and optional timezone)" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the supplied month" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the extractable gMonth in the
 supplied ResultSequence</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which the gMonth is to be extracted</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the supplied month</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which the gMonth is to be extracted" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="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="string_value" returncomment="String representation of the stored month" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the stored month</description>
					<attribute name="@return">
						<description>String representation of the stored month</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="string_type" returncomment="&quot;xs:gMonth&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:gMonth&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="calendar" returncomment="Calendar representation of the month stored" fulltype="java.util.Calendar" type="Calendar">
				<comment>
					<description>Retrieves the Calendar representation of the month stored</description>
					<attribute name="@return">
						<description>Calendar representation of the month stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="eq" returncomment="True if the two representations are of the same month. False
         otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Equality comparison between this and the supplied representation. This
 representation must be of type XSGMonth</description>
					<attribute name="@param">
						<description>arg
            The XSGMonth to compare with</description>
					</attribute>
					<attribute name="@return">
						<description>True if the two representations are of the same month. False
         otherwise</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The XSGMonth to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="context" fulltype="org.eclipse.wst.xml.xpath2.processor.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>
		</methods>
	</jelclass>
	<jelclass superclass="CalendarType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CalendarType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSGMonthDay" type="XSGMonthDay">
		<comment>
			<description>A representation of the MonthDay datatype</description>
		</comment>
		<methods>
			<constructor visibility="public" name="XSGMonthDay">
				<comment>
					<description>Initialises a representation of the supplied month and day</description>
					<attribute name="@param">
						<description>cal
            Calendar representation of the month and day to be stored</description>
					</attribute>
					<attribute name="@param">
						<description>tz
            Timezone associated with this month and day</description>
					</attribute>
				</comment>
				<params>
					<param name="cal" comment="Calendar representation of the month and day to be stored" fulltype="java.util.Calendar" type="Calendar" />
					<param name="tz" comment="Timezone associated with this month and day" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration" />
				</params>
			</constructor>
			<constructor visibility="public" name="XSGMonthDay">
				<comment>
					<description>Initialises a representation of the current month and day</description>
				</comment>
			</constructor>
			<method visibility="public" name="type_name" returncomment="&quot;gMonthDay&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;gMonthDay&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method static="true" visibility="public" name="parse_gMonthDay" returncomment="The XSGMonthDay representation of the supplied date" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSGMonthDay" type="XSGMonthDay">
				<comment>
					<description>Parses a String representation of a month and day and constructs a new
 XSGMonthDay representation of it.</description>
					<attribute name="@param">
						<description>str
            The String representation of the month and day (and optional
            timezone)</description>
					</attribute>
					<attribute name="@return">
						<description>The XSGMonthDay representation of the supplied date</description>
					</attribute>
				</comment>
				<params>
					<param name="str" comment="The String representation of the month and day (and optional
            timezone)" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the supplied month and day" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the extractable gMonthDay in
 the supplied ResultSequence</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which the gMonthDay is to be extracted</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the supplied month and day</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which the gMonthDay is to be extracted" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="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="string_value" returncomment="String representation of the stored month and day" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the stored month and day</description>
					<attribute name="@return">
						<description>String representation of the stored month and day</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="string_type" returncomment="&quot;xs:gMonthDay&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:gMonthDay&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="calendar" returncomment="Calendar representation of the month and day stored" fulltype="java.util.Calendar" type="Calendar">
				<comment>
					<description>Retrieves the Calendar representation of the month and day stored</description>
					<attribute name="@return">
						<description>Calendar representation of the month and day stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="eq" returncomment="True if the two representations are of the same month and day.
         False otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Equality comparison between this and the supplied representation. This
 representation must be of type XSGMonthDay</description>
					<attribute name="@param">
						<description>arg
            The XSGMonthDay to compare with</description>
					</attribute>
					<attribute name="@return">
						<description>True if the two representations are of the same month and day.
         False otherwise</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The XSGMonthDay to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="context" fulltype="org.eclipse.wst.xml.xpath2.processor.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>
		</methods>
	</jelclass>
	<jelclass superclass="CalendarType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CalendarType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSGYear" type="XSGYear">
		<comment>
			<description>A representation of the gMonth datatype</description>
		</comment>
		<methods>
			<constructor visibility="public" name="XSGYear">
				<comment>
					<description>Initialises a representation of the supplied month</description>
					<attribute name="@param">
						<description>cal
            Calendar representation of the month to be stored</description>
					</attribute>
					<attribute name="@param">
						<description>tz
            Timezone associated with this month</description>
					</attribute>
				</comment>
				<params>
					<param name="cal" comment="Calendar representation of the month to be stored" fulltype="java.util.Calendar" type="Calendar" />
					<param name="tz" comment="Timezone associated with this month" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration" />
				</params>
			</constructor>
			<constructor visibility="public" name="XSGYear">
				<comment>
					<description>Initialises a representation of the current year</description>
				</comment>
			</constructor>
			<method visibility="public" name="type_name" returncomment="&quot;gYear&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;gYear&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method static="true" visibility="public" name="parse_gYear" returncomment="The XSGYear representation of the supplied date" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSGYear" type="XSGYear">
				<comment>
					<description>Parses a String representation of a year and constructs a new XSGYear
 representation of it.</description>
					<attribute name="@param">
						<description>str
            The String representation of the year (and optional timezone)</description>
					</attribute>
					<attribute name="@return">
						<description>The XSGYear representation of the supplied date</description>
					</attribute>
				</comment>
				<params>
					<param name="str" comment="The String representation of the year (and optional timezone)" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the supplied year" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the extractable gYear in the
 supplied ResultSequence</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which the gYear is to be extracted</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the supplied year</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which the gYear is to be extracted" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="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="string_value" returncomment="String representation of the stored year" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the stored year</description>
					<attribute name="@return">
						<description>String representation of the stored year</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="string_type" returncomment="&quot;xs:gYear&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:gYear&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="calendar" returncomment="Calendar representation of the year stored" fulltype="java.util.Calendar" type="Calendar">
				<comment>
					<description>Retrieves the Calendar representation of the year stored</description>
					<attribute name="@return">
						<description>Calendar representation of the year stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="eq" returncomment="True if the two representations are of the same year. False
         otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Equality comparison between this and the supplied representation. This
 representation must be of type XSGYear</description>
					<attribute name="@param">
						<description>arg
            The XSGYear to compare with</description>
					</attribute>
					<attribute name="@return">
						<description>True if the two representations are of the same year. False
         otherwise</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The XSGYear to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="context" fulltype="org.eclipse.wst.xml.xpath2.processor.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>
		</methods>
	</jelclass>
	<jelclass superclass="CalendarType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CalendarType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSGYearMonth" type="XSGYearMonth">
		<comment>
			<description>A representation of the YearMonth datatype</description>
		</comment>
		<methods>
			<constructor visibility="public" name="XSGYearMonth">
				<comment>
					<description>Initialises a representation of the supplied year and month</description>
					<attribute name="@param">
						<description>cal
            Calendar representation of the year and month to be stored</description>
					</attribute>
					<attribute name="@param">
						<description>tz
            Timezone associated with this year and month</description>
					</attribute>
				</comment>
				<params>
					<param name="cal" comment="Calendar representation of the year and month to be stored" fulltype="java.util.Calendar" type="Calendar" />
					<param name="tz" comment="Timezone associated with this year and month" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration" />
				</params>
			</constructor>
			<constructor visibility="public" name="XSGYearMonth">
				<comment>
					<description>Initialises a representation of the current year and month</description>
				</comment>
			</constructor>
			<method visibility="public" name="type_name" returncomment="&quot;gYearMonth&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;gYearMonth&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method static="true" visibility="public" name="parse_gYearMonth" returncomment="The XSGYearMonth representation of the supplied date" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSGYearMonth" type="XSGYearMonth">
				<comment>
					<description>Parses a String representation of a year and month and constructs a new
 XSGYearMonth representation of it.</description>
					<attribute name="@param">
						<description>str
            The String representation of the year and month (and optional
            timezone)</description>
					</attribute>
					<attribute name="@return">
						<description>The XSGYearMonth representation of the supplied date</description>
					</attribute>
				</comment>
				<params>
					<param name="str" comment="The String representation of the year and month (and optional
            timezone)" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the supplied year and month" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the extractable gYearMonth in
 the supplied ResultSequence</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which the gYearMonth is to be
            extracted</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the supplied year and month</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which the gYearMonth is to be
            extracted" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="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="string_value" returncomment="String representation of the stored year and month" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the stored year and month</description>
					<attribute name="@return">
						<description>String representation of the stored year and month</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="string_type" returncomment="&quot;xs:gYearMonth&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:gYearMonth&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="calendar" returncomment="Calendar representation of the year and month stored" fulltype="java.util.Calendar" type="Calendar">
				<comment>
					<description>Retrieves the Calendar representation of the year and month stored</description>
					<attribute name="@return">
						<description>Calendar representation of the year and month stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="eq" returncomment="True if the two representations are of the same year and month.
         False otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Equality comparison between this and the supplied representation. This
 representation must be of type XSGYearMonth</description>
					<attribute name="@param">
						<description>arg
            The XSGYearMonth to compare with</description>
					</attribute>
					<attribute name="@return">
						<description>True if the two representations are of the same year and month.
         False otherwise</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The XSGYearMonth to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="context" fulltype="org.eclipse.wst.xml.xpath2.processor.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>
		</methods>
	</jelclass>
	<jelclass superclass="CtrType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSHexBinary" type="XSHexBinary">
		<comment>
			<description>A representation of the xs:hexBinary datatype</description>
		</comment>
		<methods>
			<constructor visibility="public" name="XSHexBinary">
				<comment>
					<description>Initialises using the supplied String</description>
					<attribute name="@param">
						<description>x
            The String to initialise to</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="The String to initialise to" fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
			<constructor visibility="public" name="XSHexBinary">
				<comment>
					<description>Initialises to null</description>
				</comment>
			</constructor>
			<method visibility="public" name="string_type" returncomment="&quot;xs:hexBinary&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:hexBinary&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;hexBinary&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;hexBinary&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="string_value" returncomment="The hexBinary stored" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the base64Binary stored. This method is
 functionally identical to value()</description>
					<attribute name="@return">
						<description>The hexBinary stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="value" returncomment="The hexBinary stored" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the hexBinary stored. This method is
 functionally identical to string_value()</description>
					<attribute name="@return">
						<description>The hexBinary stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="constructor" returncomment="New ResultSequence representing hexBinary value" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the hexBinary value</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which to construct hexBinary value</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence representing hexBinary value</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which to construct hexBinary value" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="eq" returncomment="True if the two representation are same. False otherwise." fulltype="boolean" type="boolean">
				<comment>
					<description>Equality comparison between this and the supplied representation which
 must be of type hexBinary</description>
					<attribute name="@param">
						<description>arg
            The representation to compare with</description>
					</attribute>
					<attribute name="@return">
						<description>True if the two representation are same. False otherwise.</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The representation to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="context" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicContext" type="DynamicContext" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="XSNCName" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSNCName" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSID" type="XSID">
		<methods>
			<constructor visibility="public" name="XSID">
				<params>
					<param name="x" fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
			<constructor visibility="public" name="XSID" />
			<method visibility="public" name="string_type" fulltype="java.lang.String" type="String" />
			<method visibility="public" name="type_name" fulltype="java.lang.String" type="String" />
			<method visibility="public" name="constructor" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<params>
					<param name="arg" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="XSNCName" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSNCName" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSIDREF" type="XSIDREF">
		<methods>
			<constructor visibility="public" name="XSIDREF">
				<params>
					<param name="x" fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
			<constructor visibility="public" name="XSIDREF" />
			<method visibility="public" name="string_type" fulltype="java.lang.String" type="String" />
			<method visibility="public" name="type_name" fulltype="java.lang.String" type="String" />
			<method visibility="public" name="constructor" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<params>
					<param name="arg" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="XSLong" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSLong" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSInt" type="XSInt">
		<methods>
			<constructor visibility="public" name="XSInt">
				<comment>
					<description>Initializes a representation of 0</description>
				</comment>
			</constructor>
			<constructor visibility="public" name="XSInt">
				<comment>
					<description>Initializes a representation of the supplied int value</description>
					<attribute name="@param">
						<description>x
            Int to be stored</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="Int to be stored" fulltype="java.math.BigInteger" type="BigInteger" />
				</params>
			</constructor>
			<method visibility="public" name="string_type" returncomment="&quot;xs:int&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:int&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;int&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;int&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the &apos;int&apos; supplied" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the extractable &apos;int&apos; in the
 supplied ResultSequence</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which the int is to be extracted</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the &apos;int&apos; supplied</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which the int is to be extracted" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="XSDecimal" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDecimal" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger" type="XSInteger">
		<comment>
			<description>A representation of the Integer datatype</description>
		</comment>
		<methods>
			<constructor visibility="public" name="XSInteger">
				<comment>
					<description>Initializes a representation of 0</description>
				</comment>
			</constructor>
			<constructor visibility="public" name="XSInteger">
				<comment>
					<description>Initializes a representation of the supplied integer</description>
					<attribute name="@param">
						<description>x
            Integer to be stored</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="Integer to be stored" fulltype="java.math.BigInteger" type="BigInteger" />
				</params>
			</constructor>
			<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="string_value" returncomment="String representation of the integer stored" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the integer stored</description>
					<attribute name="@return">
						<description>String representation of the integer stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="zero" returncomment="True is the integer represented is 0. False otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Check whether the integer represented is 0</description>
					<attribute name="@return">
						<description>True is the integer represented is 0. False otherwise</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the integer supplied" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the extractable integer in the
 supplied ResultSequence</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which the integer is to be extracted</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the integer supplied</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which the integer is to be extracted" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="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.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical addition operator between this XSInteger and the supplied
 ResultSequence.</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence to perform an addition with</description>
					</attribute>
					<attribute name="@return">
						<description>A XSInteger consisting of the result of the mathematical
         addition.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence to perform an addition with" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="minus" returncomment="A XSInteger consisting of the result of the mathematical
         subtraction." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical subtraction operator between this XSInteger and the supplied
 ResultSequence.</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence to perform a subtraction with</description>
					</attribute>
					<attribute name="@return">
						<description>A XSInteger consisting of the result of the mathematical
         subtraction.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence to perform a subtraction with" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="times" returncomment="A XSInteger consisting of the result of the mathematical
         multiplication." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical multiplication operator between this XSInteger and the
 supplied ResultSequence.</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence to perform a multiplication with</description>
					</attribute>
					<attribute name="@return">
						<description>A XSInteger consisting of the result of the mathematical
         multiplication.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence to perform a multiplication with" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="mod" returncomment="A XSInteger consisting of the result of the mathematical modulus." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical modulus operator between this XSInteger and the supplied
 ResultSequence.</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence to perform a modulus with</description>
					</attribute>
					<attribute name="@return">
						<description>A XSInteger consisting of the result of the mathematical modulus.</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence to perform a modulus with" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="unary_minus" returncomment="New XSInteger representing the negation of the integer stored" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Negates the integer stored</description>
					<attribute name="@return">
						<description>New XSInteger representing the negation of the integer stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="abs" returncomment="New XSInteger representing the absolute of the integer stored" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType" type="NumericType">
				<comment>
					<description>Absolutes the integer stored</description>
					<attribute name="@return">
						<description>New XSInteger representing the absolute of the integer stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="gt" fulltype="boolean" type="boolean">
				<params>
					<param name="arg" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="context" fulltype="org.eclipse.wst.xml.xpath2.processor.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.processor.internal.types.AnyType" type="AnyType">
				<params>
					<param name="arg" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="lt" fulltype="boolean" type="boolean">
				<params>
					<param name="arg" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="context" fulltype="org.eclipse.wst.xml.xpath2.processor.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.processor.ResultSequence" type="ResultSequence">
				<params>
					<param name="arg" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="XSInteger" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSLong" type="XSLong">
		<methods>
			<constructor visibility="public" name="XSLong">
				<comment>
					<description>Initializes a representation of 0</description>
				</comment>
			</constructor>
			<constructor visibility="public" name="XSLong">
				<comment>
					<description>Initializes a representation of the supplied long value</description>
					<attribute name="@param">
						<description>x
            Long to be stored</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="Long to be stored" fulltype="java.math.BigInteger" type="BigInteger" />
				</params>
			</constructor>
			<method visibility="public" name="string_type" returncomment="&quot;xs:long&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:long&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;long&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;long&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the &apos;long&apos; supplied" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the extractable long in the
 supplied ResultSequence</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which the long is to be extracted</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the &apos;long&apos; supplied</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which the long is to be extracted" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="XSString" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSString" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSNCName" type="XSNCName">
		<comment>
			<description>A representation of the NCName datatype</description>
		</comment>
		<methods>
			<constructor visibility="public" name="XSNCName">
				<comment>
					<description>Initialises using the supplied String</description>
					<attribute name="@param">
						<description>x
            String to be stored</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="String to be stored" fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
			<constructor visibility="public" name="XSNCName">
				<comment>
					<description>Initialises to null</description>
				</comment>
			</constructor>
			<method visibility="public" name="string_type" returncomment="&quot;xs:NCName&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:NCName&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;NCName&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;NCName&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the NCName supplied" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the extractable NCName within
 the supplied ResultSequence</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which to extract the NCName</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the NCName supplied</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which to extract the NCName" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="XSNonPositiveInteger" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSNonPositiveInteger" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSNegativeInteger" type="XSNegativeInteger">
		<methods>
			<constructor visibility="public" name="XSNegativeInteger">
				<comment>
					<description>Initializes a representation of -1</description>
				</comment>
			</constructor>
			<constructor visibility="public" name="XSNegativeInteger">
				<comment>
					<description>Initializes a representation of the supplied negativeInteger value</description>
					<attribute name="@param">
						<description>x
            negativeInteger to be stored</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="negativeInteger to be stored" fulltype="java.math.BigInteger" type="BigInteger" />
				</params>
			</constructor>
			<method visibility="public" name="string_type" returncomment="&quot;xs:negativeInteger&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:negativeInteger&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;negativeInteger&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;negativeInteger&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the &apos;negativeInteger&apos; supplied" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the extractable negativeInteger
 in the supplied ResultSequence</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which the negativeInteger is to be extracted</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the &apos;negativeInteger&apos; supplied</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which the negativeInteger is to be extracted" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="XSInteger" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSNonNegativeInteger" type="XSNonNegativeInteger">
		<methods>
			<constructor visibility="public" name="XSNonNegativeInteger">
				<comment>
					<description>Initializes a representation of 0</description>
				</comment>
			</constructor>
			<constructor visibility="public" name="XSNonNegativeInteger">
				<comment>
					<description>Initializes a representation of the supplied nonNegativeInteger value</description>
					<attribute name="@param">
						<description>x
            nonNegativeInteger to be stored</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="nonNegativeInteger to be stored" fulltype="java.math.BigInteger" type="BigInteger" />
				</params>
			</constructor>
			<method visibility="public" name="string_type" returncomment="&quot;xs:nonNegativeInteger&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:nonNegativeInteger&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;nonNegativeInteger&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;nonNegativeInteger&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the &apos;nonNegativeInteger&apos; supplied" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the extractable nonNegativeInteger
 in the supplied ResultSequence</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which the nonNegativeInteger is to be extracted</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the &apos;nonNegativeInteger&apos; supplied</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which the nonNegativeInteger is to be extracted" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="XSInteger" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSNonPositiveInteger" type="XSNonPositiveInteger">
		<methods>
			<constructor visibility="public" name="XSNonPositiveInteger">
				<comment>
					<description>Initializes a representation of 0</description>
				</comment>
			</constructor>
			<constructor visibility="public" name="XSNonPositiveInteger">
				<comment>
					<description>Initializes a representation of the supplied nonPositiveInteger value</description>
					<attribute name="@param">
						<description>x
            nonPositiveInteger to be stored</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="nonPositiveInteger to be stored" fulltype="java.math.BigInteger" type="BigInteger" />
				</params>
			</constructor>
			<method visibility="public" name="string_type" returncomment="&quot;xs:nonPositiveInteger&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:nonPositiveInteger&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;nonPositiveInteger&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;nonPositiveInteger&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the &apos;nonPositiveInteger&apos; supplied" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the extractable nonPositiveInteger
 in the supplied ResultSequence</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which the nonPositiveInteger is to be extracted</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the &apos;nonPositiveInteger&apos; supplied</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which the nonPositiveInteger is to be extracted" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="CtrType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSNotation" type="XSNotation">
		<methods>
			<constructor visibility="public" name="XSNotation" />
			<method visibility="public" name="string_type" fulltype="java.lang.String" type="String" />
			<method visibility="public" name="string_value" fulltype="java.lang.String" type="String" />
			<method visibility="public" name="constructor" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<params>
					<param name="arg" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="type_name" fulltype="java.lang.String" type="String" />
		</methods>
	</jelclass>
	<jelclass superclass="XSNonNegativeInteger" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSNonNegativeInteger" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSPositiveInteger" type="XSPositiveInteger">
		<methods>
			<constructor visibility="public" name="XSPositiveInteger">
				<comment>
					<description>Initializes a representation of 1</description>
				</comment>
			</constructor>
			<constructor visibility="public" name="XSPositiveInteger">
				<comment>
					<description>Initializes a representation of the supplied positiveInteger value</description>
					<attribute name="@param">
						<description>x
            positiveInteger to be stored</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="positiveInteger to be stored" fulltype="java.math.BigInteger" type="BigInteger" />
				</params>
			</constructor>
			<method visibility="public" name="string_type" returncomment="&quot;xs:positiveInteger&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:positiveInteger&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;positiveInteger&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;positiveInteger&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the &apos;positiveInteger&apos; supplied" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the extractable positiveInteger
 in the supplied ResultSequence</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which the positiveInteger is to be extracted</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the &apos;positiveInteger&apos; supplied</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which the positiveInteger is to be extracted" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="XSInt" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSInt" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSShort" type="XSShort">
		<methods>
			<constructor visibility="public" name="XSShort">
				<comment>
					<description>Initializes a representation of 0</description>
				</comment>
			</constructor>
			<constructor visibility="public" name="XSShort">
				<comment>
					<description>Initializes a representation of the supplied short value</description>
					<attribute name="@param">
						<description>x
            Short to be stored</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="Short to be stored" fulltype="java.math.BigInteger" type="BigInteger" />
				</params>
			</constructor>
			<method visibility="public" name="string_type" returncomment="&quot;xs:short&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:short&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;short&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;short&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the &apos;short&apos; supplied" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the extractable &apos;short&apos; in the
 supplied ResultSequence</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which the short is to be extracted</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the &apos;short&apos; supplied</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which the short is to be extracted" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="CtrType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSString" type="XSString">
		<comment>
			<description>A representation of the String datatype</description>
		</comment>
		<methods>
			<constructor visibility="public" name="XSString">
				<comment>
					<description>Initialises using the supplied String</description>
					<attribute name="@param">
						<description>x
            The String to initialise to</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="The String to initialise to" fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
			<constructor visibility="public" name="XSString">
				<comment>
					<description>Initialises to null</description>
				</comment>
			</constructor>
			<method visibility="public" name="string_type" returncomment="&quot;xs:string&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:string&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;string&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;string&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="string_value" returncomment="The String stored" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the string stored. This method is
 functionally identical to value()</description>
					<attribute name="@return">
						<description>The String stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="value" returncomment="The String stored" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the string stored. This method is
 functionally identical to string_value()</description>
					<attribute name="@return">
						<description>The String stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the supplied String" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the extractable String in the
 supplied ResultSequence</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which to extract the String</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the supplied String</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which to extract the String" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="eq" returncomment="True if the two representation are of the same String. False
         otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Equality comparison between this and the supplied representation which
 must be of type String</description>
					<attribute name="@param">
						<description>arg
            The representation to compare with</description>
					</attribute>
					<attribute name="@return">
						<description>True if the two representation are of the same String. False
         otherwise</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The representation to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="context" fulltype="org.eclipse.wst.xml.xpath2.processor.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.processor.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.processor.DynamicContext" type="DynamicContext" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="CalendarType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CalendarType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSTime" type="XSTime">
		<implements>
			<interface fulltype="java.lang.Cloneable" type="Cloneable" />
		</implements>
		<comment>
			<description>A representation of the Time datatype</description>
		</comment>
		<methods>
			<constructor visibility="public" name="XSTime">
				<comment>
					<description>Initialises to the supplied time and timezone</description>
					<attribute name="@param">
						<description>cal
            Calendar representation of the time to be stored</description>
					</attribute>
					<attribute name="@param">
						<description>tz
            The timezone (possibly null) associated with this time</description>
					</attribute>
				</comment>
				<params>
					<param name="cal" comment="Calendar representation of the time to be stored" fulltype="java.util.Calendar" type="Calendar" />
					<param name="tz" comment="The timezone (possibly null) associated with this time" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration" />
				</params>
			</constructor>
			<constructor visibility="public" name="XSTime">
				<comment>
					<description>Initialises to the current time</description>
				</comment>
			</constructor>
			<method visibility="public" name="clone" returncomment="New XSTime representing the copy of the time and timezone" fulltype="java.lang.Object" type="Object">
				<comment>
					<description>Creates a new copy of the time (and timezone) stored</description>
					<attribute name="@return">
						<description>New XSTime representing the copy of the time and timezone</description>
					</attribute>
					<attribute name="@throws">
						<description>CloneNotSupportedException</description>
					</attribute>
				</comment>
				<exceptions>
					<exception comment="" fulltype="java.lang.CloneNotSupportedException" type="CloneNotSupportedException" />
				</exceptions>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;time&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;time&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method static="true" visibility="public" name="parse_time" returncomment="New XSTime representing the supplied time" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.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.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the extractable time from the
 supplied ResultSequence</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which to extract the time</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the supplied time</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which to extract the time" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="hour" returncomment="The hour stored" fulltype="int" type="int">
				<comment>
					<description>Retrieves the hour stored as an integer</description>
					<attribute name="@return">
						<description>The hour stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="minute" returncomment="The minute stored" fulltype="int" type="int">
				<comment>
					<description>Retrieves the minute stored as an integer</description>
					<attribute name="@return">
						<description>The minute stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="second" returncomment="The second stored" fulltype="double" type="double">
				<comment>
					<description>Retrieves the seconds stored as an integer</description>
					<attribute name="@return">
						<description>The second stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="timezoned" returncomment="True if the time has a timezone associated. False otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Check for whether the time stored has a timezone associated with it</description>
					<attribute name="@return">
						<description>True if the time has a timezone associated. False otherwise</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="string_value" returncomment="String representation of the time stored" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the time stored</description>
					<attribute name="@return">
						<description>String representation of the time stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="string_type" returncomment="&quot;xs:time&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:time&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="calendar" returncomment="Calendar representation of the time stored" fulltype="java.util.Calendar" type="Calendar">
				<comment>
					<description>Retrieves a Calendar representation of time stored</description>
					<attribute name="@return">
						<description>Calendar representation of the time stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="tz" returncomment="The duration of time between the time stored and the actual time
         after the timezone is taken into account" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration">
				<comment>
					<description>Retrieves the timezone associated with the time stored as a duration of
 time</description>
					<attribute name="@return">
						<description>The duration of time between the time stored and the actual time
         after the timezone is taken into account</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="value" returncomment="time stored in milliseconds since the epoch" fulltype="double" type="double">
				<comment>
					<description>Retrieves the time in milliseconds since the epoch</description>
					<attribute name="@return">
						<description>time stored in milliseconds since the epoch</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="eq" returncomment="True if both XSTime&apos;s represent the same time. False otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Equality comparison between this and the supplied XSTime representation</description>
					<attribute name="@param">
						<description>arg
            The XSTime to compare with</description>
					</attribute>
					<attribute name="@return">
						<description>True if both XSTime&apos;s represent the same time. False otherwise</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The XSTime to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="context" fulltype="org.eclipse.wst.xml.xpath2.processor.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.processor.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.processor.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.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical subtraction between this time stored and the supplied
 representation. This supplied representation must be of either type
 XSTime (in which case the result is the duration of time between these
 two times) or a 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.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="plus" returncomment="A XSTime representing the result of this addition." fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical addition between this time stored and the supplied time
 duration.</description>
					<attribute name="@param">
						<description>arg
            A XDTDayTimeDuration representation of the duration of time to
            add</description>
					</attribute>
					<attribute name="@return">
						<description>A XSTime representing the result of this addition.</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="A XDTDayTimeDuration representation of the duration of time to
            add" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="XSUnsignedShort" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSUnsignedShort" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSUnsignedByte" type="XSUnsignedByte">
		<methods>
			<constructor visibility="public" name="XSUnsignedByte">
				<comment>
					<description>Initializes a representation of 0</description>
				</comment>
			</constructor>
			<constructor visibility="public" name="XSUnsignedByte">
				<comment>
					<description>Initializes a representation of the supplied unsignedByte value</description>
					<attribute name="@param">
						<description>x
            unsignedByte to be stored</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="unsignedByte to be stored" fulltype="java.math.BigInteger" type="BigInteger" />
				</params>
			</constructor>
			<method visibility="public" name="string_type" returncomment="&quot;xs:unsignedByte&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:unsignedByte&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;unsignedByte&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;unsignedByte&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the &apos;unsignedByte&apos; supplied" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the extractable unsignedByte
 in the supplied ResultSequence</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which the unsignedByte is to be extracted</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the &apos;unsignedByte&apos; supplied</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which the unsignedByte is to be extracted" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="XSUnsignedLong" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSUnsignedLong" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSUnsignedInt" type="XSUnsignedInt">
		<methods>
			<constructor visibility="public" name="XSUnsignedInt">
				<comment>
					<description>Initializes a representation of 0</description>
				</comment>
			</constructor>
			<constructor visibility="public" name="XSUnsignedInt">
				<comment>
					<description>Initializes a representation of the supplied unsignedInt value</description>
					<attribute name="@param">
						<description>x
            unsignedInt to be stored</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="unsignedInt to be stored" fulltype="java.math.BigInteger" type="BigInteger" />
				</params>
			</constructor>
			<method visibility="public" name="string_type" returncomment="&quot;xs:unsignedInt&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:unsignedInt&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;unsignedInt&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;unsignedInt&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the &apos;unsignedInt&apos; supplied" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the extractable unsignedInt
 in the supplied ResultSequence</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which the unsignedInt is to be extracted</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the &apos;unsignedInt&apos; supplied</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which the unsignedInt is to be extracted" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="XSNonNegativeInteger" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSNonNegativeInteger" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSUnsignedLong" type="XSUnsignedLong">
		<methods>
			<constructor visibility="public" name="XSUnsignedLong">
				<comment>
					<description>Initializes a representation of 0</description>
				</comment>
			</constructor>
			<constructor visibility="public" name="XSUnsignedLong">
				<comment>
					<description>Initializes a representation of the supplied unsignedLong value</description>
					<attribute name="@param">
						<description>x
            unsignedLong to be stored</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="unsignedLong to be stored" fulltype="java.math.BigInteger" type="BigInteger" />
				</params>
			</constructor>
			<method visibility="public" name="string_type" returncomment="&quot;xs:unsignedLong&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:unsignedLong&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;unsignedLong&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;unsignedLong&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the &apos;unsignedLong&apos; supplied" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the extractable unsignedLong
 in the supplied ResultSequence</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which the unsignedLong is to be extracted</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the &apos;unsignedLong&apos; supplied</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which the unsignedLong is to be extracted" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="XSUnsignedInt" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSUnsignedInt" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSUnsignedShort" type="XSUnsignedShort">
		<methods>
			<constructor visibility="public" name="XSUnsignedShort">
				<comment>
					<description>Initializes a representation of 0</description>
				</comment>
			</constructor>
			<constructor visibility="public" name="XSUnsignedShort">
				<comment>
					<description>Initializes a representation of the supplied unsignedShort value</description>
					<attribute name="@param">
						<description>x
            unsignedShort to be stored</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="unsignedShort to be stored" fulltype="java.math.BigInteger" type="BigInteger" />
				</params>
			</constructor>
			<method visibility="public" name="string_type" returncomment="&quot;xs:unsignedShort&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:unsignedShort&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;unsignedShort&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;unsignedShort&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the &apos;unsignedShort&apos; supplied" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the extractable unsignedShort
 in the supplied ResultSequence</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which the unsignedShort is to be extracted</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the &apos;unsignedShort&apos; supplied</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which the unsignedShort is to be extracted" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
		</methods>
	</jelclass>
	<jelclass superclass="CtrType" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSUntypedAtomic" type="XSUntypedAtomic">
		<comment>
			<description>A representation of the UntypedAtomic datatype which is used to represent
 untyped atomic nodes.</description>
		</comment>
		<methods>
			<constructor visibility="public" name="XSUntypedAtomic" />
			<constructor visibility="public" name="XSUntypedAtomic">
				<comment>
					<description>Initialises using the supplied String</description>
					<attribute name="@param">
						<description>x
            The String representation of the value of the untyped atomic
            node</description>
					</attribute>
				</comment>
				<params>
					<param name="x" comment="The String representation of the value of the untyped atomic
            node" fulltype="java.lang.String" type="String" />
				</params>
			</constructor>
			<method visibility="public" name="string_type" returncomment="&quot;xs:untypedAtomic&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:untypedAtomic&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="string_value" returncomment="String representation of the value of this untyped atomic node" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the value of this untyped atomic
 node</description>
					<attribute name="@return">
						<description>String representation of the value of this untyped atomic node</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="constructor" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<params>
					<param name="arg" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="type_name" fulltype="java.lang.String" type="String" />
		</methods>
	</jelclass>
	<jelclass superclass="XSDuration" visibility="public" package="org.eclipse.wst.xml.xpath2.processor.internal.types" superclassfulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSYearMonthDuration" type="XSYearMonthDuration">
		<comment>
			<description>A representation of the YearMonthDuration datatype</description>
		</comment>
		<methods>
			<constructor visibility="public" name="XSYearMonthDuration">
				<comment>
					<description>Initialises using the supplied parameters. If the number of months
 supplied is more than 12, the number of years is adjusted accordingly.</description>
					<attribute name="@param">
						<description>year
            Number of years in this duration of time</description>
					</attribute>
					<attribute name="@param">
						<description>month
            Number of months in this duration of time</description>
					</attribute>
					<attribute name="@param">
						<description>negative
            True if this duration of time represents a backwards passage
            through time. False otherwise</description>
					</attribute>
				</comment>
				<params>
					<param name="year" comment="Number of years in this duration of time" fulltype="int" type="int" />
					<param name="month" comment="Number of months in this duration of time" fulltype="int" type="int" />
					<param name="negative" comment="True if this duration of time represents a backwards passage
            through time. False otherwise" fulltype="boolean" type="boolean" />
				</params>
			</constructor>
			<constructor visibility="public" name="XSYearMonthDuration">
				<comment>
					<description>Initialises to the given number of months</description>
					<attribute name="@param">
						<description>months
            Number of months in the duration of time</description>
					</attribute>
				</comment>
				<params>
					<param name="months" comment="Number of months in the duration of time" fulltype="int" type="int" />
				</params>
			</constructor>
			<constructor visibility="public" name="XSYearMonthDuration">
				<comment>
					<description>Initialises to a duration of no time (0years and 0months)</description>
				</comment>
			</constructor>
			<method static="true" visibility="public" name="parseYMDuration" returncomment="New XSYearMonthDuration representing the duration of time
         supplied" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration" type="XSDuration">
				<comment>
					<description>Creates a new XSYearMonthDuration by parsing the supplied String
 represented duration of time</description>
					<attribute name="@param">
						<description>str
            String represented duration of time</description>
					</attribute>
					<attribute name="@return">
						<description>New XSYearMonthDuration representing the duration of time
         supplied</description>
					</attribute>
				</comment>
				<params>
					<param name="str" comment="String represented duration of time" fulltype="java.lang.String" type="String" />
				</params>
			</method>
			<method visibility="public" name="type_name" returncomment="&quot;yearMonthDuration&quot; which is the datatype&apos;s name" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrives the datatype&apos;s name</description>
					<attribute name="@return">
						<description>&quot;yearMonthDuration&quot; which is the datatype&apos;s name</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="constructor" returncomment="New ResultSequence consisting of the time duration extracted" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Creates a new ResultSequence consisting of the extractable time duration
 from the supplied ResultSequence</description>
					<attribute name="@param">
						<description>arg
            The ResultSequence from which to extract</description>
					</attribute>
					<attribute name="@return">
						<description>New ResultSequence consisting of the time duration extracted</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The ResultSequence from which to extract" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="negative" returncomment="True if this duration represents a backward passage through time.
         False otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Retrieves whether this duration represents a backward passage through
 time</description>
					<attribute name="@return">
						<description>True if this duration represents a backward passage through time.
         False otherwise</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="string_value" returncomment="String representation of the duration of time stored" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves a String representation of the duration of time stored</description>
					<attribute name="@return">
						<description>String representation of the duration of time stored</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="string_type" returncomment="&quot;xs:yearMonthDuration&quot; which is the datatype&apos;s full pathname" fulltype="java.lang.String" type="String">
				<comment>
					<description>Retrieves the datatype&apos;s full pathname</description>
					<attribute name="@return">
						<description>&quot;xs:yearMonthDuration&quot; which is the datatype&apos;s full pathname</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="monthValue" returncomment="Number of months making up this duration of time" fulltype="int" type="int">
				<comment>
					<description>Retrieves the duration of time stored as the number of months within it</description>
					<attribute name="@return">
						<description>Number of months making up this duration of time</description>
					</attribute>
				</comment>
			</method>
			<method visibility="public" name="eq" returncomment="True if they both represent the duration of time. False otherwise" fulltype="boolean" type="boolean">
				<comment>
					<description>Equality comparison between this and the supplied duration of time.</description>
					<attribute name="@param">
						<description>arg
            The duration of time to compare with</description>
					</attribute>
					<attribute name="@return">
						<description>True if they both represent the duration of time. False otherwise</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The duration of time to compare with" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
					<param name="context" fulltype="org.eclipse.wst.xml.xpath2.processor.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.processor.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.processor.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.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical addition between this duration stored and the supplied
 duration of time (of type XSYearMonthDuration)</description>
					<attribute name="@param">
						<description>arg
            The duration of time to add</description>
					</attribute>
					<attribute name="@return">
						<description>New XSYearMonthDuration representing the resulting duration
         after the addition</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The duration of time to add" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="minus" returncomment="New XSYearMonthDuration representing the resulting duration
         after the subtraction" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical subtraction between this duration stored and the supplied
 duration of time (of type XSYearMonthDuration)</description>
					<attribute name="@param">
						<description>arg
            The duration of time to subtract</description>
					</attribute>
					<attribute name="@return">
						<description>New XSYearMonthDuration representing the resulting duration
         after the subtraction</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The duration of time to subtract" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="times" returncomment="New XSYearMonthDuration representing the resulting duration
         after the multiplication" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical multiplication between this duration stored and the supplied
 duration of time (of type XSYearMonthDuration)</description>
					<attribute name="@param">
						<description>arg
            The duration of time to multiply by</description>
					</attribute>
					<attribute name="@return">
						<description>New XSYearMonthDuration representing the resulting duration
         after the multiplication</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The duration of time to multiply by" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
			<method visibility="public" name="div" returncomment="New XSYearMonthDuration representing the resulting duration
         after the division" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence">
				<comment>
					<description>Mathematical division between this duration stored and the supplied
 duration of time (of type XSYearMonthDuration)</description>
					<attribute name="@param">
						<description>arg
            The duration of time to divide by</description>
					</attribute>
					<attribute name="@return">
						<description>New XSYearMonthDuration representing the resulting duration
         after the division</description>
					</attribute>
					<attribute name="@throws">
						<description>DynamicError</description>
					</attribute>
				</comment>
				<params>
					<param name="arg" comment="The duration of time to divide by" fulltype="org.eclipse.wst.xml.xpath2.processor.ResultSequence" type="ResultSequence" />
				</params>
				<exceptions>
					<exception comment="" fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
		</methods>
	</jelclass>
	<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.processor.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.processor.internal.types.AnyType" type="AnyType" />
				</params>
			</method>
			<method visibility="public" name="considerValue" fulltype="void" type="void">
				<params>
					<param name="at" fulltype="org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType" type="AnyType" />
				</params>
				<exceptions>
					<exception fulltype="org.eclipse.wst.xml.xpath2.processor.DynamicError" type="DynamicError" />
				</exceptions>
			</method>
		</methods>
	</jelclass>
</jel>
