Skip to main content
summaryrefslogtreecommitdiffstats
blob: 5e1ed8850a8a9da1ab9948870985f8deca3d364b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?xml version="1.0" encoding="UTF-8"?>
<project name="Build Ant Environment support JAR" default="build" basedir=".">

	<target name="build" description="Cleans, builds and refreshes" depends="clean, ant-lib/anttasks.jar"/>

	<target name="init" depends="properties">
		<property name="version.suffix" value="_3.1.0"/>
		<property name="new.version.suffix" value="_3.2.0"/>
		<property name="bootclasspath" value=""/>
		<property name="temp.folder" value="${basedir}/temp.folder"/>
		<property name="build.result.folder" value="${basedir}"/>
		<property name="win32.jar" value="${eclipse.home}/plugins/org.eclipse.swt.win32.win32.x86${version.suffix}.jar"/>
		<property name="gtk.jar" value="${eclipse.home}/plugins/org.eclipse.swt.gtk.linux.x86${version.suffix}.jar"/>
		<property name="motif.jar" value="${eclipse.home}/plugins/org.eclipse.swt.motif${version.suffix}.jar"/>
		<property name="osx.jar" value="${eclipse.home}/plugins/org.eclipse.swt.carbon.macosx.ppc${version.suffix}.jar"/>
		<available file="${win32.jar}" property="swt.jar" value="${win32.jar}"/>
		<available file="${gtk.jar}" property="swt.jar" value="${gtk.jar}"/>
		<available file="${motif.jar}" property="swt.jar" value="${motif.jar}"/>
		<available file="${osx.jar}" property="swt.jar" value="${osx.jar}"/>
	</target>
	
	<target name="properties" if="eclipse.running">
		<property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>
	</target>
		
		<target name="ant-lib/anttasks.jar" description= "Creates the antrunner.jar" depends="init">
			<property name="destdir" value="${temp.folder}/ant-lib/anttasks.jar"/>
			<delete dir="${destdir}"/>
			<mkdir dir="${destdir}"/>
			<javac destdir="${destdir}" failonerror="true" verbose="false" debug="on" includeJavaRuntime= "yes"
			 	bootclasspath="${bootclasspath}"
			 	classpath="${basedir}/bin">
				<src path="ant-src/"/>
			</javac>
			<copy todir="${destdir}">
				<fileset dir="ant-src/" excludes="**/*.java"/>
			</copy>
			<mkdir dir="${build.result.folder}/ant-lib"/>
			<jar destfile="${build.result.folder}/ant-lib/anttasks.jar" basedir="${destdir}"/>
			<delete dir="${temp.folder}"/>
		</target>

		<target name="clean" description="Deletes previous build remnants" depends="init">
			<delete file="${build.result.folder}/ant-lib/anttasks.jar"/>
			<delete dir="${temp.folder}"/>
		</target>
	
	<target name="refresh">
	<eclipse.LocalRefresh resource="org.eclipse.wst.command.env" depth="infinite"/>
	</target>
	
	</project>

Back to the top

td class='graph'>
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/DefaultEvaluator.java2054
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/DynamicContext.java177
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/DynamicError.java523
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/Evaluator.java31
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/JFlexCupParser.java59
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/ResultSequence.java135
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/ResultSequenceFactory.java66
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/StaticChecker.java29
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/StaticContext.java272
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/StaticError.java46
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/StaticNameResolver.java936
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/XPathException.java48
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/XPathParser.java31
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/XPathParserException.java39
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/XercesLoader.java145
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/ast/XPath.java54
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/function/FnFunctionLibrary.java186
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/function/XSCtrLibrary.java151
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/AncestorAxis.java54
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/AncestorOrSelfAxis.java45
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/AttributeAxis.java71
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/Axis.java42
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ChildAxis.java69
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/CupError.java33
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/DefaultRSFactory.java63
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/DefaultResultSequence.java124
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/DefaultStaticContext.java641
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/DescendantAxis.java59
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/DescendantOrSelfAxis.java50
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/Focus.java91
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/FollowingAxis.java72
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/FollowingSiblingAxis.java73
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ForwardAxis.java33
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/JFlexError.java33
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/Normalizer.java1062
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ParentAxis.java59
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/PrecedingAxis.java71
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/PrecedingSiblingAxis.java74
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/RangeResultSequence.java156
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ReverseAxis.java30
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/SelfAxis.java41
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/SeqType.java262
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/StaticAttrNameError.java33
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/StaticElemNameError.java33
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/StaticFunctNameError.java34
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/StaticNameError.java49
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/StaticNsNameError.java44
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/StaticTypeNameError.java34
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/StaticVarNameError.java33
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/TypeError.java113
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/XPath2Plugin.java22
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/XPathCup.java6859
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/XPathError.java42
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/XPathFlex.java1319
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/XpathSym.java101
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/AddExpr.java41
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/AndExpr.java41
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/AnyKindTest.java50
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/AttrElemTest.java95
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/AttributeTest.java141
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/AxisStep.java82
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/BinExpr.java73
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/CastExpr.java46
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/CastableExpr.java41
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/CmpExpr.java115
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/CntxItemExpr.java27
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/CommentTest.java50
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/DecimalLiteral.java52
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/DivExpr.java39
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/DocumentTest.java128
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/DoubleLiteral.java51
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ElementTest.java195
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ExceptExpr.java42
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/Expr.java18
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/FilterExpr.java91
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ForExpr.java100
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ForwardStep.java172
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/FunctionCall.java75
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/IDivExpr.java39
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/IfExpr.java77
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/InstOfExpr.java41
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/IntegerLiteral.java53
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/IntersectExpr.java41
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ItemType.java98
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/KindTest.java32
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/Literal.java19
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/MinusExpr.java37
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ModExpr.java39
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/MulExpr.java39
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/NameTest.java50
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/NodeTest.java18
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/NumericLiteral.java19
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/OrExpr.java39
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/PITest.java80
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ParExpr.java51
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/PipeExpr.java39
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/PlusExpr.java37
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/PrimaryExpr.java18
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/QuantifiedExpr.java123
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/RangeExpr.java39
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ReverseStep.java125
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/SchemaAttrTest.java70
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/SchemaElemTest.java67
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/SequenceType.java96
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/SingleType.java71
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/Step.java39
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/StepExpr.java18
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/StringLiteral.java62
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/SubExpr.java39
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/TextTest.java50
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/TreatAsExpr.java40
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/UnExpr.java38
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/UnionExpr.java41
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/VarExprPair.java53
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/VarRef.java51
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/XPathExpr.java100
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/XPathNode.java22
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/XPathVisitor.java269
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/AbstractCollationEqualFunction.java182
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/AbstractRegExFunction.java69
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/AbstractURIFunction.java170
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/CmpEq.java34
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/CmpGt.java34
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/CmpLt.java34
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/Constructor.java67
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/ConstructorFL.java77
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnAbs.java137
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnAdjustDateTimeToTimeZone.java154
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnAdjustDateToTimeZone.java148
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnAdjustTimeToTimeZone.java155
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnAvg.java104
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnBaseUri.java151
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnBoolean.java128
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCeiling.java84
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCodepointEqual.java120
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCodepointsToString.java131
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCollection.java168
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCompare.java153
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnConcat.java115
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnContains.java119
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCount.java69
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCurrentDate.java73
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCurrentDateTime.java74
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCurrentTime.java73
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnData.java132
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDateTime.java135
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDayFromDate.java98
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDayFromDateTime.java99
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDaysFromDuration.java105
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDeepEqual.java210
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDefaultCollation.java58
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDistinctValues.java120
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDoc.java113
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDocumentUri.java103
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnEmpty.java76
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnEncodeForURI.java75
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnEndsWith.java116
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnError.java133
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnEscapeHTMLUri.java110
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnExactlyOne.java70
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnExists.java75
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnFalse.java61
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnFloor.java83
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnHoursFromDateTime.java99
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnHoursFromDuration.java105
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnHoursFromTime.java98
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnID.java211
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnIDREF.java210
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnImplicitTimezone.java77
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnInScopePrefixes.java147
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnIndexOf.java192
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnInsertBefore.java114
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnIriToURI.java43
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnLang.java174
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnLast.java76
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnLocalName.java120
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnLocalNameFromQName.java95
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnLowerCase.java112
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMatches.java121
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMax.java114
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMin.java95
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMinutesFromDateTime.java99
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMinutesFromDuration.java105
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMinutesFromTime.java98
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMonthFromDate.java98
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMonthFromDateTime.java100
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMonthsFromDuration.java106
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnName.java121
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNamespaceUri.java114
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNamespaceUriFromQName.java99
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNilled.java88
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNodeName.java95
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNormalizeSpace.java203
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNormalizeUnicode.java248
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNot.java74
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNumber.java128
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnOneOrMore.java70
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnPosition.java74
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnPrefixFromQName.java104
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnQName.java110
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnRemove.java108
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnReplace.java143
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnResolveQName.java128
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnResolveURI.java140
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnReverse.java94
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnRoot.java152
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnRound.java82
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnRoundHalfToEven.java104
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSecondsFromDateTime.java103
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSecondsFromDuration.java106
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSecondsFromTime.java102
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnStartsWith.java117
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnStaticBaseUri.java69
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnString.java92
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnStringJoin.java121
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnStringLength.java123
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnStringToCodepoints.java102
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSubsequence.java123
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSubstring.java169
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSubstringAfter.java127
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSubstringBefore.java120
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSum.java110
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnTimezoneFromDate.java98
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnTimezoneFromDateTime.java99
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnTimezoneFromTime.java98
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnTokenize.java144
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnTrace.java93
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnTranslate.java191
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnTrue.java65
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnUnordered.java84
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnUpperCase.java110
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnYearFromDate.java99
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnYearFromDateTime.java100
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnYearsFromDuration.java105
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnZeroOrOne.java70
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsConvertOperand.java122
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsDiv.java60
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsEq.java384
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsGe.java92
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsGt.java82
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsIDiv.java60
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsLe.java93
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsLt.java81
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsMinus.java90
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsMod.java60
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsNe.java82
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsPlus.java236
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsTimes.java60
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/Function.java331
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FunctionLibrary.java138
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/MathDiv.java31
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/MathIDiv.java31
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/MathMinus.java31
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/MathMod.java31
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/MathPlus.java31
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/MathTimes.java31
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/OpExcept.java115
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/OpFunctionLibrary.java54
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/OpIntersect.java116
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/OpTo.java118
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/OpUnion.java100
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/AnyAtomicType.java18
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/AnySimpleType.java18
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/AnyType.java31
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/AttrType.java145
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/CalendarType.java56
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/CommentType.java92
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/CtrType.java39
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/DocType.java108
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/ElementType.java223
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/NodeType.java252
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/NumericType.java142
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/PIType.java110
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/QName.java343
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/SchemaTypeValueFactory.java164
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/TextType.java95
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XPathDecimalFormat.java132
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSAnyURI.java171
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSBase64Binary.java177
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSBoolean.java206
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSByte.java101
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSConstants.java54
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSDate.java542
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSDateTime.java982
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSDayTimeDuration.java401
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSDecimal.java506
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSDouble.java521
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSDuration.java511
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSEntity.java71
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSFloat.java473
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSGDay.java322
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSGMonth.java318
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSGMonthDay.java336
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSGYear.java293
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSGYearMonth.java319
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSHexBinary.java193
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSID.java56
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSIDREF.java56
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSInt.java100
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSInteger.java362
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSLong.java101
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSNCName.java81
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSNegativeInteger.java103
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSNonNegativeInteger.java103
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSNonPositiveInteger.java103
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSNormalizedString.java94
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSNotation.java39
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSPositiveInteger.java103
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSShort.java100
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSString.java187
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSTime.java457
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSUnsignedByte.java104
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSUnsignedInt.java104
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSUnsignedLong.java104
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSUnsignedShort.java104
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSUntypedAtomic.java79
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSYearMonthDuration.java454
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/userdefined/UserDefinedCtrLibrary.java21
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/utils/CodePointIterator.java75
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/utils/ComparableTypePromoter.java50
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/utils/LiteralUtils.java50
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/utils/NumericTypePromoter.java68
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/utils/ScalarTypePromoter.java37
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/utils/StringCodePointIterator.java193
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/utils/TypePromoter.java99
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2/.project22
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2/META-INF/MANIFEST.MF7
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2/about.html34
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2/about.ini11
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2/about.mappings6
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2/about.properties20
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2/build.properties7
-rw-r--r--bundles/org.eclipse.wst.xml.xpath2/icons/WTP_icon_x32_v2.pngbin5616 -> 0 bytes-rw-r--r--bundles/org.eclipse.wst.xml.xpath2/plugin.properties3
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/.classpath6
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/.cvsignore1
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/.project27
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/META-INF/MANIFEST.MF9
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/about.html34
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/build.properties13
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/buildDoc.xml92
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/docbook/usermanual.xml1292
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/book.css222
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch01.html20
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02.html70
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s02.html101
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03.html25
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s02.html20
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s03.html7
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s04.html23
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s05.html3
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s05s02.html11
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s05s03.html5
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s06.html4
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s07.html39
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s08.html4
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s09.html10
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s10.html5
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s11.html23
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03.html13
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s02.html2
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s03.html3
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s04.html3
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s05.html3
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s06.html3
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s07.html3
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s08.html3
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s09.html4
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s10.html3
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s11.html7
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s11s02.html7
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s11s03.html4
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s11s04.html2
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04.html6
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s02.html2
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s03.html2
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s04.html3
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s05.html4
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s06.html4
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s07.html3
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s08.html9
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s09.html3
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/index.html3
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/lib/.cvsignore3
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/mediawiki/.cvsignore1
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/plugin.properties3
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/plugin.xml13
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.doc.user/toc.xml1
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/.classpath7
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/.project28
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/.settings/org.eclipse.jdt.core.prefs8
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/META-INF/MANIFEST.MF11
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/about.html34
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/build.properties15
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/build.xml55
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/deleteme.html0
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.CollationProvider.html9
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DOMBuilder.html17
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DOMLoader.html9
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DOMLoaderException.html5
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DefaultDynamicContext.html58
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator.DummyError.html9
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator.Pair.html15
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator.html115
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DynamicContext.html47
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DynamicError.html91
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.Evaluator.html7
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.JFlexCupParser.html9
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.ResultSequence.html29
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory.html23
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.StaticChecker.html7
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.StaticContext.html79
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.StaticError.html13
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.StaticNameResolver.DummyError.html5
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.StaticNameResolver.html121
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.XPathException.html9
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.XPathParser.html7
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.XPathParserException.html9
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.XercesLoader.html37
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.ast.XPath.html11
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.function.FnFunctionLibrary.html9
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.function.XSCtrLibrary.html9
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.AncestorAxis.html14
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.AncestorOrSelfAxis.html14
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.AttributeAxis.html16
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.Axis.html16
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.CUP$XPathCup$actions.html21
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ChildAxis.html13
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.CupError.html5
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.DefaultRSFactory.html17
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.DefaultResultSequence.html27
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.DefaultStaticContext.html124
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.DescendantAxis.html13
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.DescendantOrSelfAxis.html16
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.Focus.html17
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.FollowingAxis.html15
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.FollowingSiblingAxis.html16
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ForwardAxis.html10
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.JFlexError.html5
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.Normalizer.html119
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ParentAxis.html15
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.PrecedingAxis.html14
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.PrecedingSiblingAxis.html14
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.RangeResultSequence.html32
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ReverseAxis.html10
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.SelfAxis.html13
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.SeqType.html43
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.StaticAttrNameError.html5
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.StaticElemNameError.html5
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.StaticFunctNameError.html9
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.StaticNameError.html15
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.StaticNsNameError.html9
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.StaticTypeNameError.html9
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.StaticVarNameError.html5
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.TypeError.html21
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.XPath2Plugin.html5
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.XPathCup.html53
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.XPathError.html9
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.XPathFlex.html64
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.XpathSym.html183
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.AddExpr.html14
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.AndExpr.html14
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.AnyKindTest.html17
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.AttrElemTest.html30
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.AttributeTest.html29
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.AxisStep.html23
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.BinExpr.html19
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.CastExpr.html19
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.CastableExpr.html14
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.CmpExpr.html53
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.CntxItemExpr.html9
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.CommentTest.html17
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.DecimalLiteral.html12
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.DivExpr.html13
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.DocumentTest.html35
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.DoubleLiteral.html12
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.ElementTest.html44
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.ExceptExpr.html15
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr.html5
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.FilterExpr.html29
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.ForExpr.html23
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.ForwardStep.html41
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.FunctionCall.html19
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.IDivExpr.html13
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.IfExpr.html23
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.InstOfExpr.html15
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.IntegerLiteral.html12
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.IntersectExpr.html14
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.ItemType.html27
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.KindTest.html15
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.Literal.html5
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.MinusExpr.html9
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.ModExpr.html13
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.MulExpr.html13
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.NameTest.html11
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.NodeTest.html5
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.NumericLiteral.html5
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.OrExpr.html13
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.PITest.html19
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.ParExpr.html11
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.PipeExpr.html13
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.PlusExpr.html9
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.PrimaryExpr.html5
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.QuantifiedExpr.html35
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.RangeExpr.html13
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.ReverseStep.html31
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.SchemaAttrTest.html19
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.SchemaElemTest.html17
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.SequenceType.html29
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.SingleType.html17
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.Step.html9
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.StepExpr.html5
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.StringLiteral.html19
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.SubExpr.html13
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.TextTest.html17
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.TreatAsExpr.html14
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.UnExpr.html9
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.UnionExpr.html14
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.VarExprPair.html15
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.VarRef.html12
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathExpr.html29
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathNode.html9
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor.html105
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType.html5
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.AnySimpleType.html5
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType.html11
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.AttrType.html21
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.CalendarType.html15
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.CommentType.html19
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType.html11
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.DocType.html21
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.ElementType.html32
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType.html61
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType.html41
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.PIType.html25
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.QName.html65
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.TextType.html19
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XPathDecimalFormat.html13
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSAnyURI.html43
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSBase64Binary.html29
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSBoolean.html49
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSByte.html15
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSDate.html77
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSDateTime.html107
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSDayTimeDuration.html53
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSDecimal.html91
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSDouble.html95
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration.html110
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSEntity.html21
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSFloat.html87
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSGDay.html43
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSGMonth.html43
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSGMonthDay.html45
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSGYear.html43
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSGYearMonth.html45
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSHexBinary.html29
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSID.html13
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSIDREF.html13
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSInt.html15
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger.html61
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSLong.html15
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSNCName.html15
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSNegativeInteger.html15
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSNonNegativeInteger.html15
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSNonPositiveInteger.html15
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSNotation.html15
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSPositiveInteger.html15
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSShort.html15
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSString.html47
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSTime.html73
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSUnsignedByte.html15
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSUnsignedInt.html15
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSUnsignedLong.html15
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSUnsignedShort.html15
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSUntypedAtomic.html18
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.XSYearMonthDuration.html70
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.types.userdefined.UserDefinedCtrLibrary.html5
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.utils.CodePointIterator.html35
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.utils.ComparableTypePromoter.html11
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.utils.LiteralUtils.html23
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.utils.NumericTypePromoter.html13
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.utils.ScalarTypePromoter.html11
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.utils.StringCodePointIterator.html33
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.utils.TypePromoter.html29
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/jel.xml16735
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/jeltohtml.xsl393
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/jeltotoc.xsl40
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/schema.css71
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/lib/.cvsignore1
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/plugin.properties14
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/plugin.xml13
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/src/org/eclipse/wst/xml/xpath2/processor/sdk/doc/Activator.java50
-rw-r--r--docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/toc.xml212
612 files changed, 0 insertions, 77178 deletions
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/.classpath b/bundles/org.eclipse.wst.xml.xpath2.processor/.classpath
deleted file mode 100644
index 492d1c1..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/.classpath
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins">
- <accessrules>
- <accessrule kind="accessible" pattern="org/eclipse/wst/xml/xpath2/**"/>
- </accessrules>
- </classpathentry>
- <classpathentry excluding="**/*.lex|**/*.cup" kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/.cvsignore b/bundles/org.eclipse.wst.xml.xpath2.processor/.cvsignore
deleted file mode 100644
index ccece86..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/.cvsignore
+++ /dev/null
@@ -1,4 +0,0 @@
-lib
-.externalToolBuilders
-.byecycle
-JavaCUP-dump.txt
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/.project b/bundles/org.eclipse.wst.xml.xpath2.processor/.project
deleted file mode 100644
index 4469b29..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/.project
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.wst.xml.xpath2.processor</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.jdt.core.javanature</nature>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
- </natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/.settings/.api_filters b/bundles/org.eclipse.wst.xml.xpath2.processor/.settings/.api_filters
deleted file mode 100644
index bfc4a94..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/.settings/.api_filters
+++ /dev/null
@@ -1,389 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<component id="org.eclipse.wst.xml.xpath2.processor" version="2">
- <resource path="src/org/eclipse/wst/xml/xpath2/processor/DefaultDynamicContext.java" type="org.eclipse.wst.xml.xpath2.processor.DefaultDynamicContext">
- <filter id="338792546">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.DefaultDynamicContext"/>
- <message_argument value="node_position(Node)"/>
- </message_arguments>
- </filter>
- <filter id="338792546">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.DefaultDynamicContext"/>
- <message_argument value="tz()"/>
- </message_arguments>
- </filter>
- <filter id="338792546">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.DefaultDynamicContext"/>
- <message_argument value="get_doc(String)"/>
- </message_arguments>
- </filter>
- </resource>
- <resource path="src/org/eclipse/wst/xml/xpath2/processor/DynamicContext.java" type="org.eclipse.wst.xml.xpath2.processor.DynamicContext">
- <filter id="403767336">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.DynamicContext"/>
- <message_argument value="CODEPOINT_COLLATION"/>
- </message_arguments>
- </filter>
- <filter id="403804204">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.DynamicContext"/>
- <message_argument value="get_collation(String)"/>
- </message_arguments>
- </filter>
- <filter id="403804204">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.DynamicContext"/>
- <message_argument value="tz()"/>
- </message_arguments>
- </filter>
- <filter id="403804204">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.DynamicContext"/>
- <message_argument value="current_date_time()"/>
- </message_arguments>
- </filter>
- <filter id="403804204">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.DynamicContext"/>
- <message_argument value="get_doc(URI)"/>
- </message_arguments>
- </filter>
- <filter id="403804204">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.DynamicContext"/>
- <message_argument value="evaluate_function(QName, Collection)"/>
- </message_arguments>
- </filter>
- <filter id="403804204">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.DynamicContext"/>
- <message_argument value="set_variable(QName, AnyType)"/>
- </message_arguments>
- </filter>
- <filter id="403804204">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.DynamicContext"/>
- <message_argument value="default_collation_name()"/>
- </message_arguments>
- </filter>
- <filter id="403804204">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.DynamicContext"/>
- <message_argument value="resolve_uri(String)"/>
- </message_arguments>
- </filter>
- <filter id="403804204">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.DynamicContext"/>
- <message_argument value="get_variable(QName)"/>
- </message_arguments>
- </filter>
- <filter id="403804204">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.DynamicContext"/>
- <message_argument value="getVariable(QName)"/>
- </message_arguments>
- </filter>
- <filter id="405901410">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.DynamicContext"/>
- <message_argument value="get_variable(QName)"/>
- </message_arguments>
- </filter>
- <filter id="405901410">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.DynamicContext"/>
- <message_argument value="set_variable(QName, AnyType)"/>
- </message_arguments>
- </filter>
- <filter id="405901410">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.DynamicContext"/>
- <message_argument value="tz()"/>
- </message_arguments>
- </filter>
- <filter id="405901410">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.DynamicContext"/>
- <message_argument value="evaluate_function(QName, Collection)"/>
- </message_arguments>
- </filter>
- <filter id="405901410">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.DynamicContext"/>
- <message_argument value="node_position(Node)"/>
- </message_arguments>
- </filter>
- <filter id="405901410">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.DynamicContext"/>
- <message_argument value="get_doc(String)"/>
- </message_arguments>
- </filter>
- </resource>
- <resource path="src/org/eclipse/wst/xml/xpath2/processor/StaticContext.java" type="org.eclipse.wst.xml.xpath2.processor.StaticContext">
- <filter id="403804204">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
- <message_argument value="derives_from(NodeType, XSTypeDefinition)"/>
- </message_arguments>
- </filter>
- <filter id="403804204">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
- <message_argument value="del_variable(QName)"/>
- </message_arguments>
- </filter>
- <filter id="403804204">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
- <message_argument value="variable_in_scope(QName)"/>
- </message_arguments>
- </filter>
- <filter id="403804204">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
- <message_argument value="make_atomic(QName)"/>
- </message_arguments>
- </filter>
- <filter id="403804204">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
- <message_argument value="attribute_type_definition(QName)"/>
- </message_arguments>
- </filter>
- <filter id="403804204">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
- <message_argument value="element_declared(QName)"/>
- </message_arguments>
- </filter>
- <filter id="403804204">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
- <message_argument value="get_collections()"/>
- </message_arguments>
- </filter>
- <filter id="403804204">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
- <message_argument value="set_collections(Map)"/>
- </message_arguments>
- </filter>
- <filter id="403804204">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
- <message_argument value="expand_elem_type_qname(QName)"/>
- </message_arguments>
- </filter>
- <filter id="403804204">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
- <message_argument value="set_collections(Map&lt;String,List&lt;Document&gt;&gt;)"/>
- </message_arguments>
- </filter>
- <filter id="403804204">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
- <message_argument value="derives_from(NodeType, QName)"/>
- </message_arguments>
- </filter>
- <filter id="403804204">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
- <message_argument value="set_base_uri(String)"/>
- </message_arguments>
- </filter>
- <filter id="403804204">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
- <message_argument value="variable_exists(QName)"/>
- </message_arguments>
- </filter>
- <filter id="403804204">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
- <message_argument value="add_variable(QName)"/>
- </message_arguments>
- </filter>
- <filter id="403804204">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
- <message_argument value="type_defined(QName)"/>
- </message_arguments>
- </filter>
- <filter id="403804204">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
- <message_argument value="attribute_declared(QName)"/>
- </message_arguments>
- </filter>
- <filter id="403804204">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
- <message_argument value="element_type_definition(QName)"/>
- </message_arguments>
- </filter>
- <filter id="403804204">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
- <message_argument value="set_collections(Map&lt;String,List&gt;)"/>
- </message_arguments>
- </filter>
- <filter id="403804204">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
- <message_argument value="expand_qname(QName)"/>
- </message_arguments>
- </filter>
- <filter id="403804204">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
- <message_argument value="expand_function_qname(QName)"/>
- </message_arguments>
- </filter>
- <filter id="403804204">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
- <message_argument value="function_exists(QName, int)"/>
- </message_arguments>
- </filter>
- <filter id="405901410">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
- <message_argument value="variable_exists(QName)"/>
- </message_arguments>
- </filter>
- <filter id="405901410">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
- <message_argument value="del_variable(QName)"/>
- </message_arguments>
- </filter>
- <filter id="405901410">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
- <message_argument value="expand_elem_type_qname(QName)"/>
- </message_arguments>
- </filter>
- <filter id="405901410">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
- <message_argument value="add_variable(QName)"/>
- </message_arguments>
- </filter>
- <filter id="405901410">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
- <message_argument value="function_exists(QName, int)"/>
- </message_arguments>
- </filter>
- <filter id="405901410">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
- <message_argument value="element_type_definition(QName)"/>
- </message_arguments>
- </filter>
- <filter id="405901410">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
- <message_argument value="element_declared(QName)"/>
- </message_arguments>
- </filter>
- <filter id="405901410">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
- <message_argument value="expand_qname(QName)"/>
- </message_arguments>
- </filter>
- <filter id="405901410">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
- <message_argument value="make_atomic(QName)"/>
- </message_arguments>
- </filter>
- <filter id="405901410">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
- <message_argument value="expand_function_qname(QName)"/>
- </message_arguments>
- </filter>
- <filter id="405901410">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
- <message_argument value="variable_in_scope(QName)"/>
- </message_arguments>
- </filter>
- <filter id="405901410">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
- <message_argument value="attribute_type_definition(QName)"/>
- </message_arguments>
- </filter>
- <filter id="405901410">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
- <message_argument value="attribute_declared(QName)"/>
- </message_arguments>
- </filter>
- <filter id="405901410">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
- <message_argument value="derives_from(NodeType, XSTypeDefinition)"/>
- </message_arguments>
- </filter>
- <filter id="405901410">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
- <message_argument value="derives_from(NodeType, QName)"/>
- </message_arguments>
- </filter>
- <filter id="405901410">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.StaticContext"/>
- <message_argument value="type_defined(QName)"/>
- </message_arguments>
- </filter>
- <filter id="643846161">
- <message_arguments>
- <message_argument value="QName"/>
- <message_argument value="StaticContext"/>
- <message_argument value="del_variable(QName)"/>
- </message_arguments>
- </filter>
- <filter id="643846161">
- <message_arguments>
- <message_argument value="QName"/>
- <message_argument value="StaticContext"/>
- <message_argument value="type_defined(QName)"/>
- </message_arguments>
- </filter>
- <filter id="1211105284">
- <message_arguments>
- <message_argument value="set_collections(Map)"/>
- </message_arguments>
- </filter>
- <filter id="1211105284">
- <message_arguments>
- <message_argument value="expand_qname(QName)"/>
- </message_arguments>
- </filter>
- <filter id="1211105284">
- <message_arguments>
- <message_argument value="element_type_definition(QName)"/>
- </message_arguments>
- </filter>
- </resource>
- <resource path="src/org/eclipse/wst/xml/xpath2/processor/function/FnFunctionLibrary.java" type="org.eclipse.wst.xml.xpath2.processor.function.FnFunctionLibrary">
- <filter id="388194388">
- <message_arguments>
- <message_argument value="org.eclipse.wst.xml.xpath2.processor.function.FnFunctionLibrary"/>
- <message_argument value="XPATH_FUNCTIONS_NS"/>
- <message_argument value="http://www.w3.org/2004/10/xpath-functions"/>
- </message_arguments>
- </filter>
- </resource>
-</component>
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.wst.xml.xpath2.processor/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index be9dcc1..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,74 +0,0 @@
-#Thu Jul 08 11:23:23 CEST 2010
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=jsr1.4
-org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.debug.lineNumber=generate
-org.eclipse.jdt.core.compiler.debug.localVariable=generate
-org.eclipse.jdt.core.compiler.debug.sourceFile=generate
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=ignore
-org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
-org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
-org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=ignore
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
-org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
-org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
-org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
-org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
-org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
-org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
-org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=ignore
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
-org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=ignore
-org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
-org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
-org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
-org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
-org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=ignore
-org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
-org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=ignore
-org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
-org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
-org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.4
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/META-INF/MANIFEST.MF b/bundles/org.eclipse.wst.xml.xpath2.processor/META-INF/MANIFEST.MF
deleted file mode 100644
index dee8323..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,23 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.wst.xml.xpath2.processor
-Bundle-Version: 1.1.2.qualifier
-Require-Bundle: org.apache.xerces;bundle-version="[2.9.0,3.0.0)",
- java_cup.runtime;bundle-version="0.10.0",
- org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)";resolution:=optional,
- com.ibm.icu;bundle-version="[3.8.0,5.0.0)";resolution:=optional
-Bundle-RequiredExecutionEnvironment: J2SE-1.5,J2SE-1.4
-Bundle-ActivationPolicy: lazy
-Bundle-Activator: org.eclipse.wst.xml.xpath2.processor.internal.XPath2Plugin
-Export-Package: org.eclipse.wst.xml.xpath2.processor,
- org.eclipse.wst.xml.xpath2.processor.ast,
- org.eclipse.wst.xml.xpath2.processor.function,
- org.eclipse.wst.xml.xpath2.processor.internal;x-internal:=true,
- org.eclipse.wst.xml.xpath2.processor.internal.ast;x-internal:=true,
- org.eclipse.wst.xml.xpath2.processor.internal.function;x-internal:=true,
- org.eclipse.wst.xml.xpath2.processor.internal.types;x-internal:=true,
- org.eclipse.wst.xml.xpath2.processor.internal.types.userdefined;x-internal:=true,
- org.eclipse.wst.xml.xpath2.processor.internal.utils;x-internal:=true
-Bundle-Vendor: %provider
-Bundle-Localization: plugin
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/about.html b/bundles/org.eclipse.wst.xml.xpath2.processor/about.html
deleted file mode 100644
index ed30003..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>August, 2008</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in
-("Content"). Unless otherwise indicated below, the Content is provided to you
-under the terms and conditions of the Eclipse Public License Version 1.0
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>.
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the
-Content is being redistributed by another party ("Redistributor") and different
-terms and conditions may apply to your use of any object code in the Content.
-Check the Redistributors license that was provided with the Content. If no such
-license exists, contact the Redistributor. Unless otherwise indicated below, the
-terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/build.properties b/bundles/org.eclipse.wst.xml.xpath2.processor/build.properties
deleted file mode 100644
index 4196dec..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/build.properties
+++ /dev/null
@@ -1,12 +0,0 @@
-bin.includes = META-INF/,\
- bin/,\
- .,\
- about.html,\
- plugin.properties
-source.. = src/
-output.. = bin/
-src.includes = about.html,\
- grammars/
-javacSource = 1.4
-javacTarget = 1.4
-javacErrors.. = -enumIdentifier
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/build.xml b/bundles/org.eclipse.wst.xml.xpath2.processor/build.xml
deleted file mode 100644
index aa70146..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/build.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<!--
- *******************************************************************************
- * Copyright (c) 2009 Standards for Technology in Automotive Retail and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * David Carver - initial API and implementation
- * Jesper S Moller - bug 283214 - fix IF THEN ELSE parsing and update grammars
- * Jesper S Moller - bug 311480 - more debug info, better cleanup
- *******************************************************************************/
-
--->
-<project name="proj1" default="generate_parser" basedir=".">
- <property name="src" location="${basedir}"/>
- <property name="cupJar" location="${basedir}/lib/javacup10.jar"/>
- <description>
- Build File for Compiler Project
-</description>
-
- <taskdef classname="JFlex.anttask.JFlexTask" name="jflex" classpath="${basedir}/lib/JFlex.jar" />
-
- <target name="generate_parser">
- <jflex file="grammars/xpath.lex" destdir="grammars/generated"/>
- <java jar="${cupJar}" input="grammars/xpath.cup" output="${basedir}/JavaCUP-dump.txt" fork="true" failonerror="true">
- <arg value="-parser"/>
- <arg value="XPathCup"/>
- <arg value="-symbols"/>
- <arg value="XpathSym"/>
- <arg value="-package"/>
- <arg value="org.eclipse.wst.xml.xpath2.processor.internal"/>
- <arg value="-dump"/>
- </java>
- <move tofile="${basedir}/src/org/eclipse/wst/xml/xpath2/processor/internal/XPathCup.java" file="XPathCup.java"/>
- <move tofile="${basedir}/src/org/eclipse/wst/xml/xpath2/processor/internal/XpathSym.java" file="XpathSym.java"/>
- </target>
-
-</project> \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/grammars/generated/org/eclipse/wst/xml/xpath2/processor/internal/XPathFlex.java b/bundles/org.eclipse.wst.xml.xpath2.processor/grammars/generated/org/eclipse/wst/xml/xpath2/processor/internal/XPathFlex.java
deleted file mode 100644
index 61818c3..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/grammars/generated/org/eclipse/wst/xml/xpath2/processor/internal/XPathFlex.java
+++ /dev/null
@@ -1,1315 +0,0 @@
-/* The following code was generated by JFlex 1.4.3 on 12/14/09 2:02 AM */
-
-// *******************************************************************************
-// * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
-// * All rights reserved. This program and the accompanying materials
-// * are made available under the terms of the Eclipse Public License v1.0
-// * which accompanies this distribution, and is available at
-// * http://www.eclipse.org/legal/epl-v10.html
-// *
-// * Contributors:
-// * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
-// * David Carver - bug 280987 - fixed literal issues for integer and decimal
-// * Jesper S Moller - bug 283214 - fix IF THEN ELSE parsing and update grammars
-// * Jesper S Moller - bug 286061 correct handling of quoted string
-// *******************************************************************************/
-
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import java_cup.runtime.*;
-
-
-/**
- * This class is a scanner generated by
- * <a href="http://www.jflex.de/">JFlex</a> 1.4.3
- * on 12/14/09 2:02 AM from the specification file
- * <tt>/Users/jesper/Documents/workspace-3.5M5/org.eclipse.wst.xml.xpath2.processor/grammars/xpath.lex</tt>
- */
-class XPathFlex implements java_cup.runtime.Scanner {
-
- /** This character denotes the end of file */
- public static final int YYEOF = -1;
-
- /** initial size of the lookahead buffer */
- private static final int ZZ_BUFFERSIZE = 16384;
-
- /** lexical states */
- public static final int YYINITIAL = 0;
- public static final int COMMENT = 2;
-
- /**
- * ZZ_LEXSTATE[l] is the state in the DFA for the lexical state l
- * ZZ_LEXSTATE[l+1] is the state in the DFA for the lexical state l
- * at the beginning of a line
- * l is of the form l = 2*k, k a non negative integer
- */
- private static final int ZZ_LEXSTATE[] = {
- 0, 0, 1, 1
- };
-
- /**
- * Translates characters to character classes
- */
- private static final String ZZ_CMAP_PACKED =
- "\11\0\1\1\1\1\2\0\1\1\22\0\1\1\1\22\1\2\1\0"+
- "\1\30\2\0\1\3\1\12\1\16\1\17\1\7\1\27\1\11\1\5"+
- "\1\25\12\4\1\13\1\0\1\23\1\21\1\24\1\31\1\26\4\10"+
- "\1\6\25\10\1\14\1\0\1\15\1\0\1\10\1\0\1\42\1\45"+
- "\1\32\1\36\1\37\1\47\1\52\1\33\1\34\2\10\1\35\1\53"+
- "\1\41\1\50\1\54\1\55\1\44\1\40\1\43\1\46\1\56\1\51"+
- "\1\57\1\60\1\10\1\0\1\20\uff83\0";
-
- /**
- * Translates characters to character classes
- */
- private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED);
-
- /**
- * Translates DFA states to action switch labels.
- */
- private static final int [] ZZ_ACTION = zzUnpackAction();
-
- private static final String ZZ_ACTION_PACKED_0 =
- "\2\0\1\1\1\2\2\1\1\3\1\4\1\5\1\6"+
- "\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16"+
- "\1\17\1\1\1\20\1\21\1\22\1\23\1\24\1\25"+
- "\1\26\20\5\2\2\1\0\1\27\1\0\1\27\1\30"+
- "\1\0\1\31\1\32\1\33\1\34\1\35\1\36\1\37"+
- "\1\40\1\41\4\5\1\42\1\43\1\5\1\44\1\45"+
- "\1\46\5\5\1\47\6\5\1\50\2\5\1\51\5\5"+
- "\1\52\4\5\1\53\1\54\1\55\1\56\3\5\1\57"+
- "\1\60\1\61\1\0\7\5\1\62\16\5\1\63\10\5"+
- "\1\64\1\65\4\5\1\66\1\5\1\67\2\5\1\70"+
- "\3\5\1\71\4\5\1\72\1\5\1\73\1\5\1\74"+
- "\2\5\1\75\1\76\10\5\1\77\10\5\1\100\6\5"+
- "\1\101\2\5\1\102\14\5\1\103\6\5\1\104\1\5"+
- "\1\105\3\5\1\106\4\5\1\107\12\5\1\110\1\111"+
- "\10\5\1\112\5\5\1\113\5\5\1\114\1\115\1\5"+
- "\1\116\1\5\1\117\1\120\1\5\1\121\5\5\1\122"+
- "\26\5\1\123\10\5\1\124\1\125\14\5\1\126\1\127"+
- "\4\5\1\130\1\131\1\5\1\132\4\5\1\133";
-
- private static int [] zzUnpackAction() {
- int [] result = new int[333];
- int offset = 0;
- offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result);
- return result;
- }
-
- private static int zzUnpackAction(String packed, int offset, int [] result) {
- int i = 0; /* index in packed string */
- int j = offset; /* index in unpacked array */
- int l = packed.length();
- while (i < l) {
- int count = packed.charAt(i++);
- int value = packed.charAt(i++);
- do result[j++] = value; while (--count > 0);
- }
- return j;
- }
-
-
- /**
- * Translates a state to a row index in the transition table
- */
- private static final int [] ZZ_ROWMAP = zzUnpackRowMap();
-
- private static final String ZZ_ROWMAP_PACKED_0 =
- "\0\0\0\61\0\142\0\142\0\223\0\304\0\365\0\u0126"+
- "\0\u0157\0\142\0\142\0\u0188\0\u01b9\0\142\0\142\0\142"+
- "\0\142\0\142\0\142\0\u01ea\0\u021b\0\u024c\0\u027d\0\142"+
- "\0\142\0\142\0\142\0\u02ae\0\u02df\0\u0310\0\u0341\0\u0372"+
- "\0\u03a3\0\u03d4\0\u0405\0\u0436\0\u0467\0\u0498\0\u04c9\0\u04fa"+
- "\0\u052b\0\u055c\0\u058d\0\u05be\0\u05ef\0\223\0\u0620\0\304"+
- "\0\u0651\0\u0682\0\u06b3\0\142\0\142\0\142\0\142\0\142"+
- "\0\142\0\142\0\142\0\142\0\u06e4\0\u0715\0\u0746\0\u0777"+
- "\0\u0157\0\u07a8\0\u07d9\0\u0157\0\u0157\0\u0157\0\u080a\0\u083b"+
- "\0\u086c\0\u089d\0\u08ce\0\u0157\0\u08ff\0\u0930\0\u0961\0\u0992"+
- "\0\u09c3\0\u09f4\0\u0157\0\u0a25\0\u0a56\0\u0157\0\u0a87\0\u0ab8"+
- "\0\u0ae9\0\u0b1a\0\u0b4b\0\u0157\0\u0b7c\0\u0bad\0\u0bde\0\u0c0f"+
- "\0\u0157\0\u0157\0\u0157\0\u0157\0\u0c40\0\u0c71\0\u0ca2\0\142"+
- "\0\142\0\u0cd3\0\u0cd3\0\u0d04\0\u0d35\0\u0d66\0\u0d97\0\u0dc8"+
- "\0\u0df9\0\u0e2a\0\u0157\0\u0e5b\0\u0e8c\0\u0ebd\0\u0eee\0\u0f1f"+
- "\0\u0f50\0\u0f81\0\u0fb2\0\u0fe3\0\u1014\0\u1045\0\u1076\0\u10a7"+
- "\0\u10d8\0\u0157\0\u1109\0\u113a\0\u116b\0\u119c\0\u11cd\0\u11fe"+
- "\0\u122f\0\u1260\0\u0157\0\u0157\0\u1291\0\u12c2\0\u12f3\0\u1324"+
- "\0\u1355\0\u1386\0\u0157\0\u13b7\0\u13e8\0\u0157\0\u1419\0\u144a"+
- "\0\u147b\0\u0157\0\u14ac\0\u14dd\0\u150e\0\u153f\0\u0157\0\u1570"+
- "\0\u0157\0\u15a1\0\u0157\0\u15d2\0\u1603\0\u0157\0\u0157\0\u1634"+
- "\0\u1665\0\u1696\0\u16c7\0\u16f8\0\u1729\0\u175a\0\u178b\0\u0157"+
- "\0\u17bc\0\u17ed\0\u181e\0\u184f\0\u1880\0\u18b1\0\u18e2\0\u1913"+
- "\0\u0157\0\u1944\0\u1975\0\u19a6\0\u19d7\0\u1a08\0\u1a39\0\u0157"+
- "\0\u1a6a\0\u1a9b\0\u0157\0\u1acc\0\u1afd\0\u1b2e\0\u1b5f\0\u1b90"+
- "\0\u1bc1\0\u1bf2\0\u1c23\0\u1c54\0\u1c85\0\u1cb6\0\u1ce7\0\u0157"+
- "\0\u1d18\0\u1d49\0\u1d7a\0\u1dab\0\u1ddc\0\u1e0d\0\u0157\0\u1e3e"+
- "\0\u0157\0\u1e6f\0\u1ea0\0\u1ed1\0\u0157\0\u1f02\0\u1f33\0\u1f64"+
- "\0\u1f95\0\u0157\0\u1fc6\0\u1ff7\0\u2028\0\u2059\0\u208a\0\u20bb"+
- "\0\u20ec\0\u211d\0\u214e\0\u217f\0\u0157\0\u0157\0\u21b0\0\u21e1"+
- "\0\u2212\0\u2243\0\u2274\0\u22a5\0\u22d6\0\u2307\0\u2338\0\u2369"+
- "\0\u239a\0\u23cb\0\u23fc\0\u242d\0\u0157\0\u245e\0\u248f\0\u24c0"+
- "\0\u24f1\0\u2522\0\u0157\0\u0157\0\u2553\0\u0157\0\u2584\0\u25b5"+
- "\0\u25e6\0\u2617\0\u2648\0\u2679\0\u26aa\0\u26db\0\u270c\0\u273d"+
- "\0\u0157\0\u276e\0\u279f\0\u27d0\0\u2801\0\u2832\0\u2863\0\u2894"+
- "\0\u28c5\0\u28f6\0\u2927\0\u2958\0\u2989\0\u29ba\0\u29eb\0\u2a1c"+
- "\0\u2a4d\0\u2a7e\0\u2aaf\0\u2ae0\0\u2b11\0\u2b42\0\u2b73\0\u0157"+
- "\0\u2ba4\0\u2bd5\0\u2c06\0\u2c37\0\u2c68\0\u2c99\0\u2cca\0\u2cfb"+
- "\0\u0157\0\u0157\0\u2d2c\0\u2d5d\0\u2d8e\0\u2dbf\0\u2df0\0\u2e21"+
- "\0\u2e52\0\u2e83\0\u2eb4\0\u2ee5\0\u2f16\0\u2f47\0\u0157\0\u0157"+
- "\0\u2f78\0\u2fa9\0\u2fda\0\u300b\0\u0157\0\u0157\0\u303c\0\u0157"+
- "\0\u306d\0\u309e\0\u30cf\0\u3100\0\u0157";
-
- private static int [] zzUnpackRowMap() {
- int [] result = new int[333];
- int offset = 0;
- offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result);
- return result;
- }
-
- private static int zzUnpackRowMap(String packed, int offset, int [] result) {
- int i = 0; /* index in packed string */
- int j = offset; /* index in unpacked array */
- int l = packed.length();
- while (i < l) {
- int high = packed.charAt(i++) << 16;
- result[j++] = high | packed.charAt(i++);
- }
- return j;
- }
-
- /**
- * The transition table of the DFA
- */
- private static final int [] ZZ_TRANS = zzUnpackTrans();
-
- private static final String ZZ_TRANS_PACKED_0 =
- "\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12"+
- "\1\11\1\13\1\14\1\15\1\16\1\17\1\20\1\21"+
- "\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31"+
- "\1\32\1\33\1\34\1\11\1\35\1\36\1\37\1\40"+
- "\1\41\1\42\1\43\1\44\1\45\1\11\1\46\1\47"+
- "\1\50\1\11\1\51\1\52\1\53\4\11\12\4\1\54"+
- "\1\55\45\4\61\0\2\56\1\57\56\56\3\60\1\61"+
- "\55\60\4\0\1\7\1\62\1\63\30\0\1\63\25\0"+
- "\1\62\1\64\57\0\3\11\1\0\2\11\20\0\27\11"+
- "\13\0\1\65\60\0\1\66\66\0\1\67\60\0\1\70"+
- "\1\0\1\71\56\0\1\72\2\0\1\73\61\0\1\74"+
- "\37\0\3\11\1\0\2\11\20\0\1\11\1\75\6\11"+
- "\1\76\5\11\1\77\10\11\4\0\3\11\1\0\2\11"+
- "\20\0\4\11\1\100\1\11\1\101\1\102\1\11\1\103"+
- "\3\11\1\104\11\11\4\0\3\11\1\0\2\11\20\0"+
- "\5\11\1\105\3\11\1\106\15\11\4\0\3\11\1\0"+
- "\2\11\20\0\2\11\1\107\2\11\1\110\10\11\1\111"+
- "\10\11\4\0\3\11\1\0\2\11\20\0\3\11\1\112"+
- "\15\11\1\113\1\11\1\114\1\115\1\116\1\11\4\0"+
- "\3\11\1\0\2\11\20\0\1\117\4\11\1\120\2\11"+
- "\1\121\5\11\1\122\10\11\4\0\3\11\1\0\2\11"+
- "\20\0\5\11\1\123\2\11\1\124\5\11\1\125\10\11"+
- "\4\0\3\11\1\0\2\11\20\0\6\11\1\126\1\127"+
- "\1\11\1\130\15\11\4\0\3\11\1\0\2\11\20\0"+
- "\1\11\1\131\3\11\1\132\4\11\1\133\3\11\1\134"+
- "\7\11\1\135\4\0\3\11\1\0\2\11\20\0\5\11"+
- "\1\136\21\11\4\0\3\11\1\0\2\11\20\0\7\11"+
- "\1\137\17\11\4\0\3\11\1\0\2\11\20\0\16\11"+
- "\1\140\10\11\4\0\3\11\1\0\2\11\20\0\12\11"+
- "\1\141\2\11\1\142\11\11\4\0\3\11\1\0\2\11"+
- "\20\0\5\11\1\143\3\11\1\144\15\11\4\0\3\11"+
- "\1\0\2\11\20\0\16\11\1\145\10\11\4\0\3\11"+
- "\1\0\2\11\20\0\10\11\1\146\1\11\1\147\14\11"+
- "\13\0\1\150\63\0\1\151\44\0\1\56\61\0\1\60"+
- "\61\0\1\62\1\0\1\63\30\0\1\63\25\0\1\152"+
- "\2\0\1\153\1\0\1\153\53\0\3\11\1\0\2\11"+
- "\20\0\2\11\1\154\24\11\4\0\3\11\1\0\2\11"+
- "\20\0\6\11\1\155\20\11\4\0\3\11\1\0\2\11"+
- "\20\0\21\11\1\156\5\11\4\0\3\11\1\0\2\11"+
- "\20\0\2\11\1\157\24\11\4\0\3\11\1\0\2\11"+
- "\20\0\6\11\1\160\2\11\1\161\15\11\4\0\3\11"+
- "\1\0\2\11\20\0\5\11\1\162\21\11\4\0\3\11"+
- "\1\0\2\11\20\0\24\11\1\163\2\11\4\0\3\11"+
- "\1\0\2\11\20\0\6\11\1\164\20\11\4\0\3\11"+
- "\1\0\2\11\20\0\1\165\26\11\4\0\3\11\1\0"+
- "\2\11\20\0\5\11\1\166\1\167\20\11\4\0\3\11"+
- "\1\0\2\11\20\0\22\11\1\170\4\11\4\0\3\11"+
- "\1\0\2\11\20\0\5\11\1\171\21\11\4\0\3\11"+
- "\1\0\2\11\20\0\1\172\26\11\4\0\3\11\1\0"+
- "\2\11\20\0\1\11\1\173\25\11\4\0\3\11\1\0"+
- "\2\11\20\0\3\11\1\174\23\11\4\0\3\11\1\0"+
- "\2\11\20\0\11\11\1\175\15\11\4\0\3\11\1\0"+
- "\2\11\20\0\21\11\1\176\5\11\4\0\3\11\1\0"+
- "\2\11\20\0\21\11\1\177\5\11\4\0\3\11\1\0"+
- "\2\11\20\0\4\11\1\200\22\11\4\0\3\11\1\0"+
- "\2\11\20\0\1\201\3\11\1\202\22\11\4\0\3\11"+
- "\1\0\2\11\20\0\11\11\1\203\15\11\4\0\3\11"+
- "\1\0\2\11\20\0\5\11\1\204\21\11\4\0\3\11"+
- "\1\0\2\11\20\0\25\11\1\205\1\11\4\0\3\11"+
- "\1\0\2\11\20\0\5\11\1\206\21\11\4\0\3\11"+
- "\1\0\2\11\20\0\22\11\1\207\4\11\4\0\3\11"+
- "\1\0\2\11\20\0\11\11\1\210\15\11\4\0\3\11"+
- "\1\0\2\11\20\0\2\11\1\211\24\11\4\0\3\11"+
- "\1\0\2\11\20\0\3\11\1\212\6\11\1\213\14\11"+
- "\4\0\3\11\1\0\2\11\20\0\4\11\1\214\22\11"+
- "\4\0\3\11\1\0\2\11\20\0\12\11\1\215\14\11"+
- "\4\0\3\11\1\0\2\11\20\0\5\11\1\216\10\11"+
- "\1\217\10\11\4\0\1\152\60\0\3\11\1\0\2\11"+
- "\20\0\3\11\1\220\23\11\4\0\3\11\1\0\2\11"+
- "\20\0\11\11\1\221\15\11\4\0\3\11\1\0\2\11"+
- "\20\0\21\11\1\222\5\11\4\0\3\11\1\0\2\11"+
- "\20\0\24\11\1\223\2\11\4\0\3\11\1\0\2\11"+
- "\20\0\11\11\1\224\15\11\4\0\3\11\1\0\2\11"+
- "\20\0\5\11\1\225\21\11\4\0\3\11\1\0\2\11"+
- "\20\0\21\11\1\226\5\11\4\0\3\11\1\0\2\11"+
- "\20\0\1\227\26\11\4\0\3\11\1\0\2\11\20\0"+
- "\14\11\1\230\12\11\4\0\3\11\1\0\2\11\20\0"+
- "\21\11\1\231\5\11\4\0\3\11\1\0\2\11\20\0"+
- "\5\11\1\232\21\11\4\0\3\11\1\0\2\11\20\0"+
- "\11\11\1\233\15\11\4\0\3\11\1\0\2\11\20\0"+
- "\12\11\1\234\14\11\4\0\3\11\1\0\2\11\20\0"+
- "\5\11\1\235\21\11\4\0\3\11\1\0\2\11\20\0"+
- "\5\11\1\236\21\11\4\0\3\11\1\0\2\11\20\0"+
- "\15\11\1\237\11\11\4\0\3\11\1\0\2\11\20\0"+
- "\2\11\1\240\24\11\4\0\3\11\1\0\2\11\20\0"+
- "\5\11\1\241\21\11\4\0\3\11\1\0\2\11\20\0"+
- "\5\11\1\242\21\11\4\0\3\11\1\0\2\11\20\0"+
- "\5\11\1\243\21\11\4\0\3\11\1\0\2\11\20\0"+
- "\5\11\1\244\21\11\4\0\3\11\1\0\2\11\20\0"+
- "\12\11\1\245\14\11\4\0\3\11\1\0\2\11\20\0"+
- "\7\11\1\246\17\11\4\0\3\11\1\0\2\11\20\0"+
- "\11\11\1\247\15\11\4\0\3\11\1\0\2\11\20\0"+
- "\10\11\1\250\16\11\4\0\3\11\1\0\2\11\20\0"+
- "\5\11\1\251\21\11\4\0\3\11\1\0\2\11\20\0"+
- "\14\11\1\252\12\11\4\0\3\11\1\0\2\11\20\0"+
- "\16\11\1\253\10\11\4\0\3\11\1\0\2\11\20\0"+
- "\3\11\1\254\23\11\4\0\3\11\1\0\2\11\20\0"+
- "\5\11\1\255\21\11\4\0\3\11\1\0\2\11\20\0"+
- "\1\256\26\11\4\0\3\11\1\0\2\11\20\0\1\257"+
- "\26\11\4\0\3\11\1\0\2\11\20\0\4\11\1\260"+
- "\22\11\4\0\3\11\1\0\2\11\20\0\10\11\1\261"+
- "\16\11\4\0\3\11\1\0\2\11\20\0\5\11\1\262"+
- "\21\11\4\0\3\11\1\0\2\11\20\0\10\11\1\263"+
- "\16\11\4\0\3\11\1\0\2\11\20\0\12\11\1\264"+
- "\14\11\4\0\3\11\1\0\2\11\20\0\5\11\1\265"+
- "\21\11\4\0\3\11\1\0\2\11\20\0\21\11\1\266"+
- "\5\11\4\0\3\11\1\0\2\11\20\0\5\11\1\267"+
- "\21\11\4\0\3\11\1\0\2\11\20\0\26\11\1\270"+
- "\4\0\3\11\1\0\2\11\20\0\26\11\1\271\4\0"+
- "\3\11\1\0\2\11\20\0\22\11\1\272\4\11\4\0"+
- "\3\11\1\0\2\11\20\0\21\11\1\273\5\11\4\0"+
- "\3\11\1\0\2\11\20\0\6\11\1\274\20\11\4\0"+
- "\3\11\1\0\2\11\20\0\6\11\1\275\20\11\4\0"+
- "\3\11\1\0\2\11\20\0\6\11\1\276\20\11\4\0"+
- "\3\11\1\0\2\11\20\0\2\11\1\277\24\11\4\0"+
- "\3\11\1\0\2\11\20\0\11\11\1\300\15\11\4\0"+
- "\3\11\1\0\2\11\20\0\6\11\1\301\20\11\4\0"+
- "\3\11\1\0\2\11\20\0\12\11\1\302\14\11\4\0"+
- "\3\11\1\0\2\11\20\0\7\11\1\303\17\11\4\0"+
- "\3\11\1\0\2\11\20\0\16\11\1\304\10\11\4\0"+
- "\3\11\1\0\2\11\20\0\7\11\1\305\17\11\4\0"+
- "\3\11\1\0\2\11\20\0\5\11\1\306\21\11\4\0"+
- "\3\11\1\0\2\11\20\0\5\11\1\307\21\11\4\0"+
- "\3\11\1\0\2\11\20\0\13\11\1\310\13\11\4\0"+
- "\3\11\1\0\2\11\20\0\7\11\1\311\17\11\4\0"+
- "\3\11\1\0\2\11\20\0\7\11\1\312\17\11\4\0"+
- "\3\11\1\0\2\11\20\0\6\11\1\313\20\11\4\0"+
- "\3\11\1\0\2\11\20\0\7\11\1\314\17\11\4\0"+
- "\3\11\1\0\2\11\20\0\5\11\1\315\21\11\4\0"+
- "\3\11\1\0\2\11\20\0\7\11\1\316\17\11\4\0"+
- "\3\11\1\0\1\11\1\317\20\0\27\11\4\0\3\11"+
- "\1\0\2\11\20\0\11\11\1\320\15\11\4\0\3\11"+
- "\1\0\2\11\20\0\10\11\1\321\16\11\4\0\3\11"+
- "\1\0\2\11\20\0\15\11\1\322\11\11\4\0\3\11"+
- "\1\0\2\11\20\0\22\11\1\323\4\11\4\0\3\11"+
- "\1\0\2\11\20\0\11\11\1\324\15\11\4\0\3\11"+
- "\1\0\2\11\20\0\13\11\1\325\13\11\4\0\3\11"+
- "\1\0\2\11\20\0\17\11\1\326\7\11\4\0\3\11"+
- "\1\0\2\11\20\0\7\11\1\327\17\11\4\0\3\11"+
- "\1\0\2\11\20\0\17\11\1\330\7\11\4\0\3\11"+
- "\1\0\2\11\20\0\11\11\1\331\15\11\4\0\3\11"+
- "\1\0\2\11\20\0\4\11\1\332\22\11\4\0\3\11"+
- "\1\0\2\11\20\0\6\11\1\333\20\11\4\0\3\11"+
- "\1\0\2\11\20\0\3\11\1\334\23\11\4\0\3\11"+
- "\1\0\2\11\20\0\11\11\1\335\15\11\4\0\3\11"+
- "\1\0\2\11\20\0\1\336\26\11\4\0\3\11\1\0"+
- "\2\11\20\0\5\11\1\337\21\11\4\0\3\11\1\0"+
- "\2\11\20\0\4\11\1\340\22\11\4\0\3\11\1\0"+
- "\2\11\20\0\7\11\1\341\17\11\4\0\3\11\1\0"+
- "\2\11\20\0\11\11\1\342\15\11\4\0\3\11\1\0"+
- "\2\11\20\0\6\11\1\343\20\11\4\0\3\11\1\0"+
- "\1\11\1\344\20\0\27\11\4\0\3\11\1\0\2\11"+
- "\20\0\2\11\1\345\24\11\4\0\3\11\1\0\2\11"+
- "\20\0\10\11\1\346\16\11\4\0\3\11\1\0\2\11"+
- "\20\0\16\11\1\347\10\11\4\0\3\11\1\0\2\11"+
- "\20\0\14\11\1\350\12\11\4\0\3\11\1\0\2\11"+
- "\20\0\2\11\1\351\24\11\4\0\3\11\1\0\2\11"+
- "\20\0\2\11\1\352\24\11\4\0\3\11\1\0\2\11"+
- "\20\0\2\11\1\353\24\11\4\0\3\11\1\0\2\11"+
- "\20\0\6\11\1\354\20\11\4\0\3\11\1\0\2\11"+
- "\20\0\5\11\1\355\21\11\4\0\3\11\1\0\2\11"+
- "\20\0\5\11\1\356\21\11\4\0\3\11\1\0\2\11"+
- "\20\0\1\357\26\11\4\0\3\11\1\0\2\11\20\0"+
- "\10\11\1\360\16\11\4\0\3\11\1\0\2\11\20\0"+
- "\11\11\1\361\15\11\4\0\3\11\1\0\2\11\20\0"+
- "\5\11\1\362\21\11\4\0\3\11\1\0\2\11\20\0"+
- "\5\11\1\363\2\11\1\364\16\11\4\0\3\11\1\0"+
- "\2\11\20\0\5\11\1\365\21\11\4\0\3\11\1\0"+
- "\2\11\20\0\1\366\26\11\4\0\3\11\1\0\2\11"+
- "\20\0\12\11\1\367\14\11\4\0\3\11\1\0\2\11"+
- "\20\0\11\11\1\370\15\11\4\0\3\11\1\0\2\11"+
- "\20\0\11\11\1\371\15\11\4\0\3\11\1\0\2\11"+
- "\20\0\7\11\1\372\17\11\4\0\3\11\1\0\2\11"+
- "\20\0\7\11\1\373\17\11\4\0\3\11\1\0\2\11"+
- "\20\0\2\11\1\374\24\11\4\0\3\11\1\0\2\11"+
- "\20\0\11\11\1\375\15\11\4\0\3\11\1\0\2\11"+
- "\20\0\7\11\1\376\17\11\4\0\3\11\1\0\1\11"+
- "\1\377\20\0\27\11\4\0\3\11\1\0\2\11\20\0"+
- "\23\11\1\u0100\3\11\4\0\3\11\1\0\2\11\20\0"+
- "\3\11\1\u0101\23\11\4\0\3\11\1\0\2\11\20\0"+
- "\11\11\1\u0102\15\11\4\0\3\11\1\0\2\11\20\0"+
- "\6\11\1\u0103\20\11\4\0\3\11\1\0\2\11\20\0"+
- "\5\11\1\u0104\21\11\4\0\3\11\1\0\1\11\1\u0105"+
- "\20\0\27\11\4\0\3\11\1\0\2\11\20\0\5\11"+
- "\1\u0106\21\11\4\0\3\11\1\0\2\11\20\0\1\u0107"+
- "\26\11\4\0\3\11\1\0\2\11\20\0\20\11\1\u0108"+
- "\6\11\4\0\3\11\1\0\2\11\20\0\20\11\1\u0109"+
- "\6\11\4\0\3\11\1\0\2\11\20\0\7\11\1\u010a"+
- "\17\11\4\0\3\11\1\0\2\11\20\0\11\11\1\u010b"+
- "\15\11\4\0\3\11\1\0\2\11\20\0\7\11\1\u010c"+
- "\17\11\4\0\3\11\1\0\2\11\20\0\14\11\1\u010d"+
- "\12\11\4\0\3\11\1\0\2\11\20\0\5\11\1\u010e"+
- "\21\11\4\0\3\11\1\0\2\11\20\0\11\11\1\u010f"+
- "\15\11\4\0\3\11\1\0\2\11\20\0\16\11\1\u0110"+
- "\10\11\4\0\3\11\1\0\2\11\20\0\1\11\1\u0111"+
- "\25\11\4\0\3\11\1\0\1\11\1\u0112\20\0\27\11"+
- "\4\0\3\11\1\0\1\11\1\u0113\20\0\27\11\4\0"+
- "\3\11\1\0\2\11\20\0\20\11\1\u0114\6\11\4\0"+
- "\3\11\1\0\1\11\1\u0115\20\0\27\11\4\0\3\11"+
- "\1\0\2\11\20\0\16\11\1\u0116\10\11\4\0\3\11"+
- "\1\0\2\11\20\0\5\11\1\u0117\21\11\4\0\3\11"+
- "\1\0\2\11\20\0\21\11\1\u0118\5\11\4\0\3\11"+
- "\1\0\2\11\20\0\12\11\1\u0119\14\11\4\0\3\11"+
- "\1\0\2\11\20\0\12\11\1\u011a\14\11\4\0\3\11"+
- "\1\0\2\11\20\0\6\11\1\u011b\20\11\4\0\3\11"+
- "\1\0\2\11\20\0\6\11\1\u011c\20\11\4\0\3\11"+
- "\1\0\1\11\1\u011d\20\0\27\11\4\0\3\11\1\0"+
- "\2\11\20\0\16\11\1\u011e\10\11\4\0\3\11\1\0"+
- "\2\11\20\0\4\11\1\u011f\22\11\4\0\3\11\1\0"+
- "\2\11\20\0\7\11\1\u0120\17\11\4\0\3\11\1\0"+
- "\2\11\20\0\5\11\1\u0121\21\11\4\0\3\11\1\0"+
- "\2\11\20\0\2\11\1\u0122\24\11\4\0\3\11\1\0"+
- "\1\11\1\u0123\20\0\27\11\4\0\3\11\1\0\2\11"+
- "\20\0\2\11\1\u0124\24\11\4\0\3\11\1\0\2\11"+
- "\20\0\2\11\1\u0125\24\11\4\0\3\11\1\0\2\11"+
- "\20\0\2\11\1\u0126\24\11\4\0\3\11\1\0\2\11"+
- "\20\0\12\11\1\u0127\14\11\4\0\3\11\1\0\2\11"+
- "\20\0\5\11\1\u0128\21\11\4\0\3\11\1\0\2\11"+
- "\20\0\1\u0129\26\11\4\0\3\11\1\0\2\11\20\0"+
- "\7\11\1\u012a\17\11\4\0\3\11\1\0\2\11\20\0"+
- "\13\11\1\u012b\13\11\4\0\3\11\1\0\2\11\20\0"+
- "\6\11\1\u012c\20\11\4\0\3\11\1\0\2\11\20\0"+
- "\13\11\1\u012d\13\11\4\0\3\11\1\0\2\11\20\0"+
- "\13\11\1\u012e\13\11\4\0\3\11\1\0\2\11\20\0"+
- "\7\11\1\u012f\17\11\4\0\3\11\1\0\1\11\1\u0130"+
- "\20\0\27\11\4\0\3\11\1\0\2\11\20\0\5\11"+
- "\1\u0131\21\11\4\0\3\11\1\0\2\11\20\0\11\11"+
- "\1\u0132\15\11\4\0\3\11\1\0\2\11\20\0\14\11"+
- "\1\u0133\12\11\4\0\3\11\1\0\2\11\20\0\5\11"+
- "\1\u0134\21\11\4\0\3\11\1\0\2\11\20\0\3\11"+
- "\1\u0135\23\11\4\0\3\11\1\0\2\11\20\0\3\11"+
- "\1\u0136\23\11\4\0\3\11\1\0\2\11\20\0\6\11"+
- "\1\u0137\20\11\4\0\3\11\1\0\2\11\20\0\6\11"+
- "\1\u0138\20\11\4\0\3\11\1\0\2\11\20\0\11\11"+
- "\1\u0139\15\11\4\0\3\11\1\0\2\11\20\0\3\11"+
- "\1\u013a\23\11\4\0\3\11\1\0\2\11\20\0\2\11"+
- "\1\u013b\24\11\4\0\3\11\1\0\2\11\20\0\2\11"+
- "\1\u013c\24\11\4\0\3\11\1\0\2\11\20\0\11\11"+
- "\1\u013d\15\11\4\0\3\11\1\0\2\11\20\0\5\11"+
- "\1\u013e\21\11\4\0\3\11\1\0\2\11\20\0\5\11"+
- "\1\u013f\21\11\4\0\3\11\1\0\2\11\20\0\15\11"+
- "\1\u0140\11\11\4\0\3\11\1\0\2\11\20\0\7\11"+
- "\1\u0141\17\11\4\0\3\11\1\0\2\11\20\0\7\11"+
- "\1\u0142\17\11\4\0\3\11\1\0\2\11\20\0\12\11"+
- "\1\u0143\14\11\4\0\3\11\1\0\2\11\20\0\3\11"+
- "\1\u0144\23\11\4\0\3\11\1\0\2\11\20\0\20\11"+
- "\1\u0145\6\11\4\0\3\11\1\0\2\11\20\0\20\11"+
- "\1\u0146\6\11\4\0\3\11\1\0\2\11\20\0\14\11"+
- "\1\u0147\12\11\4\0\3\11\1\0\2\11\20\0\15\11"+
- "\1\u0148\11\11\4\0\3\11\1\0\2\11\20\0\1\u0149"+
- "\26\11\4\0\3\11\1\0\2\11\20\0\11\11\1\u014a"+
- "\15\11\4\0\3\11\1\0\2\11\20\0\2\11\1\u014b"+
- "\24\11\4\0\3\11\1\0\2\11\20\0\16\11\1\u014c"+
- "\10\11\4\0\3\11\1\0\2\11\20\0\7\11\1\u014d"+
- "\17\11";
-
- private static int [] zzUnpackTrans() {
- int [] result = new int[12593];
- int offset = 0;
- offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result);
- return result;
- }
-
- private static int zzUnpackTrans(String packed, int offset, int [] result) {
- int i = 0; /* index in packed string */
- int j = offset; /* index in unpacked array */
- int l = packed.length();
- while (i < l) {
- int count = packed.charAt(i++);
- int value = packed.charAt(i++);
- value--;
- do result[j++] = value; while (--count > 0);
- }
- return j;
- }
-
-
- /* error codes */
- private static final int ZZ_UNKNOWN_ERROR = 0;
- private static final int ZZ_NO_MATCH = 1;
- private static final int ZZ_PUSHBACK_2BIG = 2;
-
- /* error messages for the codes above */
- private static final String ZZ_ERROR_MSG[] = {
- "Unkown internal scanner error",
- "Error: could not match input",
- "Error: pushback value was too large"
- };
-
- /**
- * ZZ_ATTRIBUTE[aState] contains the attributes of state <code>aState</code>
- */
- private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute();
-
- private static final String ZZ_ATTRIBUTE_PACKED_0 =
- "\2\0\2\11\5\1\2\11\2\1\6\11\4\1\4\11"+
- "\22\1\1\0\1\1\1\0\2\1\1\0\11\11\53\1"+
- "\2\11\1\1\1\0\342\1";
-
- private static int [] zzUnpackAttribute() {
- int [] result = new int[333];
- int offset = 0;
- offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result);
- return result;
- }
-
- private static int zzUnpackAttribute(String packed, int offset, int [] result) {
- int i = 0; /* index in packed string */
- int j = offset; /* index in unpacked array */
- int l = packed.length();
- while (i < l) {
- int count = packed.charAt(i++);
- int value = packed.charAt(i++);
- do result[j++] = value; while (--count > 0);
- }
- return j;
- }
-
- /** the input device */
- private java.io.Reader zzReader;
-
- /** the current state of the DFA */
- private int zzState;
-
- /** the current lexical state */
- private int zzLexicalState = YYINITIAL;
-
- /** this buffer contains the current text to be matched and is
- the source of the yytext() string */
- private char zzBuffer[] = new char[ZZ_BUFFERSIZE];
-
- /** the textposition at the last accepting state */
- private int zzMarkedPos;
-
- /** the current text position in the buffer */
- private int zzCurrentPos;
-
- /** startRead marks the beginning of the yytext() string in the buffer */
- private int zzStartRead;
-
- /** endRead marks the last character in the buffer, that has been read
- from input */
- private int zzEndRead;
-
- /** number of newlines encountered up to the start of the matched text */
- private int yyline;
-
- /** the number of characters up to the start of the matched text */
- private int yychar;
-
- /**
- * the number of characters from the last newline up to the start of the
- * matched text
- */
- private int yycolumn;
-
- /**
- * zzAtBOL == true <=> the scanner is currently at the beginning of a line
- */
- private boolean zzAtBOL = true;
-
- /** zzAtEOF == true <=> the scanner is at the EOF */
- private boolean zzAtEOF;
-
- /** denotes if the user-EOF-code has already been executed */
- private boolean zzEOFDone;
-
- /* user code: */
- public int lineno() { return yyline + 1; }
- public int colno() { return yycolumn + 1; }
-
- private Symbol symbol(int type) {
- return new Symbol(type, lineno(), colno());
- }
- private Symbol symbol(int type, Object value) {
- return new Symbol(type, lineno(), colno(), value);
- }
-
- private int commentLevel = 0;
-
-
- /**
- * Creates a new scanner
- * There is also a java.io.InputStream version of this constructor.
- *
- * @param in the java.io.Reader to read input from.
- */
- XPathFlex(java.io.Reader in) {
- this.zzReader = in;
- }
-
- /**
- * Creates a new scanner.
- * There is also java.io.Reader version of this constructor.
- *
- * @param in the java.io.Inputstream to read input from.
- */
- XPathFlex(java.io.InputStream in) {
- this(new java.io.InputStreamReader(in));
- }
-
- /**
- * Unpacks the compressed character translation table.
- *
- * @param packed the packed character translation table
- * @return the unpacked character translation table
- */
- private static char [] zzUnpackCMap(String packed) {
- char [] map = new char[0x10000];
- int i = 0; /* index in packed string */
- int j = 0; /* index in unpacked array */
- while (i < 132) {
- int count = packed.charAt(i++);
- char value = packed.charAt(i++);
- do map[j++] = value; while (--count > 0);
- }
- return map;
- }
-
-
- /**
- * Refills the input buffer.
- *
- * @return <code>false</code>, iff there was new input.
- *
- * @exception java.io.IOException if any I/O-Error occurs
- */
- private boolean zzRefill() throws java.io.IOException {
-
- /* first: make room (if you can) */
- if (zzStartRead > 0) {
- System.arraycopy(zzBuffer, zzStartRead,
- zzBuffer, 0,
- zzEndRead-zzStartRead);
-
- /* translate stored positions */
- zzEndRead-= zzStartRead;
- zzCurrentPos-= zzStartRead;
- zzMarkedPos-= zzStartRead;
- zzStartRead = 0;
- }
-
- /* is the buffer big enough? */
- if (zzCurrentPos >= zzBuffer.length) {
- /* if not: blow it up */
- char newBuffer[] = new char[zzCurrentPos*2];
- System.arraycopy(zzBuffer, 0, newBuffer, 0, zzBuffer.length);
- zzBuffer = newBuffer;
- }
-
- /* finally: fill the buffer with new input */
- int numRead = zzReader.read(zzBuffer, zzEndRead,
- zzBuffer.length-zzEndRead);
-
- if (numRead > 0) {
- zzEndRead+= numRead;
- return false;
- }
- // unlikely but not impossible: read 0 characters, but not at end of stream
- if (numRead == 0) {
- int c = zzReader.read();
- if (c == -1) {
- return true;
- } else {
- zzBuffer[zzEndRead++] = (char) c;
- return false;
- }
- }
-
- // numRead < 0
- return true;
- }
-
-
- /**
- * Closes the input stream.
- */
- public final void yyclose() throws java.io.IOException {
- zzAtEOF = true; /* indicate end of file */
- zzEndRead = zzStartRead; /* invalidate buffer */
-
- if (zzReader != null)
- zzReader.close();
- }
-
-
- /**
- * Resets the scanner to read from a new input stream.
- * Does not close the old reader.
- *
- * All internal variables are reset, the old input stream
- * <b>cannot</b> be reused (internal buffer is discarded and lost).
- * Lexical state is set to <tt>ZZ_INITIAL</tt>.
- *
- * @param reader the new input stream
- */
- public final void yyreset(java.io.Reader reader) {
- zzReader = reader;
- zzAtBOL = true;
- zzAtEOF = false;
- zzEOFDone = false;
- zzEndRead = zzStartRead = 0;
- zzCurrentPos = zzMarkedPos = 0;
- yyline = yychar = yycolumn = 0;
- zzLexicalState = YYINITIAL;
- }
-
-
- /**
- * Returns the current lexical state.
- */
- public final int yystate() {
- return zzLexicalState;
- }
-
-
- /**
- * Enters a new lexical state
- *
- * @param newState the new lexical state
- */
- public final void yybegin(int newState) {
- zzLexicalState = newState;
- }
-
-
- /**
- * Returns the text matched by the current regular expression.
- */
- public final String yytext() {
- return new String( zzBuffer, zzStartRead, zzMarkedPos-zzStartRead );
- }
-
-
- /**
- * Returns the character at position <tt>pos</tt> from the
- * matched text.
- *
- * It is equivalent to yytext().charAt(pos), but faster
- *
- * @param pos the position of the character to fetch.
- * A value from 0 to yylength()-1.
- *
- * @return the character at position pos
- */
- public final char yycharat(int pos) {
- return zzBuffer[zzStartRead+pos];
- }
-
-
- /**
- * Returns the length of the matched text region.
- */
- public final int yylength() {
- return zzMarkedPos-zzStartRead;
- }
-
-
- /**
- * Reports an error that occured while scanning.
- *
- * In a wellformed scanner (no or only correct usage of
- * yypushback(int) and a match-all fallback rule) this method
- * will only be called with things that "Can't Possibly Happen".
- * If this method is called, something is seriously wrong
- * (e.g. a JFlex bug producing a faulty scanner etc.).
- *
- * Usual syntax/scanner level error handling should be done
- * in error fallback rules.
- *
- * @param errorCode the code of the errormessage to display
- */
- private void zzScanError(int errorCode) {
- String message;
- try {
- message = ZZ_ERROR_MSG[errorCode];
- }
- catch (ArrayIndexOutOfBoundsException e) {
- message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR];
- }
-
- throw new Error(message);
- }
-
-
- /**
- * Pushes the specified amount of characters back into the input stream.
- *
- * They will be read again by then next call of the scanning method
- *
- * @param number the number of characters to be read again.
- * This number must not be greater than yylength()!
- */
- public void yypushback(int number) {
- if ( number > yylength() )
- zzScanError(ZZ_PUSHBACK_2BIG);
-
- zzMarkedPos -= number;
- }
-
-
- /**
- * Contains user EOF-code, which will be executed exactly once,
- * when the end of file is reached
- */
- private void zzDoEOF() throws java.io.IOException {
- if (!zzEOFDone) {
- zzEOFDone = true;
- yyclose();
- }
- }
-
-
- /**
- * Resumes scanning until the next regular expression is matched,
- * the end of input is encountered or an I/O-Error occurs.
- *
- * @return the next token
- * @exception java.io.IOException if any I/O-Error occurs
- */
- public java_cup.runtime.Symbol next_token() throws java.io.IOException {
- int zzInput;
- int zzAction;
-
- // cached fields:
- int zzCurrentPosL;
- int zzMarkedPosL;
- int zzEndReadL = zzEndRead;
- char [] zzBufferL = zzBuffer;
- char [] zzCMapL = ZZ_CMAP;
-
- int [] zzTransL = ZZ_TRANS;
- int [] zzRowMapL = ZZ_ROWMAP;
- int [] zzAttrL = ZZ_ATTRIBUTE;
-
- while (true) {
- zzMarkedPosL = zzMarkedPos;
-
- boolean zzR = false;
- for (zzCurrentPosL = zzStartRead; zzCurrentPosL < zzMarkedPosL;
- zzCurrentPosL++) {
- switch (zzBufferL[zzCurrentPosL]) {
- case '\u000B':
- case '\u000C':
- case '\u0085':
- case '\u2028':
- case '\u2029':
- yyline++;
- yycolumn = 0;
- zzR = false;
- break;
- case '\r':
- yyline++;
- yycolumn = 0;
- zzR = true;
- break;
- case '\n':
- if (zzR)
- zzR = false;
- else {
- yyline++;
- yycolumn = 0;
- }
- break;
- default:
- zzR = false;
- yycolumn++;
- }
- }
-
- if (zzR) {
- // peek one character ahead if it is \n (if we have counted one line too much)
- boolean zzPeek;
- if (zzMarkedPosL < zzEndReadL)
- zzPeek = zzBufferL[zzMarkedPosL] == '\n';
- else if (zzAtEOF)
- zzPeek = false;
- else {
- boolean eof = zzRefill();
- zzEndReadL = zzEndRead;
- zzMarkedPosL = zzMarkedPos;
- zzBufferL = zzBuffer;
- if (eof)
- zzPeek = false;
- else
- zzPeek = zzBufferL[zzMarkedPosL] == '\n';
- }
- if (zzPeek) yyline--;
- }
- zzAction = -1;
-
- zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL;
-
- zzState = ZZ_LEXSTATE[zzLexicalState];
-
-
- zzForAction: {
- while (true) {
-
- if (zzCurrentPosL < zzEndReadL)
- zzInput = zzBufferL[zzCurrentPosL++];
- else if (zzAtEOF) {
- zzInput = YYEOF;
- break zzForAction;
- }
- else {
- // store back cached positions
- zzCurrentPos = zzCurrentPosL;
- zzMarkedPos = zzMarkedPosL;
- boolean eof = zzRefill();
- // get translated positions and possibly new buffer
- zzCurrentPosL = zzCurrentPos;
- zzMarkedPosL = zzMarkedPos;
- zzBufferL = zzBuffer;
- zzEndReadL = zzEndRead;
- if (eof) {
- zzInput = YYEOF;
- break zzForAction;
- }
- else {
- zzInput = zzBufferL[zzCurrentPosL++];
- }
- }
- int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ];
- if (zzNext == -1) break zzForAction;
- zzState = zzNext;
-
- int zzAttributes = zzAttrL[zzState];
- if ( (zzAttributes & 1) == 1 ) {
- zzAction = zzState;
- zzMarkedPosL = zzCurrentPosL;
- if ( (zzAttributes & 8) == 8 ) break zzForAction;
- }
-
- }
- }
-
- // store back cached position
- zzMarkedPos = zzMarkedPosL;
-
- switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
- case 74:
- { return symbol(XpathSym.ANCESTOR);
- }
- case 92: break;
- case 56:
- { return symbol(XpathSym.ITEM);
- }
- case 93: break;
- case 46:
- { return symbol(XpathSym.GT);
- }
- case 94: break;
- case 81:
- { return symbol(XpathSym.DESCENDANT);
- }
- case 95: break;
- case 15:
- { return symbol(XpathSym.EQUALS);
- }
- case 96: break;
- case 3:
- { return symbol(XpathSym.INTEGER, new BigInteger(yytext()));
- }
- case 97: break;
- case 39:
- { return symbol(XpathSym.EQ);
- }
- case 98: break;
- case 71:
- { return symbol(XpathSym.ELEMENT);
- }
- case 99: break;
- case 77:
- { return symbol(XpathSym.NAMESPACE);
- }
- case 100: break;
- case 34:
- { return symbol(XpathSym.IS);
- }
- case 101: break;
- case 23:
- { // get rid of quotes
- String str = yytext();
- assert str.length() >= 2;
- return symbol(XpathSym.STRING, org.eclipse.wst.xml.xpath2.processor.internal.utils.LiteralUtils.unquote(str));
- }
- case 102: break;
- case 1:
- { String err = "Unknown character at line " + lineno();
- err += " col " + colno();
- err += ": " + yytext();
-
- throw new JFlexError(err);
- }
- case 103: break;
- case 20:
- { return symbol(XpathSym.COMMA);
- }
- case 104: break;
- case 70:
- { return symbol(XpathSym.COMMENT);
- }
- case 105: break;
- case 38:
- { return symbol(XpathSym.LT);
- }
- case 106: break;
- case 30:
- { return symbol(XpathSym.LESS_LESS);
- }
- case 107: break;
- case 65:
- { return symbol(XpathSym.TREAT);
- }
- case 108: break;
- case 13:
- { return symbol(XpathSym.STAR);
- }
- case 109: break;
- case 66:
- { return symbol(XpathSym.UNION);
- }
- case 110: break;
- case 21:
- { return symbol(XpathSym.DOLLAR);
- }
- case 111: break;
- case 85:
- { return symbol(XpathSym.SCHEMA_ELEMENT);
- }
- case 112: break;
- case 35:
- { return symbol(XpathSym.IN);
- }
- case 113: break;
- case 43:
- { return symbol(XpathSym.OR);
- }
- case 114: break;
- case 25:
- { return symbol(XpathSym.DOTDOT);
- }
- case 115: break;
- case 82:
- { return symbol(XpathSym.TYPESWITCH);
- }
- case 116: break;
- case 5:
- { return symbol(XpathSym.NCNAME, yytext());
- }
- case 117: break;
- case 24:
- { return symbol(XpathSym.DECIMAL, new BigDecimal(yytext()));
- }
- case 118: break;
- case 19:
- { return symbol(XpathSym.AT_SYM);
- }
- case 119: break;
- case 29:
- { return symbol(XpathSym.LESSEQUAL);
- }
- case 120: break;
- case 26:
- { commentLevel++; // int overflow =P
- yybegin(COMMENT);
- }
- case 121: break;
- case 83:
- { return symbol(XpathSym.DOCUMENT_NODE);
- }
- case 122: break;
- case 33:
- { return symbol(XpathSym.FORWARD_SLASHSLASH);
- }
- case 123: break;
- case 18:
- { return symbol(XpathSym.FORWARD_SLASH);
- }
- case 124: break;
- case 67:
- { return symbol(XpathSym.EXCEPT);
- }
- case 125: break;
- case 89:
- { return symbol(XpathSym.PRECEDING_SIBLING);
- }
- case 126: break;
- case 73:
- { return symbol(XpathSym.INSTANCE);
- }
- case 127: break;
- case 57:
- { return symbol(XpathSym.ELSE);
- }
- case 128: break;
- case 45:
- { return symbol(XpathSym.GE);
- }
- case 129: break;
- case 47:
- { commentLevel++;
- }
- case 130: break;
- case 36:
- { return symbol(XpathSym.IF);
- }
- case 131: break;
- case 42:
- { return symbol(XpathSym.TO);
- }
- case 132: break;
- case 84:
- { return symbol(XpathSym.EMPTY_SEQUENCE);
- }
- case 133: break;
- case 80:
- { return symbol(XpathSym.PRECEDING);
- }
- case 134: break;
- case 31:
- { return symbol(XpathSym.GREATEREQUAL);
- }
- case 135: break;
- case 87:
- { return symbol(XpathSym.ANCESTOR_OR_SELF);
- }
- case 136: break;
- case 78:
- { return symbol(XpathSym.ATTRIBUTE);
- }
- case 137: break;
- case 86:
- { return symbol(XpathSym.SCHEMA_ATTRIBUTE);
- }
- case 138: break;
- case 79:
- { return symbol(XpathSym.FOLLOWING);
- }
- case 139: break;
- case 52:
- { return symbol(XpathSym.FOR);
- }
- case 140: break;
- case 14:
- { return symbol(XpathSym.PIPE);
- }
- case 141: break;
- case 22:
- { return symbol(XpathSym.QUESTIONMARK);
- }
- case 142: break;
- case 37:
- { return symbol(XpathSym.LE);
- }
- case 143: break;
- case 75:
- { return symbol(XpathSym.INTERSECT);
- }
- case 144: break;
- case 48:
- { commentLevel--;
- if(commentLevel == 0)
- yybegin(YYINITIAL);
- }
- case 145: break;
- case 44:
- { return symbol(XpathSym.OF);
- }
- case 146: break;
- case 63:
- { return symbol(XpathSym.CHILD);
- }
- case 147: break;
- case 40:
- { return symbol(XpathSym.NE);
- }
- case 148: break;
- case 58:
- { return symbol(XpathSym.SELF);
- }
- case 149: break;
- case 27:
- { return symbol(XpathSym.COLONCOLON);
- }
- case 150: break;
- case 50:
- { return symbol(XpathSym.DIV);
- }
- case 151: break;
- case 88:
- { return symbol(XpathSym.FOLLOWING_SIBLING);
- }
- case 152: break;
- case 62:
- { return symbol(XpathSym.TEXT);
- }
- case 153: break;
- case 68:
- { return symbol(XpathSym.RETURN);
- }
- case 154: break;
- case 53:
- { return symbol(XpathSym.MOD);
- }
- case 155: break;
- case 6:
- { return symbol(XpathSym.PLUS);
- }
- case 156: break;
- case 28:
- { return symbol(XpathSym.NOTEQUALS);
- }
- case 157: break;
- case 32:
- { return symbol(XpathSym.GREATER_GREATER);
- }
- case 158: break;
- case 64:
- { return symbol(XpathSym.EVERY);
- }
- case 159: break;
- case 72:
- { return symbol(XpathSym.CASTABLE);
- }
- case 160: break;
- case 90:
- { return symbol(XpathSym.DESCENDANT_OR_SELF);
- }
- case 161: break;
- case 76:
- { return symbol(XpathSym.SATISFIES);
- }
- case 162: break;
- case 91:
- { return symbol(XpathSym.PROCESSING_INSTRUCTION);
- }
- case 163: break;
- case 16:
- { return symbol(XpathSym.LESSTHAN);
- }
- case 164: break;
- case 54:
- { return symbol(XpathSym.CAST);
- }
- case 165: break;
- case 12:
- { return symbol(XpathSym.RPAR);
- }
- case 166: break;
- case 2:
- { /* ignore */
- }
- case 167: break;
- case 10:
- { return symbol(XpathSym.LBRACKET);
- }
- case 168: break;
- case 60:
- { return symbol(XpathSym.NODE);
- }
- case 169: break;
- case 55:
- { return symbol(XpathSym.IDIV);
- }
- case 170: break;
- case 49:
- { return symbol(XpathSym.DOUBLE, new Double(yytext()));
- }
- case 171: break;
- case 61:
- { return symbol(XpathSym.THEN);
- }
- case 172: break;
- case 59:
- { return symbol(XpathSym.SOME);
- }
- case 173: break;
- case 69:
- { return symbol(XpathSym.PARENT);
- }
- case 174: break;
- case 7:
- { return symbol(XpathSym.MINUS);
- }
- case 175: break;
- case 41:
- { return symbol(XpathSym.AS);
- }
- case 176: break;
- case 4:
- { return symbol(XpathSym.DOT);
- }
- case 177: break;
- case 11:
- { return symbol(XpathSym.RBRACKET);
- }
- case 178: break;
- case 17:
- { return symbol(XpathSym.GREATER);
- }
- case 179: break;
- case 51:
- { return symbol(XpathSym.AND);
- }
- case 180: break;
- case 8:
- { return symbol(XpathSym.LPAR);
- }
- case 181: break;
- case 9:
- { return symbol(XpathSym.COLON);
- }
- case 182: break;
- default:
- if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
- zzAtEOF = true;
- zzDoEOF();
- { return new java_cup.runtime.Symbol(sym.EOF); }
- }
- else {
- zzScanError(ZZ_NO_MATCH);
- }
- }
- }
- }
-
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/grammars/xpath.cup b/bundles/org.eclipse.wst.xml.xpath2.processor/grammars/xpath.cup
deleted file mode 100644
index 359256f..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/grammars/xpath.cup
+++ /dev/null
@@ -1,771 +0,0 @@
-// *******************************************************************************
-// * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
-// * All rights reserved. This program and the accompanying materials
-// * are made available under the terms of the Eclipse Public License v1.0
-// * which accompanies this distribution, and is available at
-// * http://www.eclipse.org/legal/epl-v10.html
-// *
-// * Contributors:
-// * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
-// * David Carver - bug 269833 - A work around for the keyword in node issue.
-// * Jesper S Moller - bug 283214 - fix IF THEN ELSE parsing and update grammars
-// * David Carver (STAR) - bug 262765 - Fixed Wildcard and NCName issue.
-// * Jesper S Moller - bug 297707 - Missing the empty-sequence() type
-// * Jesper S Moller - bug 311480 - fix problem with name matching on keywords
-// *******************************************************************************/
-
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.util.*;
-import org.eclipse.wst.xml.xpath2.processor.ast.XPath;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-
-parser code {:
-
-public void report_error(String message, Object info) {
- String err = "Parser error: ";
-
- XPathFlex lexer = (XPathFlex) getScanner();
-
- err += "line " + lexer.lineno();
- err += " col " + lexer.colno();
- err += ": " + lexer.yytext();
-
-
- throw new CupError(err);
-}
-:}
-
-
-
-terminal LBRACKET, RBRACKET, LPAR, RPAR;
-terminal PLUS, MINUS, STAR, PIPE;
-terminal EQUALS, NOTEQUALS, LESSTHAN, LESSEQUAL, GREATER, GREATEREQUAL;
-terminal LESS_LESS, GREATER_GREATER;
-terminal FORWARD_SLASH, FORWARD_SLASHSLASH;
-terminal COLONCOLON, AT_SYM, DOTDOT, COLON, COMMA, DOLLAR, DOT, QUESTIONMARK;
-
-terminal String CHILD, DESCENDANT, ATTRIBUTE, SELF, DESCENDANT_OR_SELF;
-terminal String FOLLOWING_SIBLING, FOLLOWING, NAMESPACE, PARENT;
-terminal String ANCESTOR, PRECEDING_SIBLING, PRECEDING, ANCESTOR_OR_SELF;
-terminal EQ, NE, LT, LE, GT, GE;
-terminal String DIV, IDIV, MOD;
-terminal String UNION, INTERSECT, EXCEPT;
-terminal String INSTANCE, OF, TREAT, AS, CASTABLE, CAST, IS;
-terminal String FOR, IN, RETURN, SATISFIES, TO;
-terminal String SOME, EVERY;
-terminal String IF, THEN, ELSE;
-terminal String AND, OR;
-terminal EMPTY_SEQUENCE, ITEM, NODE, DOCUMENT_NODE, TEXT, COMMENT;
-terminal PROCESSING_INSTRUCTION, SCHEMA_ATTRIBUTE, ELEMENT, SCHEMA_ELEMENT;
-// Unused in XPath 2, but reserved for compatibility with XQuery
-terminal TYPESWITCH;
-
-terminal BigInteger INTEGER;
-terminal Double DOUBLE;
-terminal BigDecimal DECIMAL;
-terminal String STRING, NCNAME;
-
-
-non terminal String NCName, UnreservedNCName, Prefix, LocalPart;
-non terminal StringLiteral StringLiteral;
-non terminal QName ElementDeclaration, ElementNameOrWildcard, TypeName, ElementName;
-non terminal QName AttributeDeclaration, AttribNameOrWildcard, AttributeName;
-non terminal QName AtomicType, QName, UnreservedQName, VarName, Wildcard;
-non terminal Integer OccurrenceIndicator, ReverseAxis, ForwardAxis, NodeComp;
-non terminal ItemType ItemType;
-non terminal Collection FunctionCallMiddle, ParenthesizedExpr, Expr;
-non terminal Collection PredicateList, QuantifiedExprMiddle, SimpleForClause;
-non terminal PrimaryExpr PrimaryExpr;
-non terminal NodeTest NodeTest;
-non terminal ReverseStep ReverseStep, AbbrevReverseStep;
-non terminal ForwardStep ForwardStep, AbbrevForwardStep;
-non terminal StepExpr StepExpr;
-non terminal XPathExpr RelativePathExpr;
-non terminal Expr UnaryExpr;
-non terminal SingleType SingleType;
-non terminal SequenceType SequenceType;
-non terminal Expr TreatExpr, CastableExpr, InstanceofExpr, CastExpr;
-non terminal Expr UnionExpr, MultiplicativeExpr, IntersectExceptExpr, ExprSingle;
-non terminal Expr AdditiveExpr;
-non terminal Integer GeneralComp, ValueComp;
-non terminal Expr AndExpr, OrExpr, RangeExpr, ComparisonExpr;
-non terminal NameTest NameTest;
-non terminal KindTest KindTest;
-non terminal Literal Literal;
-non terminal VarRef VarRef;
-non terminal CntxItemExpr ContextItemExpr;
-non terminal FunctionCall FunctionCall;
-non terminal NumericLiteral NumericLiteral;
-non terminal DecimalLiteral DecimalLiteral;
-non terminal IntegerLiteral IntegerLiteral;
-non terminal DoubleLiteral DoubleLiteral;
-non terminal DocumentTest DocumentTest;
-non terminal TextTest TextTest;
-non terminal CommentTest CommentTest;
-non terminal PITest PITest;
-non terminal AttributeTest AttributeTest;
-non terminal AnyKindTest AnyKindTest;
-non terminal ElementTest ElementTest;
-non terminal SchemaAttrTest SchemaAttributeTest;
-non terminal SchemaElemTest SchemaElementTest;
-non terminal XPath XPath;
-non terminal ForExpr ForExpr;
-non terminal QuantifiedExpr QuantifiedExpr;
-non terminal IfExpr IfExpr;
-non terminal XPathExpr PathExpr, ValueExpr;
-non terminal AxisStep AxisStep;
-non terminal FilterExpr FilterExpr;
-non terminal Collection Predicate;
-
-precedence left PLUS, MINUS;
-precedence left STAR;
-precedence left COLON;
-precedence left COLONCOLON;
-precedence left CHILD, DESCENDANT, ATTRIBUTE, SELF, DESCENDANT_OR_SELF;
-precedence left FOLLOWING_SIBLING, FOLLOWING, NAMESPACE, PARENT;
-precedence left ANCESTOR, PRECEDING_SIBLING, PRECEDING, ANCESTOR_OR_SELF;
-precedence left UNION, INTERSECT, EXCEPT;
-precedence left INSTANCE, OF, TREAT, AS, CASTABLE, CAST, IS;
-precedence left FOR, IN, RETURN, SATISFIES, TO;
-precedence left SOME, EVERY;
-precedence left IF, THEN, ELSE;
-precedence left AND, OR;
-precedence left DIV, IDIV, MOD;
-precedence left EQ, NE, LT, LE, GT, GE;
-
-
-
-XPath ::= Expr:exps {: RESULT = new XPath(exps); :} ;
-
-Expr ::= ExprSingle:ex
- {:
- Collection exps = new ArrayList();
- exps.add(ex);
- RESULT = exps;
- :}
- | Expr:exprs COMMA ExprSingle:ex
- {:
- exprs.add(ex);
- RESULT = exprs;
- :}
- ;
-
-ExprSingle ::= ForExpr:n {: RESULT = n; :}
- | QuantifiedExpr:n {: RESULT = n; :}
- | IfExpr:n {: RESULT = n; :}
- | OrExpr:n {: RESULT = n; :}
- ;
-
-ForExpr ::= SimpleForClause:pairs RETURN ExprSingle:e
- {:
- ForExpr fexp = new ForExpr(pairs,e);
- RESULT = fexp;
- :}
- ;
-
-SimpleForClause ::= FOR DOLLAR VarName:v IN ExprSingle:e
- {:
- Collection pairs = new ArrayList();
- VarExprPair p = new VarExprPair(v,e);
- pairs.add(p);
- RESULT = pairs;
- :}
-
- | SimpleForClause:ps COMMA DOLLAR VarName:v IN ExprSingle:e
- {:
- VarExprPair p = new VarExprPair(v,e);
- ps.add(p);
- RESULT = ps;
- :}
- ;
-
-QuantifiedExpr ::= SOME DOLLAR QuantifiedExprMiddle:pairs SATISFIES ExprSingle:e
- {:
- QuantifiedExpr qe = new QuantifiedExpr(QuantifiedExpr.SOME,
- pairs, e);
- RESULT = qe;
- :}
- | EVERY DOLLAR QuantifiedExprMiddle:pairs SATISFIES ExprSingle:e
- {:
- QuantifiedExpr qe = new QuantifiedExpr(QuantifiedExpr.ALL,
- pairs, e);
- RESULT = qe;
- :}
- ;
-
-QuantifiedExprMiddle ::= VarName:v IN ExprSingle:e
- {:
- Collection pairs = new ArrayList();
- VarExprPair p = new VarExprPair(v,e);
- pairs.add(p);
- RESULT = pairs;
- :}
- | QuantifiedExprMiddle:ps COMMA DOLLAR VarName:v IN ExprSingle:e
- {:
- VarExprPair p = new VarExprPair(v,e);
- ps.add(p);
- RESULT = ps;
- :}
- ;
-
-IfExpr ::= IF LPAR Expr:exps RPAR THEN ExprSingle:t ELSE ExprSingle:e
- {: RESULT = new IfExpr(exps, t, e); :}
- ;
-
-OrExpr ::= AndExpr:n {: RESULT = n; :}
- | OrExpr:l OR AndExpr:r {: RESULT = new OrExpr(l, r); :}
- ;
-
-AndExpr ::= ComparisonExpr:n {: RESULT = n; :}
- | AndExpr:l AND ComparisonExpr:r
- {: RESULT = new AndExpr(l, r); :}
- ;
-
-ComparisonExpr ::= RangeExpr:n {: RESULT = n; :}
- | RangeExpr:l ValueComp:t RangeExpr:r
- {: RESULT = new CmpExpr(l, r, t.intValue()); :}
- | RangeExpr:l GeneralComp:t RangeExpr:r
- {: RESULT = new CmpExpr(l, r, t.intValue()); :}
- | RangeExpr:l NodeComp:t RangeExpr:r
- {: RESULT = new CmpExpr(l, r, t.intValue()); :}
- ;
-
-RangeExpr ::= AdditiveExpr:n {: RESULT = n; :}
- | AdditiveExpr:l TO AdditiveExpr:r
- {: RESULT = new RangeExpr(l, r); :}
- ;
-
-AdditiveExpr ::= MultiplicativeExpr:n {: RESULT = n; :}
- | AdditiveExpr:l PLUS MultiplicativeExpr:r
- {: RESULT = new AddExpr(l, r); :}
- | AdditiveExpr:l MINUS MultiplicativeExpr:r
- {: RESULT = new SubExpr(l, r); :}
- ;
-
-MultiplicativeExpr ::= UnionExpr:n {: RESULT = n; :}
- | MultiplicativeExpr:l STAR UnionExpr:r
- {: RESULT = new MulExpr(l, r); :}
- | MultiplicativeExpr:l DIV UnionExpr:r
- {: RESULT = new DivExpr(l, r); :}
- | MultiplicativeExpr:l IDIV UnionExpr:r
- {: RESULT = new IDivExpr(l, r); :}
- | MultiplicativeExpr:l MOD UnionExpr:r
- {: RESULT = new ModExpr(l, r); :}
- ;
-
-UnionExpr ::= IntersectExceptExpr:n {: RESULT = n; :}
- | UnionExpr:l UNION IntersectExceptExpr:r
- {: RESULT = new UnionExpr(l, r); :}
- | UnionExpr:l PIPE IntersectExceptExpr:r
- {: RESULT = new PipeExpr(l, r); :}
- ;
-
-IntersectExceptExpr ::= InstanceofExpr:n {: RESULT = n; :}
- | IntersectExceptExpr:l INTERSECT InstanceofExpr:r
- {: RESULT = new IntersectExpr(l, r); :}
- | IntersectExceptExpr:l EXCEPT InstanceofExpr:r
- {: RESULT = new ExceptExpr(l, r); :}
- ;
-
-InstanceofExpr ::= TreatExpr:n {: RESULT = n; :}
- | TreatExpr:l INSTANCE OF SequenceType:r
- {: RESULT = new InstOfExpr(l, r); :}
- ;
-
-TreatExpr ::= CastableExpr:n {: RESULT = n; :}
- | CastableExpr:l TREAT AS SequenceType:r
- {: RESULT = new TreatAsExpr(l, r); :}
- ;
-
-CastableExpr ::= CastExpr:n {: RESULT = n; :}
- | CastExpr:l CASTABLE AS SingleType:r
- {: RESULT = new CastableExpr(l, r); :}
- ;
-
-CastExpr ::= UnaryExpr:n {: RESULT = n; :}
- | UnaryExpr:l CAST AS SingleType:r
- {: RESULT = new CastExpr(l, r); :}
- ;
-
-UnaryExpr ::= ValueExpr:n {: RESULT = n; :}
- | MINUS UnaryExpr:a {: RESULT = new MinusExpr(a); :}
- | PLUS UnaryExpr:a {: RESULT = new PlusExpr(a); :}
- ;
-
-ValueExpr ::= PathExpr:n {: RESULT = n; :};
-
-GeneralComp ::= EQUALS
- {: RESULT = new Integer(CmpExpr.EQUALS); :}
- | NOTEQUALS
- {: RESULT = new Integer(CmpExpr.NOTEQUALS); :}
- | LESSTHAN
- {: RESULT = new Integer(CmpExpr.LESSTHAN); :}
- | LESSEQUAL
- {: RESULT = new Integer(CmpExpr.LESSEQUAL); :}
- | GREATER
- {: RESULT = new Integer(CmpExpr.GREATER); :}
- | GREATEREQUAL
- {: RESULT = new Integer(CmpExpr.GREATEREQUAL); :}
- ;
-
-ValueComp ::= EQ {: RESULT = new Integer(CmpExpr.EQ); :}
- | NE {: RESULT = new Integer(CmpExpr.NE); :}
- | LT {: RESULT = new Integer(CmpExpr.LT); :}
- | LE {: RESULT = new Integer(CmpExpr.LE); :}
- | GT {: RESULT = new Integer(CmpExpr.GT); :}
- | GE {: RESULT = new Integer(CmpExpr.GE); :}
- ;
-
-NodeComp ::= IS {: RESULT = new Integer(CmpExpr.IS); :}
- | LESS_LESS
- {: RESULT = new Integer(CmpExpr.LESS_LESS); :}
- | GREATER_GREATER
- {: RESULT = new Integer(CmpExpr.GREATER_GREATER); :}
- ;
-
-PathExpr ::= FORWARD_SLASH {: RESULT = new XPathExpr(1,null); :}
- | FORWARD_SLASH RelativePathExpr:p
- {:
- p.set_slashes(1);
- RESULT = p;
- :}
- | FORWARD_SLASHSLASH RelativePathExpr:p
- {:
- p.set_slashes(2);
- RESULT = p;
- :}
- | RelativePathExpr:n {: RESULT = n; :}
- ;
-
-RelativePathExpr ::= StepExpr:s {: RESULT = new XPathExpr(0,(StepExpr)s); :}
- | RelativePathExpr:p FORWARD_SLASH StepExpr:s
- {:
- p.add_tail(1,s);
- RESULT = p;
- :}
- | RelativePathExpr:p FORWARD_SLASHSLASH StepExpr:s
- {:
- p.add_tail(2,s);
- RESULT = p;
- :}
- ;
-
-StepExpr ::= AxisStep:n {: RESULT = n; :}
- | FilterExpr:n {: RESULT = n; :}
- ;
-
-AxisStep ::= ForwardStep:s PredicateList:p
- {: RESULT = new AxisStep(s, p); :}
- | ReverseStep:s PredicateList:p
- {: RESULT = new AxisStep(s, p); :}
- ;
-
-ForwardStep ::= ForwardAxis:a NodeTest:n
- {: RESULT = new ForwardStep(a.intValue(),n); :}
- | AbbrevForwardStep:n {: RESULT = n; :}
- ;
-
-ForwardAxis ::= CHILD COLONCOLON
- {: RESULT = new Integer(ForwardStep.CHILD); :}
- | DESCENDANT COLONCOLON
- {: RESULT = new Integer(ForwardStep.DESCENDANT); :}
- | ATTRIBUTE COLONCOLON
- {: RESULT = new Integer(ForwardStep.ATTRIBUTE); :}
- | SELF COLONCOLON
- {: RESULT = new Integer(ForwardStep.SELF); :}
- | DESCENDANT_OR_SELF COLONCOLON
- {: RESULT = new Integer(ForwardStep.DESCENDANT_OR_SELF); :}
- | FOLLOWING_SIBLING COLONCOLON
- {: RESULT = new Integer(ForwardStep.FOLLOWING_SIBLING); :}
- | FOLLOWING COLONCOLON
- {: RESULT = new Integer(ForwardStep.FOLLOWING); :}
- | NAMESPACE COLONCOLON
- {: RESULT = new Integer(ForwardStep.NAMESPACE); :}
- ;
-
-AbbrevForwardStep ::= AT_SYM NodeTest:n
- {: RESULT = new ForwardStep(ForwardStep.AT_SYM, n); :}
- | NodeTest:n
- {: RESULT = new ForwardStep(ForwardStep.NONE, n); :}
- ;
-
-ReverseStep ::= ReverseAxis:a NodeTest:n
- {: RESULT = new ReverseStep(a.intValue(), n); :}
- | AbbrevReverseStep:n {: RESULT = n; :}
- ;
-
-ReverseAxis ::= PARENT COLONCOLON
- {: RESULT = new Integer(ReverseStep.PARENT); :}
- | ANCESTOR COLONCOLON
- {: RESULT = new Integer(ReverseStep.ANCESTOR); :}
- | PRECEDING_SIBLING COLONCOLON
- {: RESULT = new Integer(ReverseStep.PRECEDING_SIBLING); :}
- | PRECEDING COLONCOLON
- {: RESULT = new Integer(ReverseStep.PRECEDING); :}
- | ANCESTOR_OR_SELF COLONCOLON
- {: RESULT = new Integer(ReverseStep.ANCESTOR_OR_SELF); :}
- ;
-
-AbbrevReverseStep ::= DOTDOT
- {: RESULT = new ReverseStep(ReverseStep.DOTDOT,null); :}
- ;
-
-NodeTest ::= KindTest:n {: RESULT = n; :}
- | NameTest:n {: RESULT = n; :}
- ;
-
-NameTest ::= QName:n {: RESULT = new NameTest(n); :}
- | Wildcard:n {: RESULT = new NameTest(n); :}
- ;
-
-// XXX: have sep class for wild card.... or whatever...
-// XXX: is * == *:* ???
-Wildcard ::= STAR {: RESULT = new QName("*","*"); :}
-// XXX: some1 disambiguate the grammar
-// i.e. give higher precedence to a QName rather than to a wildcard
- | NCName:n COLON STAR {: RESULT = new QName(n, "*"); :}
- | STAR COLON NCName:n {: RESULT = new QName("*", n); :}
- ;
-
-FilterExpr ::= PrimaryExpr:pe PredicateList:e
- {: RESULT = new FilterExpr(pe, e); :}
- ;
-
-// XXX: Collection of collections!
-PredicateList ::= PredicateList:c Predicate:p
- {:
- c.add(p);
- RESULT = c;
- :}
- | /* empty */ {: RESULT = new ArrayList(); :}
- ;
-
-Predicate ::= LBRACKET Expr:e RBRACKET {: RESULT = e; :};
-
-PrimaryExpr ::= Literal:n {: RESULT = n; :}
- | VarRef:n {: RESULT = n; :}
- | ParenthesizedExpr:e
- {: RESULT = new ParExpr(e); :}
- | ContextItemExpr:n {: RESULT = n; :}
- | FunctionCall:n {: RESULT = n; :}
- ;
-
-Literal ::= NumericLiteral:n {: RESULT = n; :}
- | StringLiteral:n {: RESULT = n; :}
- ;
-
-NumericLiteral ::= IntegerLiteral:n {: RESULT = n; :}
- | DecimalLiteral:n {: RESULT = n; :}
- | DoubleLiteral:n {: RESULT = n; :}
- ;
-
-VarRef ::= DOLLAR VarName:v {: RESULT = new VarRef(v); :};
-
-ParenthesizedExpr ::= LPAR RPAR {: RESULT = new ArrayList(); :}
- | LPAR Expr:e RPAR {: RESULT = e; :}
- ;
-
-ContextItemExpr ::= DOT {: RESULT = new CntxItemExpr(); :};
-
-FunctionCall ::= UnreservedQName:n LPAR RPAR
- {:
- RESULT = new FunctionCall(n,new ArrayList());
- :}
- | UnreservedQName:n LPAR FunctionCallMiddle:a RPAR
- {:
- RESULT = new FunctionCall(n,a);
- :}
- ;
-
-FunctionCallMiddle ::= ExprSingle:e
- {:
- Collection c = new ArrayList();
- c.add(e);
- RESULT = c;
- :}
- | FunctionCallMiddle:c COMMA ExprSingle:e
- {:
- c.add(e);
- RESULT = c;
- :}
- ;
-
-
-SingleType ::= AtomicType:t {: RESULT = new SingleType(t); :}
- | AtomicType:t QUESTIONMARK
- {: RESULT = new SingleType(t,true); :}
- ;
-
-SequenceType ::= ItemType:t
- {: RESULT = new SequenceType(SequenceType.NONE, t); :}
- | ItemType:t OccurrenceIndicator:i
- {: RESULT = new SequenceType(i.intValue(), t); :}
- | EMPTY_SEQUENCE LPAR RPAR
- {: RESULT = new SequenceType(SequenceType.EMPTY, null); :}
- ;
-
-OccurrenceIndicator ::= QUESTIONMARK
- {: RESULT = new Integer(SequenceType.QUESTION); :}
- | STAR
- {: RESULT = new Integer(SequenceType.STAR); :}
- | PLUS
- {: RESULT = new Integer(SequenceType.PLUS); :}
- ;
-
-ItemType ::= AtomicType:q
- {: RESULT = new ItemType(ItemType.QNAME,q); :}
- | KindTest:k
- {: RESULT = new ItemType(ItemType.KINDTEST,k); :}
- | ITEM LPAR RPAR
- {: RESULT = new ItemType(ItemType.ITEM,null); :}
- ;
-
-AtomicType ::= QName:n {: RESULT = n; :};
-
-KindTest ::= DocumentTest:n {: RESULT = n; :}
- | ElementTest:n {: RESULT = n; :}
- | AttributeTest:n {: RESULT = n; :}
- | SchemaElementTest:n {: RESULT = n; :}
- | SchemaAttributeTest:n {: RESULT = n; :}
- | PITest:n {: RESULT = n; :}
- | CommentTest:n {: RESULT = n; :}
- | TextTest:n {: RESULT = n; :}
- | AnyKindTest:n {: RESULT = n; :}
- ;
-
-AnyKindTest ::= NODE LPAR RPAR {: RESULT = new AnyKindTest(); :};
-
-DocumentTest ::= DOCUMENT_NODE LPAR RPAR
- {: RESULT = new DocumentTest(); :}
- | DOCUMENT_NODE LPAR ElementTest:e RPAR
- {: RESULT = new DocumentTest(DocumentTest.ELEMENT,e); :}
- | DOCUMENT_NODE LPAR SchemaElementTest:e RPAR
- {: RESULT = new DocumentTest(DocumentTest.SCHEMA_ELEMENT,e); :}
- ;
-
-TextTest ::= TEXT LPAR RPAR {: RESULT = new TextTest(); :};
-
-CommentTest ::= COMMENT LPAR RPAR {: RESULT = new CommentTest(); :};
-
-PITest ::= PROCESSING_INSTRUCTION LPAR RPAR
- {: RESULT = new PITest(); :}
- | PROCESSING_INSTRUCTION LPAR NCName:n RPAR
- {: RESULT = new PITest(n); :}
- | PROCESSING_INSTRUCTION LPAR StringLiteral:s RPAR
- {: RESULT = new PITest(s.string()); :}
- ;
-
-AttributeTest ::= ATTRIBUTE LPAR RPAR
- {: RESULT = new AttributeTest(); :}
- | ATTRIBUTE LPAR AttribNameOrWildcard:a RPAR
- {:
- // XXX: wildcard!!
- boolean wild = false;
- if(a == null)
- wild = true;
-
- RESULT = new AttributeTest(a,wild);
- :}
- | ATTRIBUTE LPAR AttribNameOrWildcard:a COMMA TypeName:t RPAR
- {:
- // XXX: wildcard!!
- boolean wild = false;
- if(a == null)
- wild = true;
-
- RESULT = new AttributeTest(a,wild,t);
- :}
- ;
-
-AttribNameOrWildcard ::= AttributeName:a {: RESULT = a; :}
- | STAR {: RESULT = null; /* XXX */ :}
- ;
-
-SchemaAttributeTest ::= SCHEMA_ATTRIBUTE LPAR AttributeDeclaration:a RPAR
- {: RESULT = new SchemaAttrTest(a); :}
- ;
-
-AttributeDeclaration ::= AttributeName:n {: RESULT = n; :};
-
-ElementTest ::= ELEMENT LPAR RPAR {: RESULT = new ElementTest(); :}
- | ELEMENT LPAR ElementNameOrWildcard:e RPAR
- {:
- // XXX: wildcard!!
- boolean wild = false;
- if(e == null)
- wild = true;
-
- RESULT = new ElementTest(e,wild);
- :}
- | ELEMENT LPAR ElementNameOrWildcard:e COMMA TypeName:t RPAR
- {:
- // XXX: wildcard!!
- boolean wild = false;
- if(e == null)
- wild = true;
-
- RESULT = new ElementTest(e,wild,t);
- :}
- | ELEMENT LPAR ElementNameOrWildcard:e COMMA TypeName:t QUESTIONMARK RPAR
- {:
- // XXX: wildcard!!
- boolean wild = false;
- if(e == null)
- wild = true;
-
- RESULT = new ElementTest(e,wild,t,true);
- :}
- ;
-
-ElementNameOrWildcard ::= ElementName:e {: RESULT = e; :}
- | STAR {: RESULT = null; /* XXX */ :}
- ;
-
-SchemaElementTest ::= SCHEMA_ELEMENT LPAR ElementDeclaration:e RPAR
- {: RESULT = new SchemaElemTest(e); :}
- ;
-
-ElementDeclaration ::= ElementName:n {: RESULT = n; :};
-
-AttributeName ::= QName:n {: RESULT = n; :};
-
-ElementName ::= QName:n {: RESULT = n; :};
-
-TypeName ::= QName:n {: RESULT = n; :};
-
-IntegerLiteral ::= INTEGER:i {: RESULT = new IntegerLiteral(i); :};
-
-DecimalLiteral ::= DECIMAL:d
- {: RESULT = new DecimalLiteral(d); :}
- ;
-
-DoubleLiteral ::= DOUBLE:d
- {: RESULT = new DoubleLiteral(d.doubleValue()); :}
- ;
-
-StringLiteral ::= STRING:s {: RESULT = new StringLiteral(s); :};
-
-VarName ::= QName:n {: RESULT = n; :};
-
-QName ::= NCName:l {: RESULT = new QName(l); :}
- | NCName:p COLON NCName:l {: RESULT = new QName(p,l); :}
- ;
-
-Prefix ::= NCName:n {: RESULT = n; :};
-
-LocalPart ::= NCName:n {: RESULT = n; :};
-
-UnreservedQName ::= UnreservedNCName:l {: RESULT = new QName(l); :}
- | NCName:p COLON NCName:l {: RESULT = new QName(p,l); :}
- ;
-
-NCName ::= NCNAME:n {: RESULT = n; :} |
- TO:n {: RESULT = new String("to"); :} |
- CHILD:n {: RESULT = new String("child"); :} |
- DESCENDANT:n {: RESULT = new String("descendant"); :} |
- ATTRIBUTE:n {: RESULT = new String("attribute"); :} |
- SELF:n {: RESULT = new String("self"); :} |
- DESCENDANT_OR_SELF:n {: RESULT = new String("descendant-of-self"); :} |
- FOLLOWING_SIBLING:n {: RESULT = new String("following-sibling"); :} |
- FOLLOWING:n {: RESULT = new String("following"); :} |
- NAMESPACE:n {: RESULT = new String("namespace"); :} |
- PARENT:n {: RESULT = new String("parent"); :} |
- ANCESTOR:n {: RESULT = new String("ancestor"); :} |
- PRECEDING_SIBLING:n {: RESULT = new String("preceding-sibling"); :} |
- PRECEDING:n {: RESULT = new String("preceding"); :} |
- ANCESTOR_OR_SELF:n {: RESULT = new String("ancestor-or-self"); :} |
- UNION:n {: RESULT = new String("union"); :} |
- INTERSECT:n {: RESULT = new String("intersect"); :} |
- EXCEPT:n {: RESULT = new String("except"); :} |
- INSTANCE:n {: RESULT = new String("instance"); :} |
- OF:n {: RESULT = new String("of"); :} |
- AS:n {: RESULT = new String("as"); :} |
- TREAT:n {: RESULT = new String("as"); :} |
- CASTABLE:n {: RESULT = new String("castable"); :} |
- CAST:n {: RESULT = new String("cast"); :} |
- IS:n {: RESULT = new String("is"); :} |
- FOR:n {: RESULT = new String("for"); :} |
- IN:n {: RESULT = new String("in"); :} |
- RETURN:n {: RESULT = new String("return"); :} |
- SATISFIES:n {: RESULT = new String("satisfies"); :} |
- SOME:n {: RESULT = new String("some"); :} |
- EVERY:n {: RESULT = new String("every"); :} |
- IF:n {: RESULT = new String("if"); :} |
- THEN:n {: RESULT = new String("then"); :} |
- ELSE:n {: RESULT = new String("else"); :} |
- AND:n {: RESULT = new String("and"); :} |
- OR:n {: RESULT = new String("or"); :} |
- DIV:n {: RESULT = new String("div"); :} |
- IDIV:n {: RESULT = new String("idiv"); :} |
- COMMENT:n {: RESULT = new String("comment"); :} |
- DOCUMENT_NODE:n {: RESULT = new String("document-node"); :} |
- ELEMENT:n {: RESULT = new String("element"); :} |
- EMPTY_SEQUENCE:n {: RESULT = new String("empty-sequence"); :} |
- ITEM:n {: RESULT = new String("item"); :} |
- NODE:n {: RESULT = new String("node"); :} |
- PROCESSING_INSTRUCTION:n {: RESULT = new String("processing-instruction"); :} |
- SCHEMA_ATTRIBUTE:n {: RESULT = new String("schema-attribute"); :} |
- SCHEMA_ELEMENT:n {: RESULT = new String("schema-element"); :} |
- TEXT:n {: RESULT = new String("text"); :} |
- TYPESWITCH:n {: RESULT = new String("typeswitch"); :} |
- MOD:n {: RESULT = new String("mod"); :} |
- EQ:n {: RESULT = new String("eq"); :} |
- NE:n {: RESULT = new String("ne"); :} |
- LT:n {: RESULT = new String("lt"); :} |
- LE:n {: RESULT = new String("le"); :} |
- GT:n {: RESULT = new String("gt"); :} |
- GE:n {: RESULT = new String("ge"); :}
- ;
-
-UnreservedNCName ::= NCNAME:n {: RESULT = n; :} |
- TO:n {: RESULT = new String("to"); :} |
- CHILD:n {: RESULT = new String("child"); :} |
- DESCENDANT:n {: RESULT = new String("descendant"); :} |
- SELF:n {: RESULT = new String("self"); :} |
- DESCENDANT_OR_SELF:n {: RESULT = new String("descendant-of-self"); :} |
- FOLLOWING_SIBLING:n {: RESULT = new String("following-sibling"); :} |
- FOLLOWING:n {: RESULT = new String("following"); :} |
- NAMESPACE:n {: RESULT = new String("namespace"); :} |
- PARENT:n {: RESULT = new String("parent"); :} |
- ANCESTOR:n {: RESULT = new String("ancestor"); :} |
- PRECEDING_SIBLING:n {: RESULT = new String("preceding-sibling"); :} |
- PRECEDING:n {: RESULT = new String("preceding"); :} |
- ANCESTOR_OR_SELF:n {: RESULT = new String("ancestor-or-self"); :} |
- UNION:n {: RESULT = new String("union"); :} |
- INTERSECT:n {: RESULT = new String("intersect"); :} |
- EXCEPT:n {: RESULT = new String("except"); :} |
- INSTANCE:n {: RESULT = new String("instance"); :} |
- OF:n {: RESULT = new String("of"); :} |
- AS:n {: RESULT = new String("as"); :} |
- TREAT:n {: RESULT = new String("as"); :} |
- CASTABLE:n {: RESULT = new String("castable"); :} |
- CAST:n {: RESULT = new String("cast"); :} |
- IS:n {: RESULT = new String("is"); :} |
- FOR:n {: RESULT = new String("for"); :} |
- IN:n {: RESULT = new String("in"); :} |
- RETURN:n {: RESULT = new String("return"); :} |
- SATISFIES:n {: RESULT = new String("satisfies"); :} |
- SOME:n {: RESULT = new String("some"); :} |
- EVERY:n {: RESULT = new String("every"); :} |
- THEN:n {: RESULT = new String("then"); :} |
- ELSE:n {: RESULT = new String("else"); :} |
- AND:n {: RESULT = new String("and"); :} |
- OR:n {: RESULT = new String("or"); :} |
- DIV:n {: RESULT = new String("div"); :} |
- IDIV:n {: RESULT = new String("idiv"); :} |
- MOD:n {: RESULT = new String("mod"); :} |
- EQ:n {: RESULT = new String("eq"); :} |
- NE:n {: RESULT = new String("ne"); :} |
- LT:n {: RESULT = new String("lt"); :} |
- LE:n {: RESULT = new String("le"); :} |
- GT:n {: RESULT = new String("gt"); :} |
- GE:n {: RESULT = new String("ge"); :}
-
- ;
- \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/grammars/xpath.lex b/bundles/org.eclipse.wst.xml.xpath2.processor/grammars/xpath.lex
deleted file mode 100644
index b111f2b..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/grammars/xpath.lex
+++ /dev/null
@@ -1,195 +0,0 @@
-// *******************************************************************************
-// * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
-// * All rights reserved. This program and the accompanying materials
-// * are made available under the terms of the Eclipse Public License v1.0
-// * which accompanies this distribution, and is available at
-// * http://www.eclipse.org/legal/epl-v10.html
-// *
-// * Contributors:
-// * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
-// * David Carver - bug 280987 - fixed literal issues for integer and decimal
-// * Jesper S Moller - bug 283214 - fix IF THEN ELSE parsing and update grammars
-// * Jesper S Moller - bug 286061 correct handling of quoted string
-// * Jesper Moller - bug 297707 - Missing the empty-sequence() type
-// *******************************************************************************/
-
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import java_cup.runtime.*;
-
-%%
-
-%class XPathFlex
-%unicode
-%cup
-%line
-%column
-
-Whitespace = [ \t\r\n]
-StringLiteral = (\" ((\"\") | [^\"])* \") | (\' ((\'\') | [^\'])* \')
-Digits = [0-9]+
-DoubleLiteral = ((\. {Digits}) | ({Digits} (\. [0-9]*)?)) [eE] [\+\-]? {Digits}
-DecimalLiteral = (\. {Digits}) | ({Digits} \. [0-9]*)
-
-Letter = [a-zA-Z]
-NCNameChar = {Letter} | [0-9] | \. | \- | "_"
-NCName = ( {Letter} | "_") ( {NCNameChar} )*
-
-
-%{
- public int lineno() { return yyline + 1; }
- public int colno() { return yycolumn + 1; }
-
- private Symbol symbol(int type) {
- return new Symbol(type, lineno(), colno());
- }
- private Symbol symbol(int type, Object value) {
- return new Symbol(type, lineno(), colno(), value);
- }
-
- private int commentLevel = 0;
-%}
-
-%state COMMENT
-
-%%
-
-<YYINITIAL> {
-
-"(:" { commentLevel++; // int overflow =P
- yybegin(COMMENT);
- }
-
-"\[" { return symbol(XpathSym.LBRACKET); }
-"\]" { return symbol(XpathSym.RBRACKET); }
-"\(" { return symbol(XpathSym.LPAR); }
-"\)" { return symbol(XpathSym.RPAR); }
-
-"\+" { return symbol(XpathSym.PLUS); }
-"\-" { return symbol(XpathSym.MINUS); }
-"\*" { return symbol(XpathSym.STAR); }
-"\|" { return symbol(XpathSym.PIPE); }
-
-"=" { return symbol(XpathSym.EQUALS); }
-"!=" { return symbol(XpathSym.NOTEQUALS); }
-"<" { return symbol(XpathSym.LESSTHAN); }
-"<=" { return symbol(XpathSym.LESSEQUAL); }
-">" { return symbol(XpathSym.GREATER); }
-">=" { return symbol(XpathSym.GREATEREQUAL); }
-
-"<<" { return symbol(XpathSym.LESS_LESS); }
-">>" { return symbol(XpathSym.GREATER_GREATER); }
-
-"/" { return symbol(XpathSym.FORWARD_SLASH); }
-"//" { return symbol(XpathSym.FORWARD_SLASHSLASH); }
-
-"::" { return symbol(XpathSym.COLONCOLON); }
-"@" { return symbol(XpathSym.AT_SYM); }
-"\.\." { return symbol(XpathSym.DOTDOT); }
-":" { return symbol(XpathSym.COLON); }
-"," { return symbol(XpathSym.COMMA); }
-"\$" { return symbol(XpathSym.DOLLAR); }
-"\." { return symbol(XpathSym.DOT); }
-"\?" { return symbol(XpathSym.QUESTIONMARK); }
-
-
-"child" { return symbol(XpathSym.CHILD); }
-"descendant" { return symbol(XpathSym.DESCENDANT); }
-"attribute" { return symbol(XpathSym.ATTRIBUTE); }
-"self" { return symbol(XpathSym.SELF); }
-"descendant\-or\-self" { return symbol(XpathSym.DESCENDANT_OR_SELF); }
-
-"following\-sibling" { return symbol(XpathSym.FOLLOWING_SIBLING); }
-"following" { return symbol(XpathSym.FOLLOWING); }
-"namespace" { return symbol(XpathSym.NAMESPACE); }
-"parent" { return symbol(XpathSym.PARENT); }
-
-"ancestor" { return symbol(XpathSym.ANCESTOR); }
-"preceding\-sibling" { return symbol(XpathSym.PRECEDING_SIBLING); }
-"preceding" { return symbol(XpathSym.PRECEDING); }
-"ancestor\-or\-self" { return symbol(XpathSym.ANCESTOR_OR_SELF); }
-
-"eq" { return symbol(XpathSym.EQ); }
-"ne" { return symbol(XpathSym.NE); }
-"lt" { return symbol(XpathSym.LT); }
-"le" { return symbol(XpathSym.LE); }
-"gt" { return symbol(XpathSym.GT); }
-"ge" { return symbol(XpathSym.GE); }
-
-"idiv" { return symbol(XpathSym.IDIV); }
-"div" { return symbol(XpathSym.DIV); }
-"mod" { return symbol(XpathSym.MOD); }
-
-"union" { return symbol(XpathSym.UNION); }
-"intersect" { return symbol(XpathSym.INTERSECT); }
-"except" { return symbol(XpathSym.EXCEPT); }
-
-"instance" { return symbol(XpathSym.INSTANCE); }
-"treat" { return symbol(XpathSym.TREAT); }
-"castable" { return symbol(XpathSym.CASTABLE); }
-"cast" { return symbol(XpathSym.CAST); }
-"as" { return symbol(XpathSym.AS); }
-"of" { return symbol(XpathSym.OF); }
-"is" { return symbol(XpathSym.IS); }
-
-"for" { return symbol(XpathSym.FOR); }
-"in" { return symbol(XpathSym.IN); }
-"return" { return symbol(XpathSym.RETURN); }
-"satisfies" { return symbol(XpathSym.SATISFIES); }
-"to" { return symbol(XpathSym.TO); }
-"some" { return symbol(XpathSym.SOME); }
-"every" { return symbol(XpathSym.EVERY); }
-"if" { return symbol(XpathSym.IF); }
-"then" { return symbol(XpathSym.THEN); }
-"else" { return symbol(XpathSym.ELSE); }
-"and" { return symbol(XpathSym.AND); }
-"or" { return symbol(XpathSym.OR); }
-
-"empty-sequence" { return symbol(XpathSym.EMPTY_SEQUENCE); }
-"item" { return symbol(XpathSym.ITEM); }
-"node" { return symbol(XpathSym.NODE); }
-"document\-node" { return symbol(XpathSym.DOCUMENT_NODE); }
-"text" { return symbol(XpathSym.TEXT); }
-"comment" { return symbol(XpathSym.COMMENT); }
-"processing\-instruction" { return symbol(XpathSym.PROCESSING_INSTRUCTION); }
-"schema\-attribute" { return symbol(XpathSym.SCHEMA_ATTRIBUTE); }
-"element" { return symbol(XpathSym.ELEMENT); }
-"schema\-element" { return symbol(XpathSym.SCHEMA_ELEMENT); }
-"typeswitch" { return symbol(XpathSym.TYPESWITCH); }
-
-{StringLiteral} {
- // get rid of quotes
- String str = yytext();
- assert str.length() >= 2;
- return symbol(XpathSym.STRING, org.eclipse.wst.xml.xpath2.processor.internal.utils.LiteralUtils.unquote(str));
- }
-{Digits} { return symbol(XpathSym.INTEGER, new BigInteger(yytext())); }
-{DoubleLiteral} { return symbol(XpathSym.DOUBLE, new Double(yytext())); }
-{DecimalLiteral} { return symbol(XpathSym.DECIMAL, new BigDecimal(yytext())); }
-{NCName} { return symbol(XpathSym.NCNAME, yytext()); }
-
-
-
-
-{Whitespace} { /* ignore */ }
-
-
-. {
- String err = "Unknown character at line " + lineno();
- err += " col " + colno();
- err += ": " + yytext();
-
- throw new JFlexError(err);
- }
-
-}
-
-<COMMENT> {
- "(:" { commentLevel++; }
- ":)" { commentLevel--;
- if(commentLevel == 0)
- yybegin(YYINITIAL);
- }
- .|\n { /* ignore */ }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/plugin.properties b/bundles/org.eclipse.wst.xml.xpath2.processor/plugin.properties
deleted file mode 100644
index cb93f37..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/plugin.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-provider=Eclipse Web Tools Platform
-pluginName=PsychoPath XPath 2.0 Processor \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/CollationProvider.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/CollationProvider.java
deleted file mode 100644
index e4ffe62..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/CollationProvider.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Jesper Moller, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Jesper Moller - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor;
-
-import java.util.Comparator;
-
-/**
- * Service provider interface for looking up collations from within the dynamic context.
- * @since 1.1
- */
-public interface CollationProvider {
- /**
- * Gets the named collator. W3C does not define collation names (yet?) so we are constrained to using an
- * implementation-defined naming scheme.
- *
- * @param name A URI designating the collation to use
- * @return The collation to use, or null if no such collation exists by this provider
- */
- Comparator get_collation(String name);
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/DOMBuilder.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/DOMBuilder.java
deleted file mode 100644
index 5873c04..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/DOMBuilder.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper Steen Moller - Doc fixes
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor;
-
-import org.w3c.dom.Document;
-import org.xml.sax.ErrorHandler;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-/**
- * The DOM builder loads an DOM from an InputStream. The loading is always namespace aware.
- */
-public class DOMBuilder implements DOMLoader {
- boolean _validating;
- boolean _namespace_aware;
-
- /**
- * Constructor for DOM builder.
- */
- public DOMBuilder() {
- _validating = false;
- }
-
- /**
- * Loads The XML document.
- *
- * @param in
- * is the input stream.
- * @throws DOMLoaderException
- * DOM loader exception.
- * @return The loaded document.
- */
- // XXX: fix error reporting
- public Document load(InputStream in) throws DOMLoaderException {
-
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
-
- factory.setNamespaceAware(true);
- factory.setValidating(_validating);
-
- try {
- DocumentBuilder builder = factory.newDocumentBuilder();
-
- // if(_validating) {
- builder.setErrorHandler(new ErrorHandler() {
- public void fatalError(SAXParseException e) throws SAXException {
- throw e;
- }
-
- public void error(SAXParseException e) throws SAXParseException {
- throw e;
- }
-
- public void warning(SAXParseException e)
- throws SAXParseException {
- throw e; // XXX
- }
- });
- // }
- return builder.parse(in);
- } catch (SAXException e) {
- throw new DOMLoaderException("SAX exception: " + e.getMessage());
- } catch (ParserConfigurationException e) {
- throw new DOMLoaderException("Parser configuration exception: "
- + e.getMessage());
- } catch (IOException e) {
- throw new DOMLoaderException("IO exception: " + e.getMessage());
- }
- }
-
- /**
- * Set validating boolean.
- *
- * @param x
- * is the value to set the validating boolean to.
- */
- public void set_validating(boolean x) {
- _validating = x;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/DOMLoader.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/DOMLoader.java
deleted file mode 100644
index 664650c..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/DOMLoader.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper Steen Moller - Documented namespace awareness
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor;
-
-import org.w3c.dom.Document;
-
-import java.io.InputStream;
-
-/**
- * The DOM loader loads the XML document.
- */
-public interface DOMLoader {
-
- /**
- * The DOM loader loads the XML docuemnt
- *
- * @param in
- * is the input stream.
- * @throws DOMLoaderException
- * DOM loader exception.
- * @return The loaded document. The document is always loaded as namespace-aware
- */
- public Document load(InputStream in) throws DOMLoaderException;
-
- /**
- * Set validating boolean.
- *
- * @param val
- * is the validating boolean.
- */
- // XXX: default is false ?! [document it ?]
- public void set_validating(boolean val);
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/DOMLoaderException.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/DOMLoaderException.java
deleted file mode 100644
index 2fe583f..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/DOMLoaderException.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor;
-
-
-/**
- * Exception caused by DOM loader.
- */
-public class DOMLoaderException extends XPathException {
-
- /**
- *
- */
- private static final long serialVersionUID = -7652865222211067201L;
-
- /**
- * Constructor for DOM loader exception.
- *
- * @param reason
- * is the reason for the exception.
- */
- public DOMLoaderException(String reason) {
- super(reason);
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/DefaultDynamicContext.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/DefaultDynamicContext.java
deleted file mode 100644
index 95df9cd..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/DefaultDynamicContext.java
+++ /dev/null
@@ -1,299 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 273760 - wrong namespace for functions and data types
- * David Carver - bug 282223 - implementation of xs:duration data type.
- * - bug 262765 - fix handling of range expression op:to and empty sequence
- * Jesper Moller- bug 281159 - fix document loading and resolving URIs
- * Jesper Moller- bug 286452 - always return the stable date/time from dynamic context
- * Jesper Moller- bug 275610 - Avoid big time and memory overhead for externals
- * Jesper Moller- bug 280555 - Add pluggable collation support
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor;
-
-import org.apache.xerces.xs.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.DefaultResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.DefaultStaticContext;
-import org.eclipse.wst.xml.xpath2.processor.internal.Focus;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-import org.w3c.dom.*;
-import java.io.*;
-import java.net.MalformedURLException;
-import java.net.URI;
-import java.net.URL;
-
-/**
- * The default implementation of a Dynamic Context.
- *
- * Initializes and provides functionality of a dynamic context according to the
- * XPath 2.0 specification.
- */
-public class DefaultDynamicContext extends DefaultStaticContext implements
- DynamicContext {
-
- private Focus _focus;
- private XSDuration _tz;
- private Map _loaded_documents;
- private GregorianCalendar _current_date_time;
- private String _default_collation_name = CODEPOINT_COLLATION;
- private CollationProvider _collation_provider;
-
- /**
- * Constructor.
- *
- * @param schema
- * Schema information of document. May be null
- * @param doc
- * Document [root] node of XML source.
- */
- public DefaultDynamicContext(XSModel schema, Document doc) {
- super(schema);
-
- _focus = null;
- _tz = new XSDayTimeDuration(0, 5, 0, 0, true);
- _loaded_documents = new HashMap();
- }
-
- /**
- * Reads the day from a TimeDuration type
- *
- * @return an xs:integer _tz
- * @since 1.1
- */
- public XSDuration tz() {
- return _tz;
- }
-
- /**
- * Gets the Current stable date time from the dynamic context.
- * @since 1.1
- * @see org.eclipse.wst.xml.xpath2.processor.DynamicContext#get_current_time()
- */
- public GregorianCalendar current_date_time() {
- if (_current_date_time == null) {
- _current_date_time = new GregorianCalendar(TimeZone.getTimeZone("GMT"));
- }
- return _current_date_time;
- }
-
- /**
- * Changes the current focus.
- *
- * @param f
- * focus to set
- */
- public void set_focus(Focus f) {
- _focus = f;
- }
-
- /**
- * Return the focus
- *
- * @return _focus
- */
- public Focus focus() {
- return _focus;
- }
-
- /**
- * Retrieve context item that is in focus
- *
- * @return an AnyType result from _focus.context_item()
- */
- public AnyType context_item() {
- return _focus.context_item();
- }
-
- /**
- * Retrieve the position of the focus
- *
- * @return an integer result from _focus.position()
- */
- public int context_position() {
- return _focus.position();
- }
-
- /**
- * Retrieve the position of the last focus
- *
- * @return an integer result from _focus.last()
- */
- public int last() {
- return _focus.last();
- }
-
- /**
- * Retrieve the variable name
- *
- * @return an AnyType result from get_var(name) or return NULL
- */
- public AnyType get_variable(QName name) {
- // XXX: built-in variables
- if ("fs".equals(name.prefix())) {
- if (name.local().equals("dot"))
- return context_item();
-
- return null;
- }
- return get_var(name);
- }
-
- /**
- *
- * @return a ResultSequence from funct.evaluate(args)
- */
- public ResultSequence evaluate_function(QName name, Collection args)
- throws DynamicError {
- Function funct = function(name, args.size());
-
- assert funct != null;
-
- return funct.evaluate(args);
- }
-
- /**
- * Adds function definitions.
- *
- * @param fl
- * Function library to add.
- *
- */
- public void add_function_library(FunctionLibrary fl) {
- super.add_function_library(fl);
- fl.set_dynamic_context(this);
- }
-
- /**
- * get document
- *
- * @return a ResultSequence from ResultSequenceFactory.create_new()
- * @since 1.1
- */
- public ResultSequence get_doc(URI resolved) {
- Document doc = null;
- if (_loaded_documents.containsKey(resolved)) {
- //tried before
- doc = (Document)_loaded_documents.get(resolved);
- } else {
- doc = retrieve_doc(resolved);
- _loaded_documents.put(resolved, doc);
- }
-
- if (doc == null)
- return null;
-
- return ResultSequenceFactory.create_new(new DocType(doc));
- }
- /**
- * @since 1.1
- */
- public URI resolve_uri(String uri) {
- try {
- URI realURI = URI.create(uri);
- if (realURI.isAbsolute()) {
- return realURI;
- } else {
- URI baseURI = URI.create(base_uri().string_value());
- return baseURI.resolve(uri);
- }
- } catch (IllegalArgumentException iae) {
- return null;
- }
- }
-
- // XXX make it nice, and move it out as a utility function
- private Document retrieve_doc(URI uri) {
- try {
- DOMLoader loader = new XercesLoader();
- loader.set_validating(false);
-
- Document doc = loader.load(new URL(uri.toString()).openStream());
- doc.setDocumentURI(uri.toString());
- return doc;
- } catch (DOMLoaderException e) {
- return null;
- } catch (FileNotFoundException e) {
- return null;
- } catch (MalformedURLException e) {
- return null;
- } catch (IOException e) {
- return null;
- }
- }
-
- /**
- * Sets the value of a variable.
- *
- * @param var
- * Variable name.
- * @param val
- * Variable value.
- */
- public void set_variable(QName var, AnyType val) {
- super.set_variable(var, val);
- }
-
- /**
- * @since 1.1
- */
- public void set_default_collation(String _default_collation) {
- this._default_collation_name = _default_collation;
- }
-
- /**
- * @since 1.1
- */
- public String default_collation_name() {
- return _default_collation_name;
- }
-
- // We are explicitly NOT using generics here, in anticipation of JDK1.4 compatibility
- private static Comparator CODEPOINT_COMPARATOR = new Comparator() {
-
- public int compare(Object o1, Object o2) {
- return ((String)o1).compareTo((String)o2);
- }
- };
-
- /**
- * @since 1.1
- *
- */
- public Comparator get_collation(String uri) {
- if (CODEPOINT_COLLATION.equals(uri)) return CODEPOINT_COMPARATOR;
-
- return _collation_provider != null ? _collation_provider.get_collation(uri) : null;
- }
-
- /**
- *
- *
- * @param provider
- * @since 1.1
- */
- public void set_collation_provider(CollationProvider provider) {
- this._collation_provider = provider;
- }
-
- /**
- * Use focus().position() to retrieve the value.
- * @deprecated This will be removed in a future version use focus().position().
- */
- public int node_position(Node node) {
- // unused parameter!
- return _focus.position();
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/DefaultEvaluator.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/DefaultEvaluator.java
deleted file mode 100644
index 5c36736..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/DefaultEvaluator.java
+++ /dev/null
@@ -1,2054 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 274805 - improvements to xs:integer data type
- * Jesper Steen Moeller - bug 285145 - check arguments to op:to
- * Jesper Steen Moeller - bug 262765 - fixed node state iteration
- * Jesper Steen Moller - bug 275610 - Avoid big time and memory overhead for externals
- * Jesper Steen Moller - bug 280555 - Add pluggable collation support
- * Jesper Steen Moller - bug 281938 - undefined context should raise error
- * Jesper Steen Moller - bug 262765 - use correct 'effective boolean value'
- * Jesper Steen Moller - bug 312191 - instance of test fails with partial matches
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor;
-
-import org.apache.xerces.xs.ItemPSVI;
-import org.apache.xerces.xs.XSTypeDefinition;
-import org.eclipse.wst.xml.xpath2.processor.ast.XPath;
-import org.eclipse.wst.xml.xpath2.processor.internal.Axis;
-import org.eclipse.wst.xml.xpath2.processor.internal.DescendantOrSelfAxis;
-import org.eclipse.wst.xml.xpath2.processor.internal.Focus;
-import org.eclipse.wst.xml.xpath2.processor.internal.ForwardAxis;
-import org.eclipse.wst.xml.xpath2.processor.internal.ParentAxis;
-import org.eclipse.wst.xml.xpath2.processor.internal.ReverseAxis;
-import org.eclipse.wst.xml.xpath2.processor.internal.SelfAxis;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.StaticNameError;
-import org.eclipse.wst.xml.xpath2.processor.internal.StaticTypeNameError;
-import org.eclipse.wst.xml.xpath2.processor.internal.TypeError;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.AddExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.AndExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.AnyKindTest;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.AttributeTest;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.AxisStep;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.BinExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.CastExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.CastableExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.CmpExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.CntxItemExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.CommentTest;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.DecimalLiteral;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.DivExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.DocumentTest;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.DoubleLiteral;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.ElementTest;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.ExceptExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.FilterExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.ForExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.ForwardStep;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.FunctionCall;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.IDivExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.IfExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.InstOfExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.IntegerLiteral;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.IntersectExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.ItemType;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.MinusExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.ModExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.MulExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.NameTest;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.OrExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.PITest;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.ParExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.PipeExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.PlusExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.QuantifiedExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.RangeExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.ReverseStep;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.SchemaAttrTest;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.SchemaElemTest;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.SequenceType;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.SingleType;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.StepExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.StringLiteral;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.SubExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.TextTest;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.TreatAsExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.UnionExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.VarExprPair;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.VarRef;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathNode;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.FnBoolean;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.FnData;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.FnRoot;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.FsDiv;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.FsEq;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.FsGe;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.FsGt;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.FsIDiv;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.FsLe;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.FsLt;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.FsMinus;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.FsMod;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.FsNe;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.FsPlus;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.FsTimes;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.OpExcept;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.OpIntersect;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.OpTo;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.OpUnion;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AttrType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.CommentType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.DocType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.ElementType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.PIType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.TextType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSBoolean;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-import java.math.BigInteger;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-import java.util.ListIterator;
-
-/**
- * Default evaluator interface
- */
-public class DefaultEvaluator implements XPathVisitor, Evaluator {
-
- private static final String XML_SCHEMA_NS = "http://www.w3.org/2001/XMLSchema";
-
- private static final QName ANY_ATOMIC_TYPE = new QName("xs",
- "anyAtomicType", XML_SCHEMA_NS);
-
- static class DummyError extends Error {
- /**
- *
- */
- private static final long serialVersionUID = 3161644790881405403L;
- // 0: dynamic error
- // 1: type error
- private int _type;
-
- public DummyError(int type) {
- _type = type;
- }
-
- public int type() {
- return _type;
- }
- }
-
- private DynamicContext _dc;
- private XPathException _err;
-
- // stuff anyone may use
- private Collection _g_coll;
- private XSInteger _g_xsint;
-
- // this is a parameter that may be set on a call...
- // the parameter may become invalid on the next call... i.e. the
- // previous parameter is not saved... so use with care! [remember...
- // this thing is highly recursive]
- private Object _param;
-
- static class Pair {
- public Object _one;
- public Object _two;
-
- public Pair(Object o, Object t) {
- _one = o;
- _two = t;
- }
- }
-
- /**
- * set parameters
- *
- * @param dc
- * is the dynamic context.
- * @param doc
- * is the document.
- */
- public DefaultEvaluator(DynamicContext dc, Document doc) {
- _dc = dc;
- _err = null;
-
- // initialize context item with root of document
- ResultSequence rs = ResultSequenceFactory.create_new();
- if (doc != null) rs.add(new DocType(doc));
-
- _dc.set_focus(new Focus(rs));
-
- _param = null;
-
- _g_coll = new ArrayList();
- _g_xsint = new XSInteger();
- }
-
- // XXX this kinda sux
- // the problem is that visistor interface does not throw exceptions...
- // so we get around it ;D
- private void report_error(DynamicError err) {
- _err = err;
- throw new DummyError(0);
- }
-
- private void report_error(TypeError err) {
- _err = err;
- throw new DummyError(1);
- }
-
- private void report_error(StaticNameError err) {
- throw new DummyError(666);
- }
-
- /**
- * evaluate the xpath node
- *
- * @param node
- * is the xpath node.
- * @throws dynamic
- * error.
- * @return result sequence.
- */
- public ResultSequence evaluate(XPathNode node) throws DynamicError {
- try {
- return (ResultSequence) node.accept(this);
- } catch (DummyError e) {
- switch (e.type()) {
- case 0:
- throw (DynamicError) _err;
- case 1:
- throw new DynamicError((TypeError) _err);
-
- default:
- assert false;
- }
- }
-
- return null; // unreach
-
- }
-
- // basically the comma operator...
- private ResultSequence do_expr(Iterator i) {
-
- ResultSequence rs = null;
-
- while (i.hasNext()) {
- Expr e = (Expr) i.next();
-
- ResultSequence result = (ResultSequence) e.accept(this);
-
- if (rs == null)
- rs = result;
- else
- rs.concat(result);
- }
-
- if (rs == null)
- rs = ResultSequenceFactory.create_new();
- return rs;
- }
-
- /**
- * iterate through xpath expression
- *
- * @param xp
- * is the xpath.
- * @return result sequence.
- */
- public Object visit(XPath xp) {
- ResultSequence rs = do_expr(xp.iterator());
-
- return rs;
- }
-
- // XXX ugly
- // type: 0 = for [return == "correct"]
- // 1 = for all [return false, return empty on true]
- // 2 = there exists [return true, return empty on false]
- private ResultSequence do_for_quantified_expr(ListIterator iter,
- Expr finalexpr, int type) {
-
- // we have more vars to bind...
- if (iter.hasNext()) {
- boolean allocated_var = false;
- ResultSequence result = ResultSequenceFactory.create_new();
- VarExprPair ve = (VarExprPair) iter.next();
-
- // evaluate binding sequence
- ResultSequence rs = (ResultSequence) ve.expr().accept(this);
-
- // XXX
- if (rs.empty()) {
- iter.previous();
- return result;
- }
-
- QName varname = ve.varname();
-
- // for each item of binding sequence, bind the range
- // variable and do the expression, concatenating the
- // result
-
- for (Iterator i = rs.iterator(); i.hasNext();) {
- AnyType item = (AnyType) i.next();
-
- _dc.set_variable(varname, item);
- allocated_var = true;
-
- _dc.new_scope();
- ResultSequence res = do_for_quantified_expr(iter, finalexpr,
- type);
- _dc.destroy_scope();
- assert res != null;
-
- // ok here we got a "real" result, now figure
- // out what to do with it
- XSBoolean effbool = null;
- switch (type) {
- // for expression
- case 0:
- result.concat(res);
- break;
-
- // we need the effective boolean value
- // of the expression
- case 1:
- case 2:
- effbool = effective_boolean_value(res);
- break;
-
- default:
- assert false;
- }
-
- // we got a quantified expression
- if (effbool != null) {
- // for all
- if (type == 1) {
- result = ResultSequenceFactory.create_new(effbool);
- if (!effbool.value())
- break;
- }
- // there exists
- else if (type == 2) {
- result = ResultSequenceFactory.create_new(effbool);
- if (effbool.value())
- break;
- } else
- assert false;
- }
- }
-
- if (allocated_var) {
- boolean del = _dc.del_variable(varname);
- assert del == true;
- }
-
- iter.previous();
- return result;
- }
- // we finally got to do the "last expression"
- else {
- return (ResultSequence) finalexpr.accept(this);
- }
-
- }
-
- /**
- * visit for expression
- *
- * @param fex
- * is the for expression.
- * @return a new function.
- */
- public Object visit(ForExpr fex) {
- // XXX
- List pairs = new ArrayList(fex.ve_pairs());
- return do_for_quantified_expr(pairs.listIterator(), fex.expr(), 0);
- }
-
- /**
- * visit quantified expression
- *
- * @param qex
- * is the quantified expression.
- * @return a new function or null.
- */
- public Object visit(QuantifiedExpr qex) {
- // XXX
- List pairs = new ArrayList(qex.ve_pairs());
-
- int hack = 0;
-
- switch (qex.type()) {
- case QuantifiedExpr.SOME:
- hack = 2;
- break;
- case QuantifiedExpr.ALL:
- hack = 1;
- break;
-
- default:
- assert false;
- return null; // unreach
- }
- ResultSequence rs = do_for_quantified_expr(pairs.listIterator(), qex
- .expr(), hack);
-
- // make sure we found answer
- if (!rs.empty())
- return rs;
-
- // ok because all of this is a hack... here we go
- switch (qex.type()) {
- case QuantifiedExpr.SOME:
- return ResultSequenceFactory.create_new(new XSBoolean(false));
- case QuantifiedExpr.ALL:
- return ResultSequenceFactory.create_new(new XSBoolean(true));
- default:
- assert false;
- return null; // unreach
- }
- }
-
- /**
- * visit if expression
- *
- * @param ifex
- * is the if expression.
- * @return a ifex.then_clause().accept(this).
- */
- public Object visit(IfExpr ifex) {
- ResultSequence test_res = do_expr(ifex.iterator());
-
- XSBoolean res = effective_boolean_value(test_res);
-
- if (res.value())
- return ifex.then_clause().accept(this);
- else
- return ifex.else_clause().accept(this);
- }
-
- private boolean[] do_logic_exp(BinExpr e) {
- Collection args = do_bin_args(e);
-
- Iterator argiter = args.iterator();
-
- ResultSequence one = (ResultSequence) argiter.next();
- ResultSequence two = (ResultSequence) argiter.next();
-
- boolean oneb = effective_boolean_value(one).value();
- boolean twob = effective_boolean_value(two).value();
-
- boolean res[] = { oneb, twob };
- return res;
- }
-
- /**
- * visit or expression
- *
- * @param orex
- * is the or expression.
- * @return a new function
- */
- public Object visit(OrExpr orex) {
- boolean res[] = do_logic_exp(orex);
-
- return ResultSequenceFactory
- .create_new(new XSBoolean(res[0] || res[1]));
- }
-
- /**
- * visit and expression
- *
- * @param andex
- * is the and expression.
- * @return a new function
- */
- public Object visit(AndExpr andex) {
- boolean res[] = do_logic_exp(andex);
-
- return ResultSequenceFactory
- .create_new(new XSBoolean(res[0] && res[1]));
- }
-
- private ResultSequence node_cmp(int type, Collection args) {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- assert args.size() == 2;
-
- Iterator argsiter = args.iterator();
-
- ResultSequence one = (ResultSequence) argsiter.next();
- ResultSequence two = (ResultSequence) argsiter.next();
-
- int size_one = one.size();
- int size_two = two.size();
-
- if (size_one > 1 || size_two > 1)
- report_error(TypeError.invalid_type(null));
-
- if (size_one == 0 || size_two == 0)
- return rs;
-
- AnyType at_one = one.first();
- AnyType at_two = two.first();
-
- if (!(at_one instanceof NodeType) || !(at_two instanceof NodeType))
- report_error(TypeError.invalid_type(null));
-
- // ok we got the args finally
- NodeType nt_one = (NodeType) at_one;
- NodeType nt_two = (NodeType) at_two;
-
- boolean answer = false; // we are pessimistic as usual
-
- // do comparison
- switch (type) {
- case CmpExpr.IS:
- answer = nt_one.node_value() == nt_two.node_value();
- break;
-
- case CmpExpr.LESS_LESS:
- answer = nt_one.before(nt_two);
- break;
-
- case CmpExpr.GREATER_GREATER:
- answer = nt_one.after(nt_two);
- break;
-
- default:
- assert false;
- }
-
- rs.add(new XSBoolean(answer));
- return rs;
- }
-
- /**
- * visit compare expression
- *
- * @param cmpex
- * is the compare expression.
- * @return a new function or null
- */
- public Object visit(CmpExpr cmpex) {
- try {
- Collection args = do_bin_args(cmpex);
-
- switch (cmpex.type()) {
- case CmpExpr.EQ:
- return FsEq.fs_eq_value(args, _dc);
-
- case CmpExpr.NE:
- return FsNe.fs_ne_value(args, _dc);
-
- case CmpExpr.GT:
- return FsGt.fs_gt_value(args, _dc);
-
- case CmpExpr.LT:
- return FsLt.fs_lt_value(args, _dc);
-
- case CmpExpr.GE:
- return FsGe.fs_ge_value(args, _dc);
-
- case CmpExpr.LE:
- return FsLe.fs_le_value(args, _dc);
-
- case CmpExpr.EQUALS:
- return FsEq.fs_eq_general(args, _dc);
-
- case CmpExpr.NOTEQUALS:
- return FsNe.fs_ne_general(args, _dc);
-
- case CmpExpr.GREATER:
- return FsGt.fs_gt_general(args, _dc);
-
- case CmpExpr.LESSTHAN:
- return FsLt.fs_lt_general(args, _dc);
-
- case CmpExpr.GREATEREQUAL:
- return FsGe.fs_ge_general(args, _dc);
-
- case CmpExpr.LESSEQUAL:
- return FsLe.fs_le_general(args, _dc);
-
- case CmpExpr.IS:
- case CmpExpr.LESS_LESS:
- case CmpExpr.GREATER_GREATER:
- return node_cmp(cmpex.type(), args);
-
- default:
- assert false;
- }
- } catch (DynamicError err) {
- report_error(err);
- }
- return null; // unreach
- }
-
- /**
- * visit range expression
- *
- * @param rex
- * is the range expression.
- * @return a new function
- */
- public Object visit(RangeExpr rex) {
- ResultSequence one = (ResultSequence) rex.left().accept(this);
- ResultSequence two = (ResultSequence) rex.right().accept(this);
- if (one.empty() || two.empty()) return ResultSequenceFactory.create_new();
- Collection args = new ArrayList();
- args.add(one);
- args.add(two);
-
- try {
- return OpTo.op_to(args);
- } catch (DynamicError err) {
- report_error(err);
- return null; // unreach
- }
- }
-
- private XSBoolean effective_boolean_value(ResultSequence rs) {
- try {
- return FnBoolean.fn_boolean(rs);
- } catch (DynamicError err) {
- report_error(err);
- return null; // unreach
- }
- }
-
-
- /**
- * visit and expression
- *
- * @param addex
- * is the and expression.
- * @return a new function
- */
- public Object visit(AddExpr addex) {
- try {
- Collection args = do_bin_args(addex);
- return FsPlus.fs_plus(args);
- } catch (DynamicError err) {
- report_error(err);
- return null; // unreach
- }
- }
-
- /**
- * visit sub expression
- *
- * @param subex
- * is the sub expression.
- * @return a new function
- */
- public Object visit(SubExpr subex) {
- try {
- Collection args = do_bin_args(subex);
- return FsMinus.fs_minus(args);
- } catch (DynamicError err) {
- report_error(err);
- return null; // unreach
- }
- }
-
- /**
- * visit multiply expression
- *
- * @param mulex
- * is the mul expression.
- * @return a new function
- */
- public Object visit(MulExpr mulex) {
- try {
- Collection args = do_bin_args(mulex);
- return FsTimes.fs_times(args);
- } catch (DynamicError err) {
- report_error(err);
- return null; // unreach
- }
- }
-
- /**
- * visit division expression
- *
- * @param mulex
- * is the division expression.
- * @return a new function
- */
- public Object visit(DivExpr mulex) {
- try {
- Collection args = do_bin_args(mulex);
- return FsDiv.fs_div(args);
- } catch (DynamicError err) {
- report_error(err);
- return null; // unreach
- }
- }
-
- /**
- * visit integer division expression
- *
- * @param mulex
- * is the integer division expression.
- * @return a new function
- */
- public Object visit(IDivExpr mulex) {
- try {
- Collection args = do_bin_args(mulex);
- return FsIDiv.fs_idiv(args);
- } catch (DynamicError err) {
- report_error(err);
- return null; // unreach
- }
- }
-
- /**
- * visit modular expression
- *
- * @param mulex
- * is the modular expression.
- * @return a new function
- */
- public Object visit(ModExpr mulex) {
- try {
- Collection args = do_bin_args(mulex);
- return FsMod.fs_mod(args);
- } catch (DynamicError err) {
- report_error(err);
- return null; // unreach
- }
- }
-
- private Collection do_bin_args(BinExpr e) {
- ResultSequence one = (ResultSequence) e.left().accept(this);
- ResultSequence two = (ResultSequence) e.right().accept(this);
-
- Collection args = new ArrayList();
- args.add(one);
- args.add(two);
-
- return args;
- }
-
- /**
- * visit union expression
- *
- * @param unex
- * is the union expression.
- * @return a new function
- */
- public Object visit(UnionExpr unex) {
- try {
- Collection args = do_bin_args(unex);
- return OpUnion.op_union(args);
- } catch (DynamicError err) {
- report_error(err);
- return null; // unreach
- }
- }
-
- /**
- * visit pipe expression
- *
- * @param pipex
- * is the pipe expression.
- * @return a new function
- */
- // XXX same as above
- public Object visit(PipeExpr pipex) {
- try {
- Collection args = do_bin_args(pipex);
- return OpUnion.op_union(args);
- } catch (DynamicError err) {
- report_error(err);
- return null; // unreach
- }
- }
-
- /**
- * visit intersect expression
- *
- * @param iexpr
- * is the intersect expression.
- * @return a new function
- */
- public Object visit(IntersectExpr iexpr) {
- try {
- Collection args = do_bin_args(iexpr);
- return OpIntersect.op_intersect(args);
- } catch (DynamicError err) {
- report_error(err);
- return null; // unreach
- }
- }
-
- /**
- * visit except expression
- *
- * @param eexpr
- * is the except expression.
- * @return a new function
- */
- public Object visit(ExceptExpr eexpr) {
- try {
- Collection args = do_bin_args(eexpr);
- return OpExcept.op_except(args);
- } catch (DynamicError err) {
- report_error(err);
- return null; // unreach
- }
- }
-
- /**
- * visit instance of expression
- *
- * @param ioexp
- * is the instance of expression.
- * @return a new function
- */
- public Object visit(InstOfExpr ioexp) {
- // get the value
- ResultSequence rs = (ResultSequence) ioexp.left().accept(this);
-
- // get the sequence type
- SequenceType seqt = (SequenceType) ioexp.right();
- return ResultSequenceFactory.create_new(new XSBoolean(isInstanceOf(rs, seqt)));
- }
-
- private boolean isInstanceOf(ResultSequence rs, SequenceType seqt) {
- Object oldParam = this._param;
- try {
- this._param = new Pair(null, rs);
- int sequenceLength = rs.size();
- // Run the matcher
- seqt.accept(this);
- int lengthAfter = rs.size();
-
- if (sequenceLength != lengthAfter)
- return false; // Something didn't match, so it's not an instance of it
-
- return seqt.isLengthValid(sequenceLength);
- } finally {
- this._param = oldParam;
- }
- }
-
- /**
- * visit treat-as expression
- *
- * @param taexp
- * is the treat-as expression.
- * @return a new function
- */
- public Object visit(TreatAsExpr taexp) {
-
- ResultSequence rs = (ResultSequence) taexp.left().accept(this);
-
- SequenceType seqt = (SequenceType) taexp.right();
- SeqType st = new SeqType(seqt, _dc, rs);
-
- try {
- st.match(rs);
- } catch (DynamicError err) {
- report_error(err);
- }
-
- return rs;
- }
-
- /**
- * visit castable expression
- *
- * @param cexp
- * is the castable expression.
- * @return a new function
- */
- public Object visit(CastableExpr cexp) {
- boolean castable = false;
- try {
- CastExpr ce = new CastExpr((Expr) cexp.left(), (SingleType) cexp
- .right());
-
- visit(ce);
- castable = true;
- } catch (Throwable t) {
- castable = false;
- }
-
- return ResultSequenceFactory.create_new(new XSBoolean(castable));
- }
-
- /**
- * visit cast expression
- *
- * @param cexp
- * is the cast expression.
- * @return a new function
- */
- public Object visit(CastExpr cexp) {
-
- ResultSequence rs = (ResultSequence) cexp.left().accept(this);
- SingleType st = (SingleType) cexp.right();
-
- rs = FnData.atomize(rs);
-
- if (rs.size() > 1)
- report_error(TypeError.invalid_type(null));
-
- if (rs.empty()) {
- if (st.qmark())
- return rs;
- else
- report_error(TypeError.invalid_type(null));
- }
-
- AnyType at = rs.first();
-
- if (!(at instanceof AnyAtomicType))
- report_error(TypeError.invalid_type(null));
-
- AnyAtomicType aat = (AnyAtomicType) at;
-
- QName type = st.type();
-
- // check if constructor exists
- // try {
- if (!_dc.function_exists(type, 1))
- report_error(TypeError.invalid_type(null));
- /*
- * } catch(StaticNsNameError err) {
- * report_error(TypeError.invalid_type(null)); }
- */
- // prepare args from function
- Collection args = new ArrayList();
- args.add(ResultSequenceFactory.create_new(aat));
-
- try {
- return _dc.evaluate_function(type, args);
- } catch (DynamicError err) {
- report_error(err);
- return null; // unreach
- }
- }
-
- /**
- * visit minus expression
- *
- * @param e
- * is the minus expression.
- * @return a new function
- */
- public Object visit(MinusExpr e) {
- ResultSequence rs = (ResultSequence) e.arg().accept(this);
-
- Collection args = new ArrayList();
- args.add(rs);
-
- try {
- return FsMinus.fs_minus_unary(args);
- } catch (DynamicError err) {
- report_error(err);
- return null; // unreach
- }
- }
-
- /**
- * visit plus expression
- *
- * @param e
- * is the plus expression.
- * @return a new function
- */
- public Object visit(PlusExpr e) {
- ResultSequence rs = (ResultSequence) e.arg().accept(this);
-
- Collection args = new ArrayList();
- args.add(rs);
-
- try {
- return FsPlus.fs_plus_unary(args);
- } catch (DynamicError err) {
- report_error(err);
- return null; // unreach
- }
- }
-
- // this will evaluate the step expression for the whole focus and return
- // the result.
- //
- // i.e. It will execute the step expression for each item in the focus
- // [each time changing the context item].
- private ResultSequence do_step(StepExpr se) {
-
- ResultSequence rs = ResultSequenceFactory.create_new();
- ArrayList results = new ArrayList();
- int type = 0; // 0: don't know yet
- // 1: atomic
- // 2: node
-
- Focus focus = _dc.focus();
- int original_pos = focus.position();
-
- // execute step for all items in focus
- while (true) {
- results.add(se.accept(this));
-
- // go to next
- if (!focus.advance_cp())
- break;
- }
-
- // make sure we didn't change focus
- focus.set_position(original_pos);
-
- boolean node_types = false;
-
- // check the results
- for (Iterator i = results.iterator(); i.hasNext();) {
- ResultSequence result = (ResultSequence) i.next();
-
- // make sure results are of same type, and add them in
- for (Iterator j = result.iterator(); j.hasNext();) {
- AnyType item = (AnyType) j.next();
-
- // first item
- if (type == 0) {
- if (item instanceof AnyAtomicType)
- type = 1;
- else if (item instanceof NodeType)
- type = 2;
- else
- assert false;
- }
-
- // make sure we got coherent types
- switch (type) {
- // atomic... just concat
- case 1:
- if (!(item instanceof AnyAtomicType))
- report_error(TypeError.mixed_vals(null));
- rs.add(item);
- break;
-
- case 2:
- node_types = true;
- if (!(item instanceof NodeType))
- report_error(TypeError.mixed_vals(null));
- rs.add(item);
- break;
-
- default:
- assert false;
- }
- }
- }
-
- // XXX lame
- if (node_types) {
- rs = NodeType.eliminate_dups(rs);
- rs = NodeType.sort_document_order(rs);
- }
-
- return rs;
- }
-
- private ResultSequence root_self_node() {
- Axis axis = new SelfAxis();
- ResultSequence rs;
-
- // XXX the cast!!!
- rs = axis.iterate((NodeType) _dc.context_item(), _dc);
-
- rs = kind_test(rs, NodeType.class);
-
- try {
- List records = new ArrayList();
- records.add(rs);
- rs = FnRoot.fn_root(records, _dc);
- } catch (DynamicError err) {
- report_error(err);
- }
- return rs;
- }
-
- private ResultSequence descendant_or_self_node(ResultSequence rs) {
- ResultSequence res = ResultSequenceFactory.create_new();
- Axis axis = new DescendantOrSelfAxis();
-
- // for all nodes, get descendant or self nodes
- for (Iterator i = rs.iterator(); i.hasNext();) {
- NodeType item = (NodeType) i.next();
-
- ResultSequence nodes = axis.iterate(item, _dc);
- nodes = kind_test(nodes, NodeType.class);
-
- res.concat(nodes);
- }
-
- return res;
- }
-
- /**
- * visit XPath expression
- *
- * @param e
- * is the XPath expression.
- * @return a new function
- */
- public Object visit(XPathExpr e) {
- XPathExpr xp = e;
-
- ResultSequence rs = null;
- Focus original_focus = _dc.focus();
-
- // do all the steps
- while (xp != null) {
- StepExpr se = xp.expr();
-
- if (se != null) {
- // this is not the first step
- if (rs != null) {
- // XXX ?
- // the expression didn't return any
- // results...
- if (rs.size() == 0)
- break;
-
- // make sure result of previous step are
- // nodes!
- for (Iterator i = rs.iterator(); i.hasNext();) {
- AnyType item = (AnyType) i.next();
-
- if (!(item instanceof NodeType)) {
- report_error(TypeError.step_conatins_atoms(null));
- return null; // unreach
- }
- }
-
- // check if we got a //
- if (xp.slashes() == 2) {
- rs = descendant_or_self_node(rs);
-
- if (rs.size() == 0)
- break;
- }
-
- // make result of previous step the new
- // focus
- _dc.set_focus(new Focus(rs));
-
- // do the step for all item in context
- rs = do_step(se);
- }
- // this is first step...
- // note... we may be called from upstream...
- // like in the expression sorbo/*[2] ... we may
- // be called to evaluate the 2... the caller
- // will iterate through the whole outer focus
- // for us
- else {
- // XXX ???
- if (xp.slashes() == 1) {
- rs = root_self_node();
- _dc.set_focus(new Focus(rs));
-
- rs = do_step(se);
- } else if (xp.slashes() == 2) {
- ResultSequence res = ResultSequenceFactory.create_new();
- rs = root_self_node();
-
- rs = descendant_or_self_node(rs);
-
- _dc.set_focus(new Focus(rs));
-
- rs = do_step(se);
- } else
- rs = (ResultSequence) se.accept(this);
- }
- }
- // the expression is "/"
- else {
- assert xp.slashes() == 1;
-
- rs = root_self_node();
- }
-
- xp = xp.next();
- }
-
- // restore focus
- _dc.set_focus(original_focus);
-
- return rs;
- }
-
- /**
- * visit a forward step expression
- *
- * @param e
- * is the forward step.
- * @return a new function
- */
- public Object visit(ForwardStep e) {
-
- // get context node
- AnyType ci = _dc.context_item();
-
- if (ci == null)
- report_error(DynamicError.contextUndefined());
-
- if (!(ci instanceof NodeType))
- report_error(TypeError.ci_not_node(ci.string_type()));
-
- NodeType cn = (NodeType) ci;
-
- // get the nodes on the axis
- ForwardAxis axis = e.iterator();
- ResultSequence nodes = axis.iterate(cn, _dc);
- // get all nodes in the axis, and principal node
- Pair arg = new Pair(axis.principal_node_kind().string_type(), nodes);
-
- // do the name test
- _param = arg;
- ResultSequence rs = (ResultSequence) e.node_test().accept(this);
-
- return rs;
- }
-
- /**
- * visit a reverse step expression
- *
- * @param e
- * is the reverse step.
- * @return a new function
- */
- // XXX unify with top
- public Object visit(ReverseStep e) {
- // get context node
- AnyType ci = _dc.context_item();
-
- if (!(ci instanceof NodeType))
- report_error(TypeError.ci_not_node(ci.string_type()));
-
- NodeType cn = (NodeType) ci;
-
- // get the nodes on the axis
- ReverseAxis axis = e.iterator();
-
- // short for "gimme da parent"
- if (e.axis() == ReverseStep.DOTDOT) {
- axis = new ParentAxis();
-
- return kind_test(axis.iterate(cn, _dc), NodeType.class);
- }
-
- assert axis != null;
-
- ResultSequence nodes = axis.iterate(cn, _dc);
- // get all nodes in the axis, and principal node
- Pair arg = new Pair(axis.principal_node_kind().string_type(), nodes);
-
- // do the name test
- _param = arg;
- ResultSequence rs = (ResultSequence) e.node_test().accept(this);
-
- return rs;
- }
-
- // XXX this routine sux
- private boolean name_test(NodeType node, QName name, String type) {
- // make sure principal node kind is the same
- if (node == null) {
- return false;
- }
- if (!type.equals(node.string_type())) {
- return false;
- }
-
- String test_prefix = name.prefix();
-
- // if unprefixed and principal node kind is element, set default
- // element namespace
- if (test_prefix == null && type.equals("element")) {
- // XXX make a new copy
- name = new QName(null, name.local());
- name.set_namespace(_dc.default_namespace());
-
- // if we actually have a namespace, pretend we do =D
- if (name.namespace() != null)
- test_prefix = "";
- }
-
- QName node_name = node.node_name();
-
- assert node_name != null;
-
- // make sure namespace matches
- String node_namespace = node_name.namespace();
-
- String test_namespace = null;
- if (name.expanded())
- test_namespace = name.namespace();
-
- // name test has no prefix
- if (test_prefix == null) {
- // ok no namespace... match
- if (node_namespace == null) {
- } else {
- return false;
- }
- }
- // name test has a prefix and is not wildcard
- // XXX AT THIS POINT ALL PREFIXES NEED TO BE RESOLVED!
- else if (!test_namespace.equals("*")) {
- // the node doesn't have a namespace... no match
- if (node_namespace == null) {
- return false;
- }
- // check namespaces
- else {
- if (node_namespace.equals(test_namespace)) {
- // namespace matches
- } else {
- return false;
- }
- }
- }
-
- // make sure local part matches
- // check for wildcard in localpart
- if (name.local().equals("*"))
- return true;
-
- // check if local part matches
- if (!name.local().equals(node_name.local())) {
- return false;
- }
-
- return true;
- }
-
- /**
- * visit a name test expression
- *
- * @param e
- * is thename test.
- * @return a result sequence
- */
- public Object visit(NameTest e) {
- QName name = e.name();
-
- // get the arguments
- Pair arg = (Pair) _param;
- String type = (String) arg._one;
- ResultSequence rs = (ResultSequence) arg._two;
-
- for (Iterator i = rs.iterator(); i.hasNext();) {
- NodeType nt = (NodeType) i.next();
-
- // check if node passes name test
- if (!name_test(nt, name, type))
- i.remove();
-
- }
-
- return rs;
- }
-
- /**
- * visit variable reference
- *
- * @param e
- * is the variable reference.
- * @return a result sequence
- */
- public Object visit(VarRef e) {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- AnyType var = _dc.get_variable(e.name());
-
- assert var != null;
-
- rs.add(var);
-
- return rs;
- }
-
- /**
- * visit string literal.
- *
- * @param e
- * is the string literal.
- * @return a result sequence
- */
- public Object visit(StringLiteral e) {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- rs.add(e.value());
- return rs;
- }
-
- /**
- * visit integer literal.
- *
- * @param e
- * is the integer literal.
- * @return a result sequence
- */
- public Object visit(IntegerLiteral e) {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- rs.add(e.value());
- return rs;
- }
-
- /**
- * visit double literal.
- *
- * @param e
- * is the double literal.
- * @return a result sequence
- */
- public Object visit(DoubleLiteral e) {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- rs.add(e.value());
- return rs;
- }
-
- /**
- * visit decimal literal.
- *
- * @param e
- * is the decimal literal.
- * @return a result sequence
- */
- public Object visit(DecimalLiteral e) {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- rs.add(e.value());
- return rs;
- }
-
- /**
- * visit parent expression.
- *
- * @param e
- * is the parent expression.
- * @return a new function
- */
- public Object visit(ParExpr e) {
- return do_expr(e.iterator());
- }
-
- /**
- * visit context item expression.
- *
- * @param e
- * is the context item expression.
- * @return a result sequence
- */
- public Object visit(CntxItemExpr e) {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- AnyType contextItem = _dc.context_item();
- if (contextItem == null) {
- report_error(DynamicError.contextUndefined());
- }
- rs.add(contextItem);
- return rs;
- }
-
- /**
- * visit function call.
- *
- * @param e
- * is the function call.
- * @return a new function or null
- */
- public Object visit(FunctionCall e) {
- ArrayList args = new ArrayList();
-
- for (Iterator i = e.iterator(); i.hasNext();) {
- Expr arg = (Expr) i.next();
- // each argument will produce a result sequence
- args.add(arg.accept(this));
- }
-
- try {
- ResultSequence rs = _dc.evaluate_function(e.name(), args);
- return rs;
- } catch (DynamicError err) {
- report_error(err);
- return null; // unreach
- }
- }
-
- /**
- * visit single type.
- *
- * @param e
- * is the single type.
- * @return null
- */
- public Object visit(SingleType e) {
- return null;
- }
-
- /**
- * visit sequence type.
- *
- * @param e
- * is the sequence type.
- * @return null
- */
- public Object visit(SequenceType e) {
- ItemType it = e.item_type();
-
- if (it != null)
- it.accept(this);
-
- return null;
- }
-
- /**
- * visit item type.
- *
- * @param e
- * is the item type.
- * @return null
- */
- public Object visit(ItemType e) {
-
- switch (e.type()) {
- case ItemType.ITEM:
- break;
- case ItemType.QNAME:
-
- // try {
- if (!_dc.type_defined(e.qname()))
- report_error(new StaticTypeNameError("Type not defined: "
- + e.qname().string()));
-
- ResultSequence arg = (ResultSequence) ((Pair) _param)._two;
- item_test(arg, e.qname());
- break;
-
- case ItemType.KINDTEST:
- e.kind_test().accept(this);
- break;
- }
-
- return null;
- }
-
- private ResultSequence item_test(ResultSequence rs, QName qname) {
- for (Iterator i = rs.iterator(); i.hasNext();) {
- AnyType item = (AnyType) i.next();
-
- if (item instanceof NodeType) {
- NodeType node = ((NodeType)item);
- if (node.node_value() instanceof ItemPSVI) {
- if (_dc.derives_from(node , qname)) continue;
- }
- // fall through => non-match
- } else {
- // atomic of some sort
- if (qname.equals(ANY_ATOMIC_TYPE)) continue; // match !
-
- final AnyAtomicType aat = _dc.make_atomic(qname);
- if (aat.getClass().isInstance(item)) continue;
-
- // fall through => non-match
- }
- i.remove();
- }
- return rs;
- }
-
-
- private ResultSequence kind_test(ResultSequence rs, Class kind) {
- for (Iterator i = rs.iterator(); i.hasNext();) {
- if (!kind.isInstance(i.next()))
- i.remove();
- }
- return rs;
- }
-
- /**
- * visit any kind test.
- *
- * @param e
- * is the any kind test.
- * @return a new function
- */
- public Object visit(AnyKindTest e) {
- ResultSequence arg = (ResultSequence) ((Pair) _param)._two;
-
- return kind_test(arg, NodeType.class);
- }
-
- /**
- * visit document test.
- *
- * @param e
- * is the document test.
- * @return result sequence
- */
- public Object visit(DocumentTest e) {
- ResultSequence arg = (ResultSequence) ((Pair) _param)._two;
- int type = e.type();
-
- // filter doc nodes
- ResultSequence rs = kind_test(arg, DocType.class);
-
- if (type == DocumentTest.NONE)
- return rs;
-
- // for all docs, find the ones with exactly one element, and do
- // the element test
- for (Iterator i = rs.iterator(); i.hasNext();) {
- DocType doc = (DocType) i.next();
- int elem_count = 0;
- ElementType elem = null;
-
- // make sure doc has only 1 element
- NodeList children = doc.node_value().getChildNodes();
- for (int j = 0; j < children.getLength(); j++) {
- Node child = children.item(j);
-
- // bingo
- if (child.getNodeType() == Node.ELEMENT_NODE) {
- elem_count++;
-
- if (elem_count > 1)
- break;
-
- elem = new ElementType((Element) child);
- }
- }
-
- // this doc is no good... send him to hell
- if (elem_count != 1) {
- i.remove();
- continue;
- }
-
- assert elem != null;
-
- // setup parameter for element test
- ResultSequence res = ResultSequenceFactory.create_new();
- res.add(elem);
- _param = new Pair("element", res);
-
- // do name test
- res = null;
- if (type == DocumentTest.ELEMENT)
- res = (ResultSequence) e.elem_test().accept(this);
- else if (type == DocumentTest.SCHEMA_ELEMENT)
- res = (ResultSequence) e.schema_elem_test().accept(this);
- else
- assert false;
-
- // check if element survived nametest
- if (res.size() != 1)
- i.remove();
- }
-
- return rs;
- }
-
- /**
- * visit text test.
- *
- * @param e
- * is the text test.
- * @return a new function
- */
- public Object visit(TextTest e) {
- ResultSequence arg = (ResultSequence) ((Pair) _param)._two;
-
- return kind_test(arg, TextType.class);
- }
-
- /**
- * visit comment test.
- *
- * @param e
- * is the text test.
- * @return a new function
- */
- public Object visit(CommentTest e) {
- ResultSequence arg = (ResultSequence) ((Pair) _param)._two;
-
- return kind_test(arg, CommentType.class);
- }
-
- /**
- * visit PI test.
- *
- * @param e
- * is the PI test.
- * @return a argument
- */
- public Object visit(PITest e) {
- ResultSequence arg = (ResultSequence) ((Pair) _param)._two;
-
- String pit_arg = e.arg();
-
- // match any pi
- if (pit_arg == null)
- return kind_test(arg, PIType.class);
-
- for (Iterator i = arg.iterator(); i.hasNext();) {
- AnyType item = (AnyType) i.next();
-
- // match PI
- if (item instanceof PIType) {
- PIType pi = (PIType) item;
-
- // match target
- if (!pit_arg.equals(pi.value().getTarget()))
- i.remove();
- } else
- i.remove();
- }
-
- return arg;
- }
-
- /**
- * visit attribute test.
- *
- * @param e
- * is the attribute test.
- * @return a result sequence
- */
- public Object visit(AttributeTest e) {
- // filter out all attrs
- ResultSequence rs = kind_test((ResultSequence) ((Pair) _param)._two,
- AttrType.class);
-
- // match the name if it's not a wild card
- QName name = e.name();
- if (name != null && !e.wild()) {
- for (Iterator i = rs.iterator(); i.hasNext();) {
- if (!name_test((NodeType) i.next(), name, "attribute"))
-
- i.remove();
- }
- }
-
- // match the type
- QName type = e.type();
- if (type != null) {
- for (Iterator i = rs.iterator(); i.hasNext();) {
- NodeType node = (NodeType) i.next();
-
- // check if element derives from
- if (!_dc.derives_from(node, type))
- i.remove();
- }
- }
-
- return rs;
- }
-
- /**
- * visit schema attribute test.
- *
- * @param e
- * is the schema attribute test.
- * @return a result sequence
- */
- public Object visit(SchemaAttrTest e) {
- // filter out all attrs
- ResultSequence rs = kind_test((ResultSequence) ((Pair) _param)._two,
- AttrType.class);
-
- // match the name
- QName name = e.arg();
- for (Iterator i = rs.iterator(); i.hasNext();) {
- if (!name_test((NodeType) i.next(), name, "attribute"))
-
- i.remove();
- }
-
- // check the type
- XSTypeDefinition et = _dc.attribute_type_definition(name);
- for (Iterator i = rs.iterator(); i.hasNext();) {
- NodeType node = (NodeType) i.next();
-
- if (!_dc.derives_from(node, et))
- i.remove();
-
- }
-
- return rs;
- }
-
- /**
- * visit element test.
- *
- * @param e
- * is the element test.
- * @return a result sequence
- */
- public Object visit(ElementTest e) {
-
- // filter out all elements
- ResultSequence rs = kind_test((ResultSequence) ((Pair) _param)._two,
- ElementType.class);
-
- // match the name if it's not a wild card
- QName name = e.name();
- if (name != null && !e.wild()) {
- for (Iterator i = rs.iterator(); i.hasNext();) {
- if (!name_test((ElementType) i.next(), name, "element"))
-
- i.remove();
- }
- }
-
- // match the type
- QName type = e.type();
- if (type != null) {
- for (Iterator i = rs.iterator(); i.hasNext();) {
- NodeType node = (NodeType) i.next();
-
- // check if element derives from
- if (_dc.derives_from(node, type)) {
- // nilled may be true or false
- if (e.qmark()) {
- }
- // nilled has to be false
- else {
- XSBoolean nilled = (XSBoolean) node.nilled().first();
- if (nilled.value())
- i.remove();
- }
-
- } else
- i.remove();
- }
- }
-
- return rs;
- }
-
- /**
- * visit schema element test.
- *
- * @param e
- * is the schema element test.
- * @return a result sequence
- */
- public Object visit(SchemaElemTest e) {
- // filter out all elements
- ResultSequence rs = kind_test((ResultSequence) ((Pair) _param)._two,
- ElementType.class);
-
- // match the name
- // XXX substitution groups
- QName name = e.name();
- for (Iterator i = rs.iterator(); i.hasNext();) {
- if (!name_test((ElementType) i.next(), name, "element"))
-
- i.remove();
- }
-
- // check the type
- XSTypeDefinition et = _dc.element_type_definition(name);
- for (Iterator i = rs.iterator(); i.hasNext();) {
- NodeType node = (NodeType) i.next();
-
- if (!_dc.derives_from(node, et)) {
- i.remove();
- continue;
- }
-
- XSBoolean nilled = (XSBoolean) node.nilled().first();
- // XXX or, in schema it is nillable
- if (nilled.value())
- i.remove();
- }
-
- return rs;
- }
-
- private boolean predicate_truth(ResultSequence rs) {
- // rule 1 of spec... if numeric type:
- // if num eq position then true else false
- if (rs.size() == 1) {
- AnyType at = rs.get(0);
-
- if (at instanceof NumericType) {
- try {
- _g_xsint.set_int(BigInteger.valueOf(_dc.context_position()));
- return FsEq.fs_eq_fast(at, _g_xsint, _dc);
- } catch (DynamicError err) {
- report_error(err);
-
- // unreach
- assert false;
- return false;
- }
- }
- }
-
- // rule 2
- XSBoolean ret = effective_boolean_value(rs);
-
- return ret.value();
- }
-
- // do the predicate for all items in focus
- private ResultSequence do_predicate(Collection exprs) {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- Focus focus = _dc.focus();
- int original_cp = focus.position();
-
- // optimization
- // check if predicate is single numeric constant
- if (exprs.size() == 1) {
- Expr expr = (Expr) exprs.iterator().next();
-
- if (expr instanceof XPathExpr) {
- XPathExpr xpe = (XPathExpr) expr;
- if (xpe.next() == null && xpe.slashes() == 0
- && xpe.expr() instanceof FilterExpr) {
- FilterExpr fex = (FilterExpr) xpe.expr();
- if (fex.primary() instanceof IntegerLiteral) {
- int pos = (((IntegerLiteral) fex.primary()).value()
- .int_value()).intValue();
-
- if (pos <= focus.last() && pos > 0) {
- focus.set_position(pos);
- rs.add(focus.context_item());
- }
- focus.set_position(original_cp);
- return rs;
- }
- }
- }
- }
-
- // go through all elements
- while (true) {
- // do the predicate
- // XXX saxon doesn't allow for predicates to have
- // commas... but XPath 2.0 spec seems to do
- ResultSequence res = do_expr(exprs.iterator());
-
- // if predicate is true, the context item is definitely
- // in the sequence
- if (predicate_truth(res))
- rs.add(_dc.context_item());
-
- res.release();
- if (!focus.advance_cp())
- break;
-
- }
-
- // restore
- focus.set_position(original_cp);
-
- return rs;
- }
-
- /**
- * visit axis step.
- *
- * @param e
- * is the axis step.
- * @return a result sequence
- */
- public Object visit(AxisStep e) {
- ResultSequence rs = (ResultSequence) e.step().accept(this);
-
- if (e.predicate_count() == 0)
- return rs;
-
- // I take it predicates are logical ANDS...
- Focus original_focus = _dc.focus();
-
- // go through all predicates
- for (Iterator i = e.iterator(); i.hasNext();) {
- // empty results... get out of here ? XXX
- if (rs.size() == 0)
- break;
-
- _dc.set_focus(new Focus(rs));
- rs = do_predicate((Collection) i.next());
-
- }
-
- // restore focus [context switching ;D ]
- _dc.set_focus(original_focus);
- return rs;
- }
-
- /**
- * visit filter expression
- *
- * @param e
- * is the filter expression.
- * @return a result sequence
- */
- // XXX unify with top ?
- public Object visit(FilterExpr e) {
- ResultSequence rs = (ResultSequence) e.primary().accept(this);
-
- // if no predicates are present, then the result is the same as
- // the primary expression
- if (e.predicate_count() == 0)
- return rs;
-
- Focus original_focus = _dc.focus();
-
- // go through all predicates
- for (Iterator i = e.iterator(); i.hasNext();) {
- if (rs.size() == 0)
- break;
-
- _dc.set_focus(new Focus(rs));
- rs = do_predicate((Collection) i.next());
-
- }
-
- // restore focus [context switching ;D ]
- _dc.set_focus(original_focus);
- return rs;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/DynamicContext.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/DynamicContext.java
deleted file mode 100644
index 5a7cbc7..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/DynamicContext.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 273760 - wrong namespace for functions and data types
- * David Carver - bug 282223 - implementation of xs:duration data types.
- * Jesper Moller- bug 281159 - fix document loading and resolving URIs
- * Jesper Moller- bug 286452 - always return the stable date/time from dynamic context
- * Jesper Moller- bug 275610 - Avoid big time and memory overhead for externals
- * Jesper Moller- bug 280555 - Add pluggable collation support
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.Focus;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration;
-import org.w3c.dom.Node;
-
-import java.net.URI;
-import java.util.Collection;
-import java.util.Comparator;
-import java.util.GregorianCalendar;
-
-/**
- * Interface for dynamic context.
- */
-public interface DynamicContext extends StaticContext {
-
- /**
- * The default collation which is guaranteed to always be implemented
- * @since 1.1
- */
- public static final String CODEPOINT_COLLATION = "http://www.w3.org/2005/xpath-functions/collation/codepoint";
-
- /**
- * Get context item.
- *
- * @return the context item.
- */
- public AnyType context_item();
-
- /**
- * Get context node position.
- *
- * @return position of context node.
- */
- public int context_position();
-
- /**
- * Get position of last item.
- *
- * @return last item position.
- */
- public int last();
-
- /**
- * Get variable.
- *
- * @param name
- * is the name of the variable.
- * @return variable.
- */
- public AnyType get_variable(QName name);
-
- /**
- * Set variable.
- *
- * @param var
- * is name of the variable.
- * @param val
- * is the value to be set for the variable.
- */
- public void set_variable(QName var, AnyType val);
-
- /**
- * Evaluate the function of the arguments.
- *
- * @param name
- * is the name.
- * @param args
- * are the arguments.
- * @throws DynamicError
- * dynamic error.
- * @return result of the function evaluation.
- */
- public ResultSequence evaluate_function(QName name, Collection args)
- throws DynamicError;
-
- /**
- * Reads the day from a TimeDuration type
- *
- * @return current date time and implicit timezone.
- * @since 1.1
- */
- public XSDuration tz();
-
- /**
- * Get document.
- *
- * @param uri
- * is the URI of the document.
- * @return document.
- * @since 1.1
- */
- // available doc
- public ResultSequence get_doc(URI uri);
-
- /**
- * Resolve an URI
- *
- * @param uri
- * is the possibly relative URI to resolve
- * @return the absolutized, resolved URI.
- * @since 1.1
- */
- public URI resolve_uri(String uri);
-
- // available collections
-
- // default collection
-
- /**
- * Returns the current date time using the GregorianCalendar.
- *
- * @return The current date and time, which will always be same for the dynamic context.
- * @since 1.1
- */
- public GregorianCalendar current_date_time();
-
- /**
- * Set focus.
- *
- * @param focus
- * is focus to be set.
- */
- // Other functions
- public void set_focus(Focus focus);
-
- /**
- * Return focus.
- *
- * @return Focus
- */
- public Focus focus();
-
- /**
- * Return a useful collator for the specified URI
- *
- * @param uri
- * @return A Jaa collator, or null, if no such Collator exists
- * @since 1.1
- */
- public Comparator get_collation(String uri);
-
- /**
- * Returns the current default collator
- *
- * @return The default name to use as the collator
- * @since 1.1
- */
- public String default_collation_name();
-
- // deprecated
- /**
- * @deprecated
- */
- public int node_position(Node node);
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/DynamicError.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/DynamicError.java
deleted file mode 100644
index eaebfca..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/DynamicError.java
+++ /dev/null
@@ -1,523 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * David Carver (STAR) - bug 273763 - correct error codes.
- * bug 280106 - Correct XPDY0021 - XPST0003
- * Jesper Steen Moeller - bug 28149 - add more fn:error info
- * Jesper Steen Moller - bug 281159 - fix document loading and resolving URIs
- * Jesper Steen Moller - Bug 286062 - Add FOAR0002
- * Jesper Steen Moller - bug 280555 - Add pluggable collation support
- * Jesper Steen Moller - bug 262765 - Add FORG0006
- * Jesper Steen Moller - bug 290337 - Revisit use of ICU
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.TypeError;
-
-/**
- * Dynamic Error like division by 0 or type errors.
- */
-public class DynamicError extends XPathException {
- /**
- *
- */
- private static final long serialVersionUID = -6146830764753685791L;
-
- // errorcode specified in http://www.w3.org/2004/10/xqt-errors i fink
- private String _code;
-
- // XXX dirty... should fix the error stuff
- // have a type error encapsulated in a dynamic error
- private TypeError _te;
-
- /**
- * Constructor for Dynamic Error.
- *
- * @param code
- * is the code that is set.
- * @param err
- * is the reason for the error.
- */
- public DynamicError(String code, String err) {
- super(err);
- _code = code;
- _te = null;
- }
-
- /**
- * Constructor for Dynamic Error.
- *
- * @param te
- * is the error type.
- */
- public DynamicError(TypeError te) {
- super(te.reason());
- _te = te;
- _code = te.code();
- }
-
- /**
- * Returns the string of the code.
- *
- * @return the code.
- */
- public String code() {
- if (_te != null)
- return _te.code();
- return _code;
- }
-
- /**
- * Returns the dynamic error.
- *
- * @param err
- * is the error
- * @return the DynamicError.
- */
- public static DynamicError cant_cast(String err) {
- String error = "Can't cast to required type.";
-
- if (err != null)
- error += " " + err;
-
- return new DynamicError("FORG0001", error);
- }
-
- /**
- * Returns the dynamic error.
- *
- * @throws DynamicError
- * a Dynamic Error
- * @return the DynamicError.
- */
- public static DynamicError throw_type_error() throws DynamicError {
- throw argument_type_error(null);
- }
-
- /**
- * Returns the dynamic error.
- *
- * @param type Type found
- * @return the DynamicError.
- * @since 1.1
- */
- public static DynamicError argument_type_error(Class type) {
- return new DynamicError("FORG0006", type != null ?
- "Invalid argument type :" + type.getName() : "Invalid argument type");
- }
-
- /**
- * @since 1.1
- */
- public static DynamicError invalidType() throws DynamicError {
- throw new DynamicError(TypeError.invalid_type(null));
- }
-
- /**
- * @since 1.1
- */
- public static DynamicError inputToLargeForDecimal() throws DynamicError {
- throw new DynamicError("FOCA0001", "Input value too large for decimal");
- }
- /**
- * Returns the dynamic error.
- *
- * @param desc
- * is the description of the error
- * @return the DynamicError.
- * @since 1.1
- */
- public static DynamicError user_error(String ns, String code, String desc) {
- String error = "Error reported by fn:error.";
-
- if (desc != null)
- error = desc + " (reported by fn:error)";
-
- // XXX: Need to pass the namespace also...
- return new DynamicError(code, error);
- }
-
- /**
- * Returns the dynamic error.
- *
- * @param err
- * is the description of the error
- * @return the DynamicError.
- */
- public static DynamicError user_error(String err) {
- String error = "Error reported by fn:error.";
-
- if (err != null)
- error = err + " (reported by fn:error)";
-
- // XXX: Need to pass the namespace also...
- return new DynamicError("FOER0000", error);
- }
-
- /**
- * Returns the Dynamic Error for invalid flags in regular expressions
- * @param err
- * @return
- * @since 1.1
- */
- public static DynamicError regex_flags_error(String err) {
- String error = "Invalid regular expression flag parameter.";
-
- if (err != null)
- error += " " + err;
-
- return new DynamicError("FORX0001", error);
-
- }
-
- /**
- * Returns the dynamic error.
- *
- * @param err
- * is the error
- * @return the DynamicError.
- */
- public static DynamicError regex_error(String err) {
- String error = "Invalid regular expression.";
-
- if (err != null)
- error += " " + err;
-
- return new DynamicError("FORX0002", error);
- }
-
- /**
- * Returns the dynamic error.
- *
- * @param err
- * is the error
- * @return the DynamicError.
- * @since 1.1
- */
- public static DynamicError regex_match_zero_length(String err) {
- String error = "Invalid regular expression.";
-
- if (err != null)
- error += " " + err;
-
- return new DynamicError("FORX0003", error);
- }
-
- /**
- * Returns the dynamic error for an unsupported Unicode codepoint
- *
- * @param err
- * is the error
- * @return the DynamicError.
- * @since 1.1
- *
- */
- public static DynamicError unsupported_codepoint(String err) {
- String error = "Unsupported codepoint";
-
- if (err != null)
- error += " " + err;
-
- return new DynamicError("FOCH0001", error);
- }
-
- /**
- * Returns the dynamic error for an unsupported normalization form
- *
- * @param collationName
- * is the error
- * @return the DynamicError.
- * @since 1.1
- *
- */
- public static DynamicError unsupported_collation(String collationName) {
- String error = "Unsupported collation URI. ";
-
- if (collationName != null)
- error += " " + collationName;
-
- return new DynamicError("FOCH0002", error);
- }
-
- /**
- * Returns the dynamic error for an unsupported normalization form
- *
- * @param err
- * is the error
- * @return the DynamicError.
- * @since 1.1
- *
- */
- public static DynamicError unsupported_normalization_form(String err) {
- String error = "Unsupported normalization form: ";
-
- if (err != null)
- error += " " + err;
-
- return new DynamicError("FOCH0003", error);
- }
-
- /**
- * Returns the dynamic error for an unsupported normalization form
- *
- * @param err
- * is the error
- * @return the DynamicError.
- * @since 1.1
- *
- */
- public static DynamicError runtime_error(String msg, Throwable err) {
- String error = "Error at runtime: " + msg + ": " + err.getMessage();
-
- return new DynamicError("FOER0000", error);
- }
-
- private static DynamicError make_error(String code, String err, String msg) {
- String error = err;
-
- if (msg != null)
- error += msg;
-
- return new DynamicError(code, error);
- }
-
- /**
- * Returns the error message when reads an Invalid lexical value
- *
- * @param msg
- * is the message
- * @return the make_error
- */
- public static DynamicError lexical_error(String msg) {
- return make_error("FOCA0002", "Invalid lexical value.", msg);
- }
-
- /**
- * Returns the error message when reads an Items not comparable
- *
- * @param msg
- * is the message
- * @return the make_error
- */
- public static DynamicError not_cmp(String msg) {
- return make_error("FOTY0012", "Items not comparable", msg);
- }
-
- /**
- * Returns the error message
- *
- * @param msg
- * is the message
- * @return the make_error
- */
- public static DynamicError more_one_item(String msg) {
- return make_error(
- "FORG0003",
- "fn:zero-or-one called with a sequence containing more than one item",
- msg);
- }
-
- /**
- * Returns the error message
- *
- * @param msg
- * is the message
- * @return the make_error
- */
- public static DynamicError empty_seq(String msg) {
- return make_error("FORG0004",
- "fn:one-or-more called with a sequence containing no items",
- msg);
- }
-
- /**
- * Returns the error message
- *
- * @param msg
- * is the message
- * @return the make_error
- */
- public static DynamicError not_one(String msg) {
- return make_error(
- "FORG0005",
- "fn:exactly-one called with a sequence containing zero or more than one item",
- msg);
- }
-
- /**
- * Returns the error message when reads Invalid argument to fn:collection
- *
- * @param msg
- * is the message
- * @return the make_error
- * @since 1.1
- */
- public static DynamicError invalidCollectionArgument() {
- return make_error("FODC0004", "Invalid argument to fn:doc", null);
- }
-
- /**
- * Returns the error message when reads Invalid argument to fn:doc
- *
- * @param msg
- * is the message
- * @return the make_error
- */
- public static DynamicError invalid_doc(String msg) {
- return make_error("FODC0005", "Invalid argument to fn:doc", msg);
- }
-
- /**
- * Returns the error message when fn:doc cannot load its document
- *
- * @param msg
- * is the message
- * @return the make_error
- * @since 1.1
- */
- public static DynamicError doc_not_found(String msg) {
- return make_error("FODC0002", "Document argument fn:doc not found", msg);
- }
-
- /**
- * Returns the error message when reads a Division by zero
- *
- * @param msg
- * is the message
- * @return the make_error
- */
- public static DynamicError div_zero(String msg) {
- return make_error("FOAR0001", "Division by zero", msg);
- }
-
- /**
- * Numeric operation overflow/underflow
- *
- * @param msg
- * is the message
- * @return the make_error
- * @since 1.1
- */
- public static DynamicError numeric_overflow(String msg) {
- return make_error("FOAR0002", "Numeric overflow/underflow", msg);
- }
- /**
- * @since 1.1
- */
- public static DynamicError contextUndefined() {
- return make_error("XPDY0002", "Context is undefined.", "");
- }
-
- /**
- * Data is invalid for casting or the data type constructor.
- * @param msg
- * @return FORG0001
- * @since 1.1
- */
- public static DynamicError invalidForCastConstructor() {
- return make_error(
- "FORG0001",
- "data type invalid for cast or constructor",
- null);
- }
-
- /**
- * No namespace found for prefix.
- *
- * @return
- * @since 1.1
- */
- public static DynamicError invalidPrefix() {
- return make_error("FONS0004", "No namespace found for prefix.", null);
- }
-
- /**
- * No context document
- * @return
- * @since 1.1
- */
- public static DynamicError noContextDoc() {
- return make_error("FODC0001", "No context document.", null);
- }
-
- /**
- * No base-uri defined.
- *
- * @return
- * @since 1.1
- */
- public static DynamicError noBaseURI() {
- return make_error("FONS0005", "Base-uri not defined in the static context.", null);
- }
-
- /**
- * Error resolving relative uri against base-uri.
- *
- * @return
- * @since 1.1
- */
- public static DynamicError errorResolvingURI() {
- return make_error("FORG0002", "Invalid argument to fn:resolve-uri().", null);
- }
-
- /**
- * Invalid Timezone value.
- * @return
- * @since 1.1
- */
- public static DynamicError invalidTimezone() {
- return make_error("FODT0003", "Invalid timezone value.", null);
- }
-
- /**
- * Overflow/underflow in duration operation.
- * @return
- * @since 1.1
- */
- public static DynamicError overflowUnderflow() {
- return make_error("FODT0002", "Overflow/underflow in duration operation.", null);
- }
-
- /**
- * Overflow/underflow in duration operation.
- * @return
- * @since 1.1
- */
- public static DynamicError nan() {
- return make_error("FOCA0005", "NaN supplied as float/double value.", null);
- }
-
- /**
- * Invalid lexical value
- *
- * @since 1.1
- */
- public static DynamicError invalidLexicalValue() {
- return make_error("FOCA0002", "Invalid lexical value.", null);
- }
-
- /**
- * Overflow/underflow in date/time operation
- * @since 1.1
- */
- public static DynamicError overflowDateTime() {
- return make_error("FODT0001", "Overflow/underflow in date/time operation", null);
- }
-
- /**
- * The two arguments to fn:dateTime have inconsistent timezones
- *
- * @since 1.1
- */
- public static DynamicError inconsistentTimeZone() {
- return make_error("FORG0008", "The two arguments to fn:dateTime have inconsistent timezones", null);
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/Evaluator.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/Evaluator.java
deleted file mode 100644
index 46d6a15..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/Evaluator.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathNode;
-
-/**
- * interface to Evaluator
- */
-public interface Evaluator {
-
- /**
- * Evaluate the root node.
- *
- * @param root
- * is the XPath node.
- * @throws DynamicError
- * dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(XPathNode root) throws DynamicError;
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/JFlexCupParser.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/JFlexCupParser.java
deleted file mode 100644
index 3e56f26..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/JFlexCupParser.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor;
-
-import org.eclipse.wst.xml.xpath2.processor.ast.XPath;
-import org.eclipse.wst.xml.xpath2.processor.internal.CupError;
-import org.eclipse.wst.xml.xpath2.processor.internal.JFlexError;
-import org.eclipse.wst.xml.xpath2.processor.internal.XPathCup;
-import org.eclipse.wst.xml.xpath2.processor.internal.XPathFlex;
-
-import java.io.StringReader;
-
-import java_cup.runtime.Symbol;
-
-/**
- * JFlexCupParser parses the xpath expression
- */
-public class JFlexCupParser implements XPathParser {
-
- /**
- * Tries to parse the xpath expression
- *
- * @param xpath
- * is the xpath string.
- * @throws XPathParserException.
- * @return the xpath value.
- */
- public XPath parse(String xpath) throws XPathParserException {
-
- XPathFlex lexer = new XPathFlex(new StringReader(xpath));
-
- XPathCup p = new XPathCup(lexer);
- try {
- Symbol res = p.parse();
- return (XPath) res.value;
-
- } catch (JFlexError e) {
- throw new XPathParserException("JFlex lexer error: " + e.reason());
- } catch (CupError e) {
- throw new XPathParserException("CUP parser error: " + e.reason());
- } catch (Exception e) {
- String err = "Unknown error at line " + lexer.lineno();
-
- err += " col " + lexer.colno();
- err += ": " + lexer.yytext();
-
- throw new XPathParserException(err);
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/ResultSequence.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/ResultSequence.java
deleted file mode 100644
index 7fbd277..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/ResultSequence.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-import java.util.Iterator;
-import java.util.ListIterator;
-
-/**
- * Interface to the methods of range of result sequence
- */
-public abstract class ResultSequence {
-
- /**
- * add item
- *
- * @param item
- * is an item of any type.
- */
- public abstract void add(AnyType item);
-
- /**
- * concatinate from rs
- *
- * @param rs
- * is a Result Sequence.
- */
- public abstract void concat(ResultSequence rs);
-
- /**
- * List Iterator.
- */
- public abstract ListIterator iterator();
-
- /**
- * get item in index i
- *
- * @param i
- * is the position.
- */
- public abstract AnyType get(int i);
-
- /**
- * get the size
- *
- * @return the size.
- */
- public abstract int size();
-
- /**
- * clear
- */
- public abstract void clear();
-
- /**
- * create a new result sequence
- *
- * @return a new result sequence.
- */
- public abstract ResultSequence create_new();
-
- /**
- * retrieve the first item
- *
- * @return the first item.
- */
- public AnyType first() {
- return get(0);
- }
-
- /**
- * check is the sequence is empty
- *
- * @return boolean.
- */
- public boolean empty() {
- if (size() == 0)
- return true;
- return false;
- }
-
- /**
- * retrieve items in sequence
- *
- * @return result string
- */
- public String string() {
- String result = "";
- int num = 1;
-
- StringBuffer buf = new StringBuffer();
- for (Iterator i = iterator(); i.hasNext();) {
- AnyType elem = (AnyType) i.next();
-
- buf.append(num + ") ");
-
- buf.append(elem.string_type() + ": ");
-
- String value = elem.string_value();
-
- if (elem instanceof NodeType) {
- QName tmp = ((NodeType) elem).node_name();
-
- if (tmp != null)
- value = tmp.expanded_name();
- }
- buf.append(value + "\n");
-
- num++;
- }
- result = buf.toString();
- if (num == 1)
- result = "Empty results\n";
- return result;
- }
-
- /**
- * release the result sequence
- */
- public void release() {
- ResultSequenceFactory.release(this);
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/ResultSequenceFactory.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/ResultSequenceFactory.java
deleted file mode 100644
index 3586cab..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/ResultSequenceFactory.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.DefaultRSFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-
-/**
- * Result sequence factory
- */
-public abstract class ResultSequenceFactory {
- private static final ResultSequenceFactory _factory = new DefaultRSFactory();
-
- protected abstract ResultSequence fact_create_new();
-
- protected abstract void fact_release(ResultSequence rs);
-
- protected ResultSequence fact_create_new(AnyType item) {
- ResultSequence rs = fact_create_new();
- rs.add(item);
- return rs;
- }
-
- protected void fact_print_debug() {
- }
-
- /**
- * @return the creation of a new result sequence
- */
- public static ResultSequence create_new() {
- return _factory.fact_create_new();
- }
-
- /**
- * @param item
- * is an item of any type.
- * @return factory creating new item
- */
- public static ResultSequence create_new(AnyType item) {
- return _factory.fact_create_new(item);
- }
-
- /**
- * @param rs
- * is the result sequence factory release rs
- */
- public static void release(ResultSequence rs) {
- _factory.fact_release(rs);
- }
-
- /**
- * factory debug
- */
- public static void print_debug() {
- _factory.fact_print_debug();
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/StaticChecker.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/StaticChecker.java
deleted file mode 100644
index 4f35e0d..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/StaticChecker.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathNode;
-
-/**
- * Interface to static checker.
- */
-public interface StaticChecker {
-
- /**
- * checks XPathNode
- *
- * @throws static error.
- * @param root
- * is an XPath node.
- */
- public void check(XPathNode root) throws StaticError;
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/StaticContext.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/StaticContext.java
deleted file mode 100644
index 9fc8899..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/StaticContext.java
+++ /dev/null
@@ -1,272 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * David Carver (STAR) - bug 262765 - add ability to set the base uri
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor;
-
-import org.apache.xerces.xs.XSTypeDefinition;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.FunctionLibrary;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSAnyURI;
-
-import java.util.Map;
-
-/**
- * interface to static context
- */
-public interface StaticContext {
-
- /**
- * is it xpath 1.0 compatible.
- *
- * @return boolean
- */
- public boolean xpath1_compatible();
-
- /**
- * namespaces does the prefix exist
- *
- * @param prefix
- * is the prefix
- * @return boolean
- */
- public boolean prefix_exists(String prefix);
-
- /**
- * @param prefix
- * is the prefix
- * @return string
- */
- public String resolve_prefix(String prefix);
-
- /**
- * the default namespace
- *
- * @return string
- */
- public String default_namespace();
-
- /**
- * the default function namespace
- *
- * @return string
- */
- public String default_function_namespace();
-
- // in scope schema definitions
- /**
- * @param attr
- * is the qname variable
- * @return attributes's type definition
- */
- public XSTypeDefinition attribute_type_definition(QName attr);
-
- /**
- * @param elem
- * is the elem of the qname
- * @return element's type definition
- */
- public XSTypeDefinition element_type_definition(QName elem);
-
- /**
- * is the attribute declared?
- *
- * @param attr
- * is the attribute of the qname
- * @return boolean
- */
- public boolean attribute_declared(QName attr);
-
- /**
- * is the element declared?
- *
- * @param elem
- * is the elem of the qname
- * @return boolean
- */
- public boolean element_declared(QName elem);
-
- // in scope variables
-
- // context item type
-
- /**
- * is the element declared?
- *
- * @param name
- * is the qname name
- * @param arity
- * integer of qname
- * @return boolean
- */
- // function signatures
- public boolean function_exists(QName name, int arity);
-
- // collations
-
- /**
- * base uri
- *
- * @return uri
- */
- // base uri
- public XSAnyURI base_uri();
-
- // statically known documents
-
- // collections
-
- // other stuff
- /**
- * new scope
- */
- public void new_scope();
-
- /**
- * destroy scope
- */
- public void destroy_scope();
-
- /**
- * add variable
- *
- * @param name
- * is the qname
- */
- public void add_variable(QName name);
-
- /**
- * delete the variable
- *
- * @param name
- * is the qname
- * @return boolean if deleted variable
- */
- public boolean del_variable(QName name);
-
- /**
- * @param name
- * is the qname
- * @return boolean if variable exists
- */
- public boolean variable_exists(QName name); // in current scope only
-
- /**
- * @param var
- * is the variable of qname
- */
- public boolean variable_in_scope(QName var);
-
- /**
- * @param name
- * is qname
- * @return boolean
- */
- public boolean type_defined(QName name);
-
- /**
- * @param at
- * the node type
- * @param et
- * is the qname
- * @return boolean
- */
- public boolean derives_from(NodeType at, QName et);
-
- /**
- * @param at
- * the node type
- * @param et
- * is the XSTypeDefinition of the node
- * @return boolean
- */
- public boolean derives_from(NodeType at, XSTypeDefinition et);
-
- /**
- * add namespace
- *
- * @param prefix
- * the prefix of the namespace
- * @param ns
- * is the XSTypeDefinition of the node
- */
- public void add_namespace(String prefix, String ns);
-
- /**
- * expand function
- *
- * @param name
- * is the qname
- * @return boolean if function can be expanded
- */
- public boolean expand_function_qname(QName name);
-
- /**
- * expand element type qname
- *
- * @param name
- * is the qname
- * @return boolean if function can be expanded
- */
- public boolean expand_elem_type_qname(QName name);
-
- /**
- * expand qname
- *
- * @param name
- * is the qname
- * @return boolean if function can be expanded
- */
- public boolean expand_qname(QName name);
-
- /**
- * add function to library
- *
- * @param fl
- * is the function library
- */
- public void add_function_library(FunctionLibrary fl);
-
- /**
- * @param name
- * is the qname
- * @return any atomic type
- */
- public AnyAtomicType make_atomic(QName name);
-
- /**
- * Sets the base uri for the context.
- * @param baseuri
- * @since 1.1
- */
- public void set_base_uri(String baseuri);
-
- /**
- * @since 1.1
- *
- * Gets the collections map, which maps a String into a List of Document, in
- * Java5 it would be <code>Map<String, List<Document>></code>
- *
- */
- public Map get_collections();
-
- /**
- * @since 1.1
- *
- * Sets the collections map, which maps a String into a List of Document, in
- * Java5 it would be <code>Map<String, List<Document>></code>
- */
- public void set_collections(Map collections);
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/StaticError.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/StaticError.java
deleted file mode 100644
index b2edbaa..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/StaticError.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor;
-
-
-/**
- * Base class for all static errors as defined by the XPath 2.0 specification
- *
- */
-public class StaticError extends XPathException {
- /**
- *
- */
- private static final long serialVersionUID = 7870866130837870971L;
- // errorcode specified in http://www.w3.org/2004/10/xqt-errors i fink
- private String _code;
-
- /**
- * Constructor for a generic static error
- *
- * @param code
- * The error code as specified in XPath 2.0
- * @param err
- * Humar readable error message
- */
- public StaticError(String code, String err) {
- super(err);
- _code = code;
- }
-
- /**
- * @return error code which represents the error
- */
- public String code() {
- return _code;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/StaticNameResolver.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/StaticNameResolver.java
deleted file mode 100644
index 19c282c..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/StaticNameResolver.java
+++ /dev/null
@@ -1,936 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor;
-
-import org.eclipse.wst.xml.xpath2.processor.ast.XPath;
-import org.eclipse.wst.xml.xpath2.processor.internal.StaticAttrNameError;
-import org.eclipse.wst.xml.xpath2.processor.internal.StaticElemNameError;
-import org.eclipse.wst.xml.xpath2.processor.internal.StaticFunctNameError;
-import org.eclipse.wst.xml.xpath2.processor.internal.StaticNameError;
-import org.eclipse.wst.xml.xpath2.processor.internal.StaticNsNameError;
-import org.eclipse.wst.xml.xpath2.processor.internal.StaticTypeNameError;
-import org.eclipse.wst.xml.xpath2.processor.internal.StaticVarNameError;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.AddExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.AndExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.AnyKindTest;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.AttributeTest;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.AxisStep;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.BinExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.CastExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.CastableExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.CmpExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.CntxItemExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.CommentTest;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.DecimalLiteral;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.DivExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.DocumentTest;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.DoubleLiteral;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.ElementTest;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.ExceptExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.FilterExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.ForExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.ForwardStep;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.FunctionCall;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.IDivExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.IfExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.InstOfExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.IntegerLiteral;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.IntersectExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.ItemType;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.MinusExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.ModExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.MulExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.NameTest;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.NodeTest;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.OrExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.PITest;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.ParExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.PipeExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.PlusExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.QuantifiedExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.RangeExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.ReverseStep;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.SchemaAttrTest;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.SchemaElemTest;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.SequenceType;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.SingleType;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.StepExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.StringLiteral;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.SubExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.TextTest;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.TreatAsExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.UnExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.UnionExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.VarExprPair;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.VarRef;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathNode;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- * This class resolves static names.
- */
-public class StaticNameResolver implements XPathVisitor, StaticChecker {
- static class DummyError extends Error {
-
- /**
- *
- */
- private static final long serialVersionUID = 3898564402981741950L;
- }
-
- private StaticContext _sc;
- private StaticNameError _err;
-
- /**
- * Constructor for static name resolver
- *
- * @param sc
- * is the static context.
- */
- public StaticNameResolver(StaticContext sc) {
- _sc = sc;
- _err = null;
- }
-
- // the problem is that visistor interface does not throw exceptions...
- // so we get around it ;D
- private void report_error(StaticNameError err) {
- _err = err;
- throw new DummyError();
- }
-
- private void report_bad_prefix(String prefix) {
- report_error(StaticNsNameError.unknown_prefix(prefix));
- }
-
- /**
- * Check the XPath node.
- *
- * @param node
- * is the XPath node to check.
- * @throws StaticError
- * static error.
- */
- public void check(XPathNode node) throws StaticError {
- try {
- node.accept(this);
- } catch (DummyError e) {
- throw _err;
- }
- }
-
- /**
- * Validate an XPath by visiting all the nodes.
- *
- * @param xp
- * is the XPath.
- * @return null.
- */
- public Object visit(XPath xp) {
- for (Iterator i = xp.iterator(); i.hasNext();) {
- Expr e = (Expr) i.next();
-
- e.accept(this);
- }
-
- return null;
- }
-
- // does a for and a quantified expression
- // takes the iterator for var expr paris
- private void doForExpr(Iterator iter, Expr expr) {
- int scopes = 0;
-
- // add variables to scope and check the binding sequence
- while (iter.hasNext()) {
- VarExprPair pair = (VarExprPair) iter.next();
-
- QName var = pair.varname();
- if (!_sc.expand_qname(var))
- report_bad_prefix(var.prefix());
-
- Expr e = pair.expr();
-
- e.accept(this);
-
- _sc.new_scope();
- scopes++;
- _sc.add_variable(var);
- }
-
- _sc.new_scope();
- scopes++;
- expr.accept(this);
-
- // kill the scopes
- for (int i = 0; i < scopes; i++)
- _sc.destroy_scope();
- }
-
- /**
- * Validate a for expression.
- *
- * @param fex
- * is the for expression.
- * @return null.
- */
- public Object visit(ForExpr fex) {
-
- doForExpr(fex.iterator(), fex.expr());
-
- return null;
- }
-
- /**
- * Validate a quantified expression.
- *
- * @param qex
- * is the quantified expression.
- * @return null.
- */
- public Object visit(QuantifiedExpr qex) {
- // lets cheat
- doForExpr(qex.iterator(), qex.expr());
-
- return null;
- }
-
- private void printExprs(Iterator i) {
- while (i.hasNext()) {
- Expr e = (Expr) i.next();
-
- e.accept(this);
- }
- }
-
- /**
- * Validate an if expression.
- *
- * @param ifex
- * is the if expression.
- * @return null.
- */
- public Object visit(IfExpr ifex) {
-
- printExprs(ifex.iterator());
-
- ifex.then_clause().accept(this);
-
- ifex.else_clause().accept(this);
-
- return null;
- }
-
- /**
- * Validate a binary expression by checking its left and right children.
- *
- * @param name
- * is the name of the binary expression.
- * @param e
- * is the expression itself.
- */
- public void printBinExpr(String name, BinExpr e) {
- e.left().accept(this);
- e.right().accept(this);
- }
-
- /**
- * Validate an OR expression.
- *
- * @param orex
- * is the expression.
- * @return null.
- */
- public Object visit(OrExpr orex) {
- printBinExpr("OR", orex);
- return null;
- }
-
- /**
- * Validate an AND expression.
- *
- * @param andex
- * is the expression.
- * @return null.
- */
- public Object visit(AndExpr andex) {
- printBinExpr("AND", andex);
- return null;
- }
-
- /**
- * Validate a comparison expression.
- *
- * @param cmpex
- * is the expression.
- * @return null.
- */
- public Object visit(CmpExpr cmpex) {
- printBinExpr("CMP" + cmpex.type(), cmpex);
- return null;
- }
-
- /**
- * Validate a range expression.
- *
- * @param rex
- * is the expression.
- * @return null.
- */
- public Object visit(RangeExpr rex) {
- printBinExpr("RANGE", rex);
- return null;
- }
-
- /**
- * Validate an additon expression.
- *
- * @param addex
- * is the expression.
- * @return null.
- */
- public Object visit(AddExpr addex) {
- printBinExpr("ADD", addex);
- return null;
- }
-
- /**
- * Validate a subtraction expression.
- *
- * @param subex
- * is the expression.
- * @return null.
- */
- public Object visit(SubExpr subex) {
- printBinExpr("SUB", subex);
- return null;
- }
-
- /**
- * Validate a multiplication expression.
- *
- * @param mulex
- * is the expression.
- * @return null.
- */
- public Object visit(MulExpr mulex) {
- printBinExpr("MUL", mulex);
- return null;
- }
-
- /**
- * Validate a division expression.
- *
- * @param mulex
- * is the expression.
- * @return null.
- */
- public Object visit(DivExpr mulex) {
- printBinExpr("DIV", mulex);
- return null;
- }
-
- /**
- * Validate an integer divison expression.
- *
- * @param mulex
- * is the expression.
- * @return null.
- */
- public Object visit(IDivExpr mulex) {
- printBinExpr("IDIV", mulex);
- return null;
- }
-
- /**
- * Validate a mod expression.
- *
- * @param mulex
- * is the expression.
- * @return null.
- */
- public Object visit(ModExpr mulex) {
- printBinExpr("MOD", mulex);
- return null;
- }
-
- /**
- * Validate a union expression.
- *
- * @param unex
- * is the expression.
- * @return null.
- */
- public Object visit(UnionExpr unex) {
- printBinExpr("UNION", unex);
- return null;
- }
-
- /**
- * Validate a piped expression.
- *
- * @param pipex
- * is the expression.
- * @return null.
- */
- public Object visit(PipeExpr pipex) {
- printBinExpr("PIPE", pipex);
- return null;
- }
-
- /**
- * Validate an intersection expression.
- *
- * @param iexpr
- * is the expression.
- * @return null.
- */
- public Object visit(IntersectExpr iexpr) {
- printBinExpr("INTERSECT", iexpr);
- return null;
- }
-
- /**
- * Validate an except expression.
- *
- * @param eexpr
- * is the expression.
- * @return null.
- */
- public Object visit(ExceptExpr eexpr) {
- printBinExpr("INT_EXCEPT", eexpr);
- return null;
- }
-
- /**
- * Validate an 'instance of' expression.
- *
- * @param ioexp
- * is the expression.
- * @return null.
- */
- public Object visit(InstOfExpr ioexp) {
- printBinExpr("INSTANCEOF", ioexp);
- return null;
- }
-
- /**
- * Validate a 'treat as' expression.
- *
- * @param taexp
- * is the expression.
- * @return null.
- */
- public Object visit(TreatAsExpr taexp) {
- printBinExpr("TREATAS", taexp);
- return null;
- }
-
- /**
- * Validate a castable expression.
- *
- * @param cexp
- * is the expression.
- * @return null.
- */
- public Object visit(CastableExpr cexp) {
- printBinExpr("CASTABLE", cexp);
- return null;
- }
-
- /**
- * Validate a cast expression.
- *
- * @param cexp
- * is the expression.
- * @return null.
- */
- public Object visit(CastExpr cexp) {
- printBinExpr("CAST", cexp);
- return null;
- }
-
- /**
- * Validate a unary expression by checking its one child.
- *
- * @param name
- * is the name of the expression.
- * @param e
- * is the expression itself.
- */
- public void printUnExpr(String name, UnExpr e) {
- e.arg().accept(this);
-
- }
-
- /**
- * Validate a minus expression.
- *
- * @param e
- * is the expression.
- * @return null.
- */
- public Object visit(MinusExpr e) {
- printUnExpr("MINUS", e);
- return null;
- }
-
- /**
- * Validate a plus expression.
- *
- * @param e
- * is the expression.
- * @return null.
- */
- public Object visit(PlusExpr e) {
- printUnExpr("PLUS", e);
- return null;
- }
-
- /**
- * Validate an xpath expression.
- *
- * @param e
- * is the expression.
- * @return null.
- */
- public Object visit(XPathExpr e) {
- XPathExpr xp = e;
-
- while (xp != null) {
- StepExpr se = xp.expr();
-
- if (se != null)
- se.accept(this);
-
- xp = xp.next();
- }
- return null;
- }
-
- /**
- * Validate a forward step.
- *
- * @param e
- * is the expression.
- * @return null.
- */
- public Object visit(ForwardStep e) {
- e.node_test().accept(this);
-
- return null;
- }
-
- /**
- * Validate a reverse step.
- *
- * @param e
- * is the expression.
- * @return null.
- */
- public Object visit(ReverseStep e) {
-
- NodeTest nt = e.node_test();
- if (nt != null)
- nt.accept(this);
-
- return null;
- }
-
- /**
- * Validate a name test.
- *
- * @param e
- * is the expression.
- * @return null.
- */
- public Object visit(NameTest e) {
- QName name = e.name();
-
- if (!_sc.expand_qname(name))
- report_bad_prefix(name.prefix());
-
- return null;
- }
-
- /**
- * Validate a variable reference.
- *
- * @param e
- * is the expression.
- * @return null.
- */
- public Object visit(VarRef e) {
- QName var = e.name();
- if (!_sc.expand_qname(var))
- report_bad_prefix(var.prefix());
-
- if (!_sc.variable_in_scope(var))
- report_error(new StaticVarNameError("Variable not in scope: "
- + var.string()));
- return null;
- }
-
- /**
- * Validate a string literal.
- *
- * @param e
- * is the expression.
- * @return null.
- */
- public Object visit(StringLiteral e) {
- return null;
- }
-
- /**
- * Validate an integer literal.
- *
- * @param e
- * is the expression.
- * @return null.
- */
- public Object visit(IntegerLiteral e) {
- return null;
- }
-
- /**
- * Validate a double literal.
- *
- * @param e
- * is the expression.
- * @return null.
- */
- public Object visit(DoubleLiteral e) {
- return null;
- }
-
- /**
- * Validate a decimal literal.
- *
- * @param e
- * is the expression.
- * @return null.
- */
- public Object visit(DecimalLiteral e) {
- return null;
- }
-
- /**
- * Validate a parenthesized expression.
- *
- * @param e
- * is the expression.
- * @return null.
- */
- public Object visit(ParExpr e) {
- printExprs(e.iterator());
- return null;
- }
-
- /**
- * Validate a context item expression.
- *
- * @param e
- * is the expression.
- * @return null.
- */
- public Object visit(CntxItemExpr e) {
- return null;
- }
-
- /**
- * Validate a function call.
- *
- * @param e
- * is the expression.
- * @return null.
- */
- public Object visit(FunctionCall e) {
- QName name = e.name();
-
- if (!_sc.expand_function_qname(name))
- report_bad_prefix(name.prefix());
-
- if (!_sc.function_exists(name, e.arity()))
- report_error(new StaticFunctNameError("Function does not exist: "
- + name.string() + " arity: " + e.arity()));
-
- printExprs(e.iterator());
- return null;
- }
-
- /**
- * Validate a single type.
- *
- * @param e
- * is the expression.
- * @return null.
- */
- public Object visit(SingleType e) {
- QName type = e.type();
- if (!_sc.expand_elem_type_qname(type))
- report_bad_prefix(type.prefix());
-
- return null;
- }
-
- /**
- * Validate a sequence type.
- *
- * @param e
- * is the expression.
- * @return null.
- */
- public Object visit(SequenceType e) {
- ItemType it = e.item_type();
-
- if (it != null)
- it.accept(this);
-
- return null;
- }
-
- /**
- * Validate an item type.
- *
- * @param e
- * is the expression.
- * @return null.
- */
- public Object visit(ItemType e) {
-
- switch (e.type()) {
- case ItemType.ITEM:
- break;
- case ItemType.QNAME:
- QName type = e.qname();
- if (!_sc.expand_elem_type_qname(type))
- report_bad_prefix(type.prefix());
-
- if (!_sc.type_defined(e.qname()))
- report_error(new StaticTypeNameError("Type not defined: "
- + e.qname().string()));
- break;
-
- case ItemType.KINDTEST:
- e.kind_test().accept(this);
- break;
- }
-
- return null;
- }
-
- /**
- * Validate an any kind test.
- *
- * @param e
- * is the expression.
- * @return null.
- */
- public Object visit(AnyKindTest e) {
- return null;
- }
-
- /**
- * Validate a document test.
- *
- * @param e
- * is the expression.
- * @return null.
- */
- public Object visit(DocumentTest e) {
-
- switch (e.type()) {
- case DocumentTest.ELEMENT:
- e.elem_test().accept(this);
- break;
-
- case DocumentTest.SCHEMA_ELEMENT:
- e.schema_elem_test().accept(this);
- break;
- }
- return null;
- }
-
- /**
- * Validate a text test.
- *
- * @param e
- * is the expression.
- * @return null.
- */
- public Object visit(TextTest e) {
- return null;
- }
-
- /**
- * Validate a comment test.
- *
- * @param e
- * is the expression.
- * @return null.
- */
- public Object visit(CommentTest e) {
- return null;
- }
-
- /**
- * Validate a processing instructing test.
- *
- * @param e
- * is the expression.
- * @return null.
- */
- public Object visit(PITest e) {
- String arg = e.arg();
- if (arg == null)
- arg = "";
-
- return null;
- }
-
- /**
- * Validate an attribute test.
- *
- * @param e
- * is the expression.
- * @return null.
- */
- // XXX NO CHECK ?
- public Object visit(AttributeTest e) {
- QName name = e.name();
-
- if (name == null)
- return null;
-
- if (!_sc.expand_qname(name))
- report_bad_prefix(name.prefix());
-
- name = e.type();
- if (name == null)
- return null;
-
- if (!_sc.expand_elem_type_qname(name))
- report_bad_prefix(name.prefix());
-
- return null;
- }
-
- /**
- * Validate a schema attribute test.
- *
- * @param e
- * is the expression.
- * @return null.
- */
- public Object visit(SchemaAttrTest e) {
- QName name = e.arg();
-
- if (!_sc.expand_qname(name))
- report_bad_prefix(name.prefix());
-
- if (!_sc.attribute_declared(name))
- report_error(new StaticAttrNameError("Attribute not decleared: "
- + name.string()));
-
- return null;
- }
-
- /**
- * Validate an element test.
- *
- * @param e
- * is the expression.
- * @return null.
- */
- // XXX NO SEMANTIC CHECK?!
- public Object visit(ElementTest e) {
- QName name = e.name();
-
- if (name == null)
- return null;
-
- if (!_sc.expand_elem_type_qname(name))
- report_bad_prefix(name.prefix());
-
- name = e.type();
- if (name == null)
- return null;
-
- if (!_sc.expand_elem_type_qname(name))
- report_bad_prefix(name.prefix());
-
- return null;
- }
-
- /**
- * Validate a schema element test.
- *
- * @param e
- * is the expression.
- * @return null.
- */
- public Object visit(SchemaElemTest e) {
- QName elem = e.name();
-
- if (!_sc.expand_elem_type_qname(elem))
- report_bad_prefix(elem.prefix());
-
- if (!_sc.element_declared(elem))
- report_error(new StaticElemNameError("Element not declared: "
- + elem.string()));
- return null;
- }
-
- private void printCollExprs(Iterator i) {
- while (i.hasNext()) {
- Collection exprs = (Collection) i.next();
-
- printExprs(exprs.iterator());
- }
- }
-
- /**
- * Validate an axis step.
- *
- * @param e
- * is the expression.
- * @return null.
- */
- public Object visit(AxisStep e) {
-
- e.step().accept(this);
-
- printCollExprs(e.iterator());
- return null;
- }
-
- /**
- * Validate a filter expression.
- *
- * @param e
- * is the expression.
- * @return null.
- */
- public Object visit(FilterExpr e) {
- e.primary().accept(this);
-
- printCollExprs(e.iterator());
- return null;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/XPathException.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/XPathException.java
deleted file mode 100644
index ddedf52..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/XPathException.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper Steen Moller - bug 290337 - Revisit use of ICU
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor;
-
-/**
- * This exception is thrown when there is a problem with an XPath exception.
- */
-public class XPathException extends Exception {
- /**
- *
- */
- private static final long serialVersionUID = 1380394170163983863L;
- private String _reason;
-
- /**
- * Constructor for XPathException
- *
- * @param reason
- * Is the reason why the exception has been thrown.
- */
- public XPathException(String reason) {
- _reason = reason;
- }
-
- /**
- * The reason why the exception has been thrown.
- *
- * @return the reason why the exception has been throw.
- */
- public String reason() {
- return _reason;
- }
-
- public String getMessage() {
- return _reason;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/XPathParser.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/XPathParser.java
deleted file mode 100644
index 7ffa22e..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/XPathParser.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor;
-
-import org.eclipse.wst.xml.xpath2.processor.ast.XPath;
-
-/**
- * This is an interface class for the XPath parser.
- */
-public interface XPathParser {
-
- /**
- * Constructor for the XPath parser interface.
- *
- * @param xpath
- * is the input XPath to be parsed.
- * @throws XPathParserException
- * XPath parser exception.
- * @return The parsed XPath.
- */
- public XPath parse(String xpath) throws XPathParserException;
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/XPathParserException.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/XPathParserException.java
deleted file mode 100644
index 06435ff..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/XPathParserException.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * David Carver (STAR) - bug 273763 - correct error codes
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor;
-
-
-/**
- * This exception is thrown if there is a problem with the XPath parser.
- */
-public class XPathParserException extends StaticError {
-
- /**
- *
- */
- private static final long serialVersionUID = -4974805230489762419L;
- /**
- * The type of exception.
- */
- public static final String INVALID_XPATH_EXPRESSION = "XPST0003";
-
- /**
- * Constructor for XPathParserException.
- *
- * @param reason
- * is the reason why the exception has been thrown.
- */
- public XPathParserException(String reason) {
- super(INVALID_XPATH_EXPRESSION, reason);
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/XercesLoader.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/XercesLoader.java
deleted file mode 100644
index ba576c7..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/XercesLoader.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 276134 - improvements to schema aware primitive type support
- * for attribute/element nodes
- * Jesper Steen Moller - Fixed namespace awareness
- * David Carver - bug 281186 - implementation of fn:id and fn:idref. Correct
- * loading of grammars if non-validating.
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor;
-
-import java.io.*;
-
-import org.w3c.dom.*;
-import javax.xml.parsers.*;
-import javax.xml.validation.Schema;
-
-import org.xml.sax.*;
-
-/**
- * Xerces loader class. The loading is always namespace aware.
- */
-public class XercesLoader implements DOMLoader {
-
- private static final String NONVALIDATING_LOAD_DTD_GRAMMAR = "http://apache.org/xml/features/nonvalidating/load-dtd-grammar";
-
- public static final String NAMESPACES_FEATURE = "http://xml.org/sax/features/namespaces";
-
- public static final String VALIDATION_FEATURE = "http://xml.org/sax/features/validation";
-
- public static final String SCHEMA_VALIDATION_FEATURE = "http://apache.org/xml/features/validation/schema";
-
- public static final String SCHEMA_FULL_CHECKING_FEATURE = "http://apache.org/xml/features/validation/schema-full-checking";
-
- public static final String DYNAMIC_VALIDATION_FEATURE = "http://apache.org/xml/features/validation/dynamic";
-
- public static final String LOAD_EXTERNAL_DTD_FEATURE = "http://apache.org/xml/features/nonvalidating/load-external-dtd";
-
- public static final String JAXP_SCHEMA_LANGUAGE = "http://java.sun.com/xml/jaxp/properties/schemaLanguage";
- public static final String W3C_XML_SCHEMA = "http://www.w3.org/2001/XMLSchema";
-
- public static final String DOCUMENT_IMPLEMENTATION_PROPERTY = "http://apache.org/xml/properties/dom/document-class-name";
- public static final String DOCUMENT_PSVI_IMPLEMENTATION = "org.apache.xerces.dom.PSVIDocumentImpl";
-
- boolean _validating;
-
- Schema _schema = null;;
-
- /**
- * Constructor for Xerces loader.
- */
- public XercesLoader() {
- _validating = false;
- }
-
- /**
- * @since 1.1
- */
- public XercesLoader(Schema schema) {
- _validating = false;
- _schema = schema;
- }
-
- /**
- * The Xerces loader loads the XML document
- *
- * @param in
- * is the input stream.
- * @throws DOMLoaderException
- * DOM loader exception.
- * @return The loaded document.
- */
- public Document load(InputStream in) throws DOMLoaderException {
-
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
-
- factory.setNamespaceAware(true);
- factory.setAttribute(SCHEMA_VALIDATION_FEATURE,
- Boolean.valueOf(_validating));
- factory.setAttribute(LOAD_EXTERNAL_DTD_FEATURE, Boolean.TRUE);
- factory.setAttribute(NONVALIDATING_LOAD_DTD_GRAMMAR, Boolean.TRUE);
- factory.setAttribute(DOCUMENT_IMPLEMENTATION_PROPERTY,
- DOCUMENT_PSVI_IMPLEMENTATION);
-
- if (_schema != null) {
- factory.setSchema(_schema);
- }
- else {
- factory.setValidating(_validating);
- }
-
- try {
- DocumentBuilder builder = factory.newDocumentBuilder();
-
- if (_validating) {
- builder.setErrorHandler(new ErrorHandler() {
- public void fatalError(SAXParseException e)
- throws SAXException {
- throw e;
- }
-
- public void error(SAXParseException e)
- throws SAXParseException {
- throw e;
- }
-
- public void warning(SAXParseException e)
- throws SAXParseException {
- throw e; // XXX
- }
- });
- }
- return builder.parse(in);
- } catch (SAXException e) {
- //throw new DOMLoaderException("SAX exception: " + e.getMessage());
- e.printStackTrace();
- } catch (ParserConfigurationException e) {
- throw new DOMLoaderException("Parser configuration exception: "
- + e.getMessage());
- } catch (IOException e) {
- throw new DOMLoaderException("IO exception: " + e.getMessage());
- }
-
- return null;
-
- }
-
- /**
- * Set validating boolean.
- *
- * @param x
- * is the value to set the validating boolean to.
- */
- public void set_validating(boolean x) {
- _validating = x;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/ast/XPath.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/ast/XPath.java
deleted file mode 100644
index f9a59b4..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/ast/XPath.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.ast;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathNode;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- * Support for XPath.
- */
-public class XPath extends XPathNode {
- private Collection _exprs;
-
- /**
- * Constructor for XPath.
- *
- * @param exprs
- * XPath expressions.
- */
- public XPath(Collection exprs) {
- _exprs = exprs;
- }
-
- /**
- * Support for Visitor interface.
- *
- * @return Result of Visitor operation.
- */
- public Object accept(XPathVisitor v) {
- return v.visit(this);
- }
-
- /**
- * Support for Iterator interface.
- *
- * @return Result of Iterator operation.
- */
- public Iterator iterator() {
- return _exprs.iterator();
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/function/FnFunctionLibrary.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/function/FnFunctionLibrary.java
deleted file mode 100644
index 6e310b3..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/function/FnFunctionLibrary.java
+++ /dev/null
@@ -1,186 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * David Carver (STAR) - bug 262765 - Added FnDefaultCollation.
- * David Carver (STAR) - bug 285321 - implemented fn:encode-for-uri()
- * Jesper Moller - bug 287369 - Support fn:codepoint-equal()
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.function;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.function.*;
-
-// this is the equivalent of libc =D
-/**
- * Maintains a library of core functions and user defined functions.
- */
-public class FnFunctionLibrary extends FunctionLibrary {
- /**
- * Path to xpath functions specification.
- */
- public static final String XPATH_FUNCTIONS_NS = "http://www.w3.org/2005/xpath-functions";
-
- /**
- * Constructor for FnFunctionLibrary.
- */
- public FnFunctionLibrary() {
- super(XPATH_FUNCTIONS_NS);
-
- // add functions here
- add_function(new FnBoolean());
- add_function(new FnRoot());
- add_function(new FnNot());
-
- // accessors
- add_function(new FnNodeName());
- add_function(new FnNilled());
- add_function(new FnData());
- add_function(new FnString());
- add_function(new FnBaseUri());
- add_function(new FnStaticBaseUri());
- add_function(new FnDocumentUri());
-
- // error
- add_function(new FnError());
-
- // trace
- add_function(new FnTrace());
-
- // numeric functions
- add_function(new FnAbs());
- add_function(new FnCeiling());
- add_function(new FnFloor());
- add_function(new FnRound());
- add_function(new FnRoundHalfToEven());
-
- // string functions
- add_function(new FnCodepointsToString());
- add_function(new FnStringToCodepoints());
- add_function(new FnCompare());
- add_function(new FnCodepointEqual());
- add_function(new FnConcat());
- add_function(new FnStringJoin());
- add_function(new FnSubstring());
- add_function(new FnStringLength());
- add_function(new FnNormalizeSpace());
- add_function(new FnNormalizeUnicode());
- add_function(new FnUpperCase());
- add_function(new FnLowerCase());
- add_function(new FnTranslate());
- add_function(new FnEscapeHTMLUri());
- add_function(new FnIriToURI());
- add_function(new FnContains());
- add_function(new FnStartsWith());
- add_function(new FnEndsWith());
- add_function(new FnSubstringBefore());
- add_function(new FnSubstringAfter());
- add_function(new FnMatches());
- add_function(new FnReplace());
- add_function(new FnTokenize());
- add_function(new FnEncodeForURI());
- add_function(new FnResolveURI());
-
- // boolean functions
- add_function(new FnTrue());
- add_function(new FnFalse());
-
- // date extraction functions
- add_function(new FnYearsFromDuration());
- add_function(new FnMonthsFromDuration());
- add_function(new FnDaysFromDuration());
- add_function(new FnHoursFromDuration());
- add_function(new FnMinutesFromDuration());
- add_function(new FnSecondsFromDuration());
- add_function(new FnYearFromDateTime());
- add_function(new FnMonthFromDateTime());
- add_function(new FnDayFromDateTime());
- add_function(new FnHoursFromDateTime());
- add_function(new FnMinutesFromDateTime());
- add_function(new FnSecondsFromDateTime());
- add_function(new FnTimezoneFromDateTime());
- add_function(new FnYearFromDate());
- add_function(new FnMonthFromDate());
- add_function(new FnDayFromDate());
- add_function(new FnTimezoneFromDate());
- add_function(new FnHoursFromTime());
- add_function(new FnMinutesFromTime());
- add_function(new FnSecondsFromTime());
- add_function(new FnTimezoneFromTime());
- add_function(new FnDateTime());
-
- // timezone functs
- add_function(new FnImplicitTimezone());
- add_function(new FnAdjustDateTimeToTimeZone());
- add_function(new FnAdjustTimeToTimeZone());
- add_function(new FnAdjustDateToTimeZone());
-
- // QName functs
- add_function(new FnResolveQName());
- add_function(new FnQName());
- add_function(new FnLocalNameFromQName());
- add_function(new FnNamespaceUriFromQName());
- add_function(new FnPrefixFromQName());
-
- // XXX implement hex & binary & notations
-
- // node functions
- add_function(new FnName());
- add_function(new FnLocalName());
- add_function(new FnNamespaceUri());
- add_function(new FnNumber());
- add_function(new FnInScopePrefixes());
-
- // node functs
- add_function(new FnLang());
-
- // sequence functions
- add_function(new FnIndexOf());
- add_function(new FnEmpty());
- add_function(new FnExists());
- add_function(new FnDistinctValues());
- add_function(new FnInsertBefore());
- add_function(new FnRemove());
- add_function(new FnReverse());
- add_function(new FnSubsequence());
- add_function(new FnUnordered());
-
- // sequence caridnality
- add_function(new FnZeroOrOne());
- add_function(new FnOneOrMore());
- add_function(new FnExactlyOne());
-
- add_function(new FnDeepEqual());
-
- // aggregate functions
- add_function(new FnCount());
- add_function(new FnAvg());
- add_function(new FnMax());
- add_function(new FnMin());
- add_function(new FnSum());
-
- // XXX implement functions that generate sequences
- add_function(new FnDoc());
- add_function(new FnCollection());
-
- // context functions
- add_function(new FnPosition());
- add_function(new FnLast());
- add_function(new FnCurrentDateTime());
- add_function(new FnCurrentDate());
- add_function(new FnCurrentTime());
-
- // XXX collation
- add_function(new FnDefaultCollation());
-
- // ID and IDRef
- add_function(new FnID());
- add_function(new FnIDREF());
-
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/function/XSCtrLibrary.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/function/XSCtrLibrary.java
deleted file mode 100644
index d8b74bb..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/function/XSCtrLibrary.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 273760 - wrong namespace for functions and data types
- * Mukul Gandhi - bug 274952 - implementation of xs:long data type
- * Mukul Gandhi - bug 275105 - implementation of xs:int data type
- * Mukul Gandhi - bug 277599 - implementation of xs:nonPositiveInteger data type
- * Mukul Gandhi - bug 277602 - implementation of xs:negativeInteger data type
- * Mukul Gandhi - bug 277608 - implementation of xs:short data type
- * Mukul Gandhi - bug 277609 - implementation of xs:nonNegativeInteger data type
- * Mukul Gandhi - bug 277629 - implementation of xs:unsignedLong data type
- * Mukul Gandhi - bug 277632 - implementation of xs:positiveInteger data type
- * Mukul Gandhi - bug 277639 - implementation of xs:byte data type
- * Mukul Gandhi - bug 277642 - implementation of xs:unsignedInt data type
- * Mukul Gandhi - bug 277645 - implementation of xs:unsighedShort data type
- * Mukul Gandhi - bug 277650 - implementation of xs:unsignedByte data type
- * Mukul Gandhi - bug 281046 - implementation of xs:base64Binary data type
- * David Carver - bug 282223 - implementation of xs:duration data type.
- * David Carver - bug 262765 - implementation of xs:untypedAtomic data type.
- * Jesper Moller - bug 297707 - Missing the empty-sequence() type
- * Mukul Gandhi - bug 309585 - implementation of xs:normalizedString data type
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.function;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.function.ConstructorFL;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSAnyURI;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSBase64Binary;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSBoolean;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSByte;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDate;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDateTime;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDayTimeDuration;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDecimal;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDouble;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSEntity;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSFloat;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSGDay;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSGMonth;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSGMonthDay;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSGYear;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSGYearMonth;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSHexBinary;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSID;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSIDREF;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSInt;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSLong;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSNCName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSNegativeInteger;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSNonNegativeInteger;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSNonPositiveInteger;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSNormalizedString;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSNotation;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSPositiveInteger;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSShort;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSString;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSTime;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSUnsignedByte;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSUnsignedInt;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSUnsignedLong;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSUnsignedShort;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSUntypedAtomic;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSYearMonthDuration;
-
-/**
- * XML Schema control library support.
- */
-public class XSCtrLibrary extends ConstructorFL {
- /**
- * Path to w3.org XML Schema specification.
- */
- public static final String XML_SCHEMA_NS = "http://www.w3.org/2001/XMLSchema";
-
- /**
- * Constructor for XSCtrLibrary.
- */
- public XSCtrLibrary() {
- super(XML_SCHEMA_NS);
-
- // add types here
- add_type(new XSString());
- add_type(new XSNormalizedString());
- add_type(new XSBoolean());
- add_type(new XSUntypedAtomic());
- add_type(new XSNotation());
-
- add_abstract_type("anyAtomicType", new AnyAtomicType() {
-
- public String string_type() {
- return null;
- }
-
- public String string_value() {
- return null;
- }
- });
-
- // numeric
- add_type(new XSDecimal());
- add_type(new XSFloat());
- add_type(new XSDouble());
- add_type(new XSInteger());
- add_type(new XSLong());
- add_type(new XSInt());
- add_type(new XSNonPositiveInteger());
- add_type(new XSNegativeInteger());
- add_type(new XSShort());
- add_type(new XSNonNegativeInteger());
- add_type(new XSUnsignedLong());
- add_type(new XSPositiveInteger());
- add_type(new XSByte());
- add_type(new XSUnsignedInt());
- add_type(new XSUnsignedShort());
- add_type(new XSUnsignedByte());
-
- // date
- add_type(new XSDateTime());
- add_type(new XSDate());
- add_type(new XSTime());
- add_type(new XSGYearMonth());
- add_type(new XSGYear());
- add_type(new XSGMonthDay());
- add_type(new XSGMonth());
- add_type(new XSGDay());
-
- add_type(new QName());
- add_type(new XSNCName());
- add_type(new XSAnyURI());
- add_type(new XSYearMonthDuration());
- add_type(new XSDayTimeDuration());
- add_type(new XSDuration());
- add_type(new XSEntity());
- add_type(new XSID());
- add_type(new XSIDREF());
-
- add_type(new XSBase64Binary());
- add_type(new XSHexBinary());
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/AncestorAxis.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/AncestorAxis.java
deleted file mode 100644
index 72dc5d4..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/AncestorAxis.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType;
-
-/**
- * Returns the ancestors of the context node, this always includes the root
- * node.
- */
-public class AncestorAxis extends ParentAxis {
-
- /**
- * Get the ancestors of the context node.
- *
- * @param node
- * is the type of node.
- * @param dc
- * is the dynamic context.
- * @return The nodes that are ancestors of the context node.
- */
- // XXX unify this with descendants axis ?
- public ResultSequence iterate(NodeType node, DynamicContext dc) {
-
- // get the parent
- ResultSequence rs = super.iterate(node, dc);
-
- // no parent
- if (rs.size() == 0)
- return rs;
-
- NodeType parent = (NodeType) rs.get(0);
-
- // get ancestors of parent
- ResultSequence ances = iterate(parent, dc);
-
- ances.concat(rs);
-
- return ances;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/AncestorOrSelfAxis.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/AncestorOrSelfAxis.java
deleted file mode 100644
index da7a92d..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/AncestorOrSelfAxis.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType;
-
-/**
- * The ancestor-or-self axis contains the context node and the ancestors of the
- * context node, this always includes the root node.
- */
-// multiple inheretance might be cool here =D
-public class AncestorOrSelfAxis extends ReverseAxis {
-
- /**
- * Get ancestor nodes of the context node and the context node itself.
- *
- * @param node
- * is the type of node.
- * @param dc
- * is the dynamic context.
- * @return The context node and its ancestors.
- */
- public ResultSequence iterate(NodeType node, DynamicContext dc) {
- // get ancestors
- AncestorAxis aa = new AncestorAxis();
- ResultSequence rs = aa.iterate(node, dc);
-
- // add self
- rs.add(node);
-
- return rs;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/AttributeAxis.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/AttributeAxis.java
deleted file mode 100644
index 3902b43..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/AttributeAxis.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper Moller - bug 275610 - Avoid big time and memory overhead for externals
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AttrType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.ElementType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType;
-import org.w3c.dom.Attr;
-import org.w3c.dom.NamedNodeMap;
-
-/**
- * The attribute axis contains the attributes of the context node. The axis will
- * be empty unless the context node is an element.
- */
-public class AttributeAxis extends ForwardAxis {
-
- /**
- * Retrieves the context node's attributes.
- *
- * @param node
- * is the type of node.
- * @param dc
- * is the dynamic context.
- * @return The attibutes of the context node.
- */
- public ResultSequence iterate(NodeType node, DynamicContext dc) {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- // only elements have attributes
- if (!(node instanceof ElementType))
- return rs;
-
- // get attributes
- ElementType elem = (ElementType) node;
- NamedNodeMap attrs = elem.value().getAttributes();
-
- // add attributes
- for (int i = 0; i < attrs.getLength(); i++) {
- Attr attr = (Attr) attrs.item(i);
-
- rs.add(NodeType.dom_to_xpath(attr));
- }
-
- return rs;
-
- }
-
- /**
- * Retrieves the node's principle node kind.
- *
- * @return The type of node.
- */
- public NodeType principal_node_kind() {
- return new AttrType();
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/Axis.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/Axis.java
deleted file mode 100644
index 1e4c41b..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/Axis.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType;
-
-/**
- * This is the interface class for an Axis.
- *
- * An axis defines the "direction of movement" for a step between a context node
- * and another node that is reachable via the axis.
- */
-public interface Axis {
- /**
- * Get elements and attributes.
- *
- * @param node
- * is the type of node.
- * @param dc
- * is the dynamic context.
- * @return The result sequence.
- */
- public ResultSequence iterate(NodeType node, DynamicContext dc);
-
- /**
- * Get the principle kind of node.
- *
- * @return The principle node kind.
- */
- public NodeType principal_node_kind();
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ChildAxis.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ChildAxis.java
deleted file mode 100644
index f6cc064..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ChildAxis.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * David Carver (STAR) - bug 262765 - Was not handling xml loaded dynamically in variables.
- * Jesper Moller - bug 275610 - Avoid big time and memory overhead for externals
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.DocType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.ElementType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * The child axis contains the children of the context node.
- */
-public class ChildAxis extends ForwardAxis {
-
- /**
- * Retrieves the context node's children.
- *
- * @param node
- * is the type of node.
- * @param dc
- * is the dynamic context.
- * @return The context node's children.
- */
- public ResultSequence iterate(NodeType node, DynamicContext dc) {
- ResultSequence rs = ResultSequenceFactory.create_new();
- NodeList nl = null;
-
-
- // only document and element nodes have children
- if (node instanceof DocType) {
- nl = ((DocType) node).value().getChildNodes();
- }
- if (node instanceof ElementType)
- nl = ((ElementType) node).value().getChildNodes();
-
- // add the children to the result
- if (nl != null) {
- for (int i = 0; i < nl.getLength(); i++) {
- Node dnode = nl.item(i);
- NodeType n = null;
- try {
- n = NodeType.dom_to_xpath(dnode);
- } catch (NullPointerException ex) {
- n = NodeType.dom_to_xpath(dnode);
- }
-
- rs.add(n);
- }
- }
-
- return rs;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/CupError.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/CupError.java
deleted file mode 100644
index 885c6da..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/CupError.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-/**
- * Error caused by CUP Parser.
- */
-public class CupError extends XPathError {
-
- /**
- *
- */
- private static final long serialVersionUID = -1835784623280692274L;
-
- /**
- * Constructor for CUP error.
- *
- * @param reason
- * is the reason for the error.
- */
- public CupError(String reason) {
- super(reason);
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/DefaultRSFactory.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/DefaultRSFactory.java
deleted file mode 100644
index 2cb34ae..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/DefaultRSFactory.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-
-/**
- * Factory implementation which creates sequences of type DefaultResultSequence.
- *
- */
-public class DefaultRSFactory extends ResultSequenceFactory {
- private static final ResultSequence _rs_creator = new DefaultResultSequence();
-
- public static final int POOL_SIZE = 50;
-
- private ResultSequence[] _rs_pool = new ResultSequence[POOL_SIZE];
- private int _head_pos;
-
- /**
- * Constructor of factory.
- *
- */
- public DefaultRSFactory() {
- for (int i = 0; i < POOL_SIZE; i++)
- _rs_pool[i] = _rs_creator.create_new();
-
- _head_pos = POOL_SIZE - 1;
- }
-
- protected ResultSequence fact_create_new() {
- if (_head_pos > 0) {
- return _rs_pool[_head_pos--];
- }
-
- return _rs_creator.create_new();
- }
-
- protected void fact_release(ResultSequence rs) {
- int new_pos = _head_pos + 1;
-
- if (new_pos < POOL_SIZE) {
- rs.clear();
-
- _head_pos = new_pos;
- _rs_pool[new_pos] = rs;
- }
- }
-
- protected void fact_print_debug() {
- System.out.println("Head pos: " + _head_pos);
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/DefaultResultSequence.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/DefaultResultSequence.java
deleted file mode 100644
index b6b01ee..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/DefaultResultSequence.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.ListIterator;
-
-/**
- * Default implementation of a result sequence.
- *
- */
-public class DefaultResultSequence extends ResultSequence {
-
- private List _seq;
-
- /**
- * Constructor.
- *
- * an empty array is created
- */
- public DefaultResultSequence() {
- _seq = new ArrayList();
- }
-
- /**
- * @param item
- * is added
- */
- public DefaultResultSequence(AnyType item) {
- this();
- add(item);
- }
-
- /**
- * @param item
- * is added to array _seq
- */
- public void add(AnyType item) {
- assert item != null;
- _seq.add(item);
- }
-
- /**
- * @param rs
- * ResultSequence
- */
- public void concat(ResultSequence rs) {
- for (Iterator i = rs.iterator(); i.hasNext();)
- _seq.add(i.next());
- }
-
- /**
- * @return the next iteration of array _seq
- */
- public ListIterator iterator() {
- return _seq.listIterator();
- }
-
- /**
- * @return integer of the size of array _seq
- */
- public int size() {
- return _seq.size();
- }
-
- /**
- * @param i
- * is the position of the array item that is wanted.
- * @return item i from array _seq
- */
- public AnyType get(int i) {
- return (AnyType) _seq.get(i);
- }
-
- /**
- * @return first item from array _seq
- */
- public AnyType first() {
- if (_seq.size() == 0)
- return null;
-
- return get(0);
- }
-
- /**
- * Whether or not array _seq is empty
- *
- * @return a boolean
- */
- public boolean empty() {
- return _seq.isEmpty();
- }
-
- /**
- * Clears the sequence.
- */
- public void clear() {
- _seq.clear();
- }
-
- /**
- * Create a new sequence.
- *
- * @return The new sequence.
- */
- public ResultSequence create_new() {
- return new DefaultResultSequence();
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/DefaultStaticContext.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/DefaultStaticContext.java
deleted file mode 100644
index 65ab130..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/DefaultStaticContext.java
+++ /dev/null
@@ -1,641 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * David Carver (STAR) - bug 277792 - add built in types to static context.
- * Jesper Steen Moller - bug 297707 - Missing the empty-sequence() type
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import org.apache.xerces.xs.ItemPSVI;
-import org.apache.xerces.xs.XSAttributeDeclaration;
-import org.apache.xerces.xs.XSElementDeclaration;
-import org.apache.xerces.xs.XSModel;
-import org.apache.xerces.xs.XSTypeDefinition;
-import org.eclipse.wst.xml.xpath2.processor.StaticContext;
-import org.eclipse.wst.xml.xpath2.processor.function.FnFunctionLibrary;
-import org.eclipse.wst.xml.xpath2.processor.function.XSCtrLibrary;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.ConstructorFL;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.Function;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.FunctionLibrary;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSAnyURI;
-
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Stack;
-
-/**
- * Default implementation of a static context as described by the XPath 2.0
- * specification.
- */
-public class DefaultStaticContext implements StaticContext {
-
- private boolean _xpath1_compatible;
- private String _default_namespace;
- private String _default_function_namespace;
- private XSModel _schema;
- private XSCtrLibrary builtinTypes;
-
- // key: String prefix, contents: String namespace
- private Map _namespaces;
-
- private String _cntxt_item_type;
- private Map _functions;
-
- // XXX collations
-
- private XSAnyURI _base_uri;
- private Map _documents;
- private Map _collections;
-
- public String get_cntxt_item_type() {
- return _cntxt_item_type;
- }
-
- public void set_cntxt_item_type(String cntxtItemType) {
- _cntxt_item_type = cntxtItemType;
- }
-
- public Map get_collections() {
- return _collections;
- }
-
- public void set_collections(Map collections) {
- _collections = collections;
- }
-
- public String get_default_collection_type() {
- return _default_collection_type;
- }
-
- public void set_default_collection_type(String defaultCollectionType) {
- _default_collection_type = defaultCollectionType;
- }
-
- private String _default_collection_type;
-
- // Variables are held like this:
- // A stack of maps of variables....
- // or in more human terms:
- // a stack of scopes each containing a symbol table
- // XXX vars contain AnyType... should they be ResultSequence ?
- private Stack _scopes;
-
- /**
- * Constructor.
- *
- * @param schema
- * Schema information from document. May be null.
- */
- public DefaultStaticContext(XSModel schema) {
- _xpath1_compatible = false;
-
- _default_namespace = null;
- _default_function_namespace = FnFunctionLibrary.XPATH_FUNCTIONS_NS;
- _schema = schema;
- builtinTypes = new XSCtrLibrary();
-
- _functions = new HashMap(20); // allow null keys: null namespace
- _namespaces = new HashMap(20); // ditto
-
- _cntxt_item_type = null;
-
- _scopes = new Stack();
- new_scope();
-
- if (_schema != null)
- init_schema(schema);
-
- _base_uri = new XSAnyURI();
-
- // XXX wildcard prefix
- add_namespace("*", "*");
-
- }
-
- /**
- * Constructor for schema-less documents.
- *
- */
- public DefaultStaticContext() {
- this(null);
- }
-
- private void init_schema(XSModel schema) {
- }
-
- /**
- * return the base URI
- *
- * @return XSAnyURI
- */
- public XSAnyURI base_uri() {
- return _base_uri;
- }
-
- /**
- * is it xpath1 compatible?
- *
- * @return boolean
- */
- public boolean xpath1_compatible() {
- return _xpath1_compatible;
- }
-
- /**
- * adds namespace
- *
- * @param prefix
- * namespace prefix
- * @param namespace
- * namespace URI
- *
- */
- public void add_namespace(String prefix, String namespace) {
- // XXX are these reserved ?
- // refer to formal semantics section 2.5.1
- if ((prefix != null) && (prefix.equals("fs") || prefix.equals("op") || prefix.equals("dm")))
- return;
- if (prefix == null) {
- _default_namespace = namespace;
- _namespaces.put("", namespace);
- } else {
- _namespaces.put(prefix, namespace);
- }
- }
-
- /**
- * Retrieves the default namespace, when one is not allocated
- *
- * @return string
- */
- public String default_namespace() {
- return _default_namespace;
- }
-
- /**
- * Retrieves the defaul function namespace
- *
- * @return string
- */
- public String default_function_namespace() {
- return _default_function_namespace;
- }
-
- /**
- * Adds a function to the library.
- *
- * @param fl
- * Function library to add.
- */
- public void add_function_library(FunctionLibrary fl) {
- fl.set_static_context(this);
- _functions.put(fl.namespace(), fl);
- }
-
- /**
- * Check for existance of function.
- *
- * @param name
- * function name.
- * @param arity
- * arity of function.
- * @return true if function exists. False otherwise.
- */
- public boolean function_exists(QName name, int arity) {
- String ns = name.namespace();
- if (!_functions.containsKey(ns))
- return false;
-
- FunctionLibrary fl = (FunctionLibrary) _functions.get(ns);
-
- return fl.function_exists(name, arity);
- }
-
- protected Function function(QName name, int arity) {
- String ns = name.namespace();
- if (!_functions.containsKey(ns))
- return null;
-
- FunctionLibrary fl = (FunctionLibrary) _functions.get(ns);
-
- return fl.function(name, arity);
- }
-
- /**
- *
- * Creates an atomic from a specific type name initialized with a default
- * value.
- *
- * @param name
- * name of type to create
- * @return Atomic type of desired type.
- */
- public AnyAtomicType make_atomic(QName name) {
- String ns = name.namespace();
-
- if (!_functions.containsKey(ns))
- return null;
-
- FunctionLibrary fl = (FunctionLibrary) _functions.get(ns);
-
- if (!(fl instanceof ConstructorFL))
- return null;
-
- ConstructorFL cfl = (ConstructorFL) fl;
-
- return cfl.atomic_type(name);
- }
-
- private boolean expand_qname(QName name, String def) {
- String prefix = name.prefix();
-
- if (prefix == null) {
- name.set_namespace(def);
- return true;
- }
-
- if (!prefix_exists(prefix))
- return false;
-
- name.set_namespace(resolve_prefix(prefix));
- return true;
-
- }
-
- /**
- * Expands the qname's prefix into a namespace.
- *
- * @param name
- * qname to expand.
- * @return true on success.
- */
- public boolean expand_qname(QName name) {
- return expand_qname(name, null);
- }
-
- /**
- * Expands a qname and uses the default function namespace if unprefixed.
- *
- * @param name
- * qname to expand.
- * @return true on success.
- */
- public boolean expand_function_qname(QName name) {
- return expand_qname(name, default_function_namespace());
- }
-
- /**
- * Expands a qname and uses the default type/element namespace if
- * unprefixed.
- *
- * @param name
- * qname to expand.
- * @return true on success.
- */
- public boolean expand_elem_type_qname(QName name) {
- return expand_qname(name, default_namespace());
- }
-
- /**
- *
- * Checks whether the type is defined in the in scope schema definitions.
- *
- * @param qname
- * type name.
- * @return true if type is defined.
- */
- public boolean type_defined(QName qname) {
-
- if (_schema == null) {
- return builtinTypes.atomic_type(qname) != null;
- }
-
- XSTypeDefinition td = _schema.getTypeDefinition(qname.local(), qname
- .namespace());
- if (td == null)
- return false;
-
- return true;
- }
-
- /**
- * Checks whether the type is defined in the in scope schema definitions.
- *
- * @param ns
- * namespace of type.
- * @param type
- * name of type.
- * @return true if type is defined.
- *
- */
- public boolean type_defined(String ns, String type) {
- return type_defined(new QName(ns, type));
- }
-
- /**
- * is element declared?
- *
- * @param elem
- * name of element.
- * @return true if element declared.
- */
- public boolean element_declared(QName elem) {
- if (_schema == null)
- return false;
-
- XSElementDeclaration ed = _schema.getElementDeclaration(elem.local(),
- elem.namespace());
-
- if (ed == null)
- return false;
-
- return true;
- }
-
- /**
- * Obtains schema definition of the type of an element.
- *
- * @param elem
- * name of element who's type is desired.
- * @return schema definition of type
- */
- public XSTypeDefinition element_type_definition(QName elem) {
- XSElementDeclaration ed = _schema.getElementDeclaration(elem.local(),
- elem.namespace());
-
- return ed.getTypeDefinition();
- }
-
- /**
- * Checks if an attribute is in the in-scope schema definitions.
- *
- * @param attr
- * name of attribute.
- * @return true if attribute is declared.
- */
- public boolean attribute_declared(QName attr) {
- if (_schema == null)
- return false;
-
- XSAttributeDeclaration ad = _schema.getAttributeDeclaration(attr
- .local(), attr.namespace());
-
- if (ad == null)
- return false;
-
- return true;
- }
-
- /**
- * Retrieves type definition of the attribute in an element.
- *
- * @param elem
- * element name
- * @return schema definition of the type of the attribute
- */
- public XSTypeDefinition attribute_type_definition(QName elem) {
- XSAttributeDeclaration ad = _schema.getAttributeDeclaration(elem
- .local(), elem.namespace());
-
- return ad.getTypeDefinition();
- }
-
- /**
- * does prefix exist?
- *
- * @param pref
- * prefix name.
- * @return true if it does.
- */
- public boolean prefix_exists(String pref) {
- return _namespaces.containsKey(pref);
- }
-
- /**
- * Resolves a prefix into a namespace URI.
- *
- * @param pref
- * prefix name
- * @return uri prefix is resolved to or null.
- */
- public String resolve_prefix(String pref) {
- return (String) _namespaces.get(pref);
- }
-
- /**
- * Checks if an XML node derives from a specified type.
- *
- * @param at
- * node actual type
- * @param et
- * name of expected type
- * @return true if a derivation exists
- */
- // XXX fix this
- public boolean derives_from(NodeType at, QName et) {
- ItemPSVI psvi = (ItemPSVI) at.node_value();
- XSTypeDefinition td = psvi.getTypeDefinition();
-
- short method = 0;
-
- // XXX
- if (!et.expanded()) {
- String pre = et.prefix();
-
- if (pre != null) {
- if (prefix_exists(pre)) {
- et.set_namespace(resolve_prefix(pre));
- } else
- assert false;
- } else
- et.set_namespace(default_namespace());
- }
-
- return td.derivedFrom(et.namespace(), et.local(), method);
- }
-
- /**
- * Checks if an XML node derives from a specified type definition.
- *
- * @param at
- * node actual type.
- * @param et
- * type definition of expected type.
- * @return true if a derivation exists.
- */
- public boolean derives_from(NodeType at, XSTypeDefinition et) {
- ItemPSVI psvi = (ItemPSVI) at.node_value();
- XSTypeDefinition td = psvi.getTypeDefinition();
-
- short method = 0;
-
- return td.derivedFromType(et, method);
- }
-
- /**
- * Creates a new scope level.
- */
- // variable stuff
- public void new_scope() {
- Map vars = new HashMap();
-
- _scopes.push(vars);
- }
-
- /**
- * Destroys a scope.
- */
- public void destroy_scope() {
- _scopes.pop();
- }
-
- private Map current_scope() {
- return (Map) _scopes.peek();
- }
-
- /**
- * does variable exist in current scope ?
- *
- * @param var
- * variable name.
- * @return true if it does.
- */
- public boolean variable_exists(QName var) {
- Map scope = current_scope();
-
- return scope.containsKey(var);
- }
-
- /**
- * checks to see if variable is in scope
- *
- * @param var
- * variable name.
- * @return true if variable is in current or above scope.
- */
- public boolean variable_in_scope(QName var) {
- // order doesn't matter..
- for (Iterator i = _scopes.iterator(); i.hasNext();) {
- Map scope = (Map) i.next();
-
- if (scope.containsKey(var))
- return true;
- }
- return false;
- }
-
- /**
- * Adds a variable to current scope.
- *
- * used for static checking.... i.e. presence of variables
- *
- * @param var
- * variable name to add.
- */
- public void add_variable(QName var) {
- set_variable(var, null);
- }
-
- // overwrites, or creates
- protected void set_variable(QName var, AnyType val) {
- Map scope = current_scope();
-
- scope.put(var, val);
- }
-
- /**
- * Deletes a variable from current scope.
- *
- * @param var
- * variable name to delete.
- * @return false if variable doesn't exist.
- */
- public boolean del_variable(QName var) {
- if (!variable_exists(var))
- return false;
-
- Map scope = current_scope();
- if (scope.remove(var) == null)
- return false;
- return true;
-
- }
-
- // return null if "not found"
- protected AnyType get_var(QName var) {
- // go through the stack in reverse order... reverse iterators
- // would be nice here...
-
- int pos = _scopes.size();
- while (--pos >= 0) {
- Map scope = (Map) _scopes.get(pos);
-
- // gotcha
- if (scope.containsKey(var)) {
- return (AnyType) scope.get(var);
- }
- }
-
- return null;
- }
-
- /**
- * Debug function which will print current variable scopes and info.
- */
- // debug functions
- public void debug_print_vars() {
- int level = 0;
-
- for (Iterator i = _scopes.iterator(); i.hasNext();) {
- Map scope = (Map) i.next();
-
- System.out.println("Scope level " + level);
-// scope.entrySet().iterator();
- for (Iterator j = scope.entrySet().iterator(); j.hasNext();) {
- QName varname = (QName) j.next();
-
- AnyType val = (AnyType) scope.get(varname);
-
- String string_val = "null";
-
- if (val != null)
- string_val = val.string_value();
-
- System.out.println("Varname: " + varname.string()
- + " expanded=" + varname.expanded() + " Value: "
- + string_val);
-
- }
-
- level++;
- }
- }
-
- /**
- * Set the Base URI for the static context.
- */
- public void set_base_uri(String baseuri) {
- _base_uri = new XSAnyURI(baseuri);
- }
-
- public void set_documents(Map _documents) {
- this._documents = _documents;
- }
-
- public Map get_documents() {
- return _documents;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/DescendantAxis.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/DescendantAxis.java
deleted file mode 100644
index 72025e8..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/DescendantAxis.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-
-/**
- * The descendant axis contains the descendants of the context node
- */
-public class DescendantAxis extends ChildAxis {
-
- /**
- * Using the context node retrieve the descendants of this node
- *
- * @param node
- * is the type of node.
- * @param dc
- * is the dynamic context.
- * @return The descendants of the context node.
- */
- public ResultSequence iterate(NodeType node, DynamicContext dc) {
- // get the children
- ResultSequence rs = super.iterate(node, dc);
-
- ArrayList descendants = new ArrayList();
-
- // get descendants of all children
- for (Iterator i = rs.iterator(); i.hasNext();) {
- NodeType n = (NodeType) i.next();
-
- descendants.add(iterate(n, dc));
- }
-
- // add descendants to result
- for (Iterator i = descendants.iterator(); i.hasNext();) {
- ResultSequence desc = (ResultSequence) i.next();
-
- rs.concat(desc);
- }
-
- return rs;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/DescendantOrSelfAxis.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/DescendantOrSelfAxis.java
deleted file mode 100644
index c08098e..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/DescendantOrSelfAxis.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType;
-
-/**
- * The descendant-or-self axis contains the context node and the descendants of
- * the context node.
- */
-// multiple inheretance might be cool here =D
-public class DescendantOrSelfAxis extends ForwardAxis {
-
- /**
- * Retrieve the the descendants of the context node and the context node
- * itself.
- *
- * @param node
- * is the type of node.
- * @param dc
- * is the dynamic context.
- * @return The context node and its descendants.
- */
- public ResultSequence iterate(NodeType node, DynamicContext dc) {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- // add self
- rs.add(node);
-
- // add descendants
- DescendantAxis da = new DescendantAxis();
- ResultSequence desc = da.iterate(node, dc);
- rs.concat(desc);
-
- return rs;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/Focus.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/Focus.java
deleted file mode 100644
index 72874cf..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/Focus.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper Steen Moller - bug 281938 - handle missing focus
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-
-/**
- * set the focus from a result sequence
- */
-public class Focus {
- private int _cp; // context position
- private ResultSequence _rs; // all items in context
-
- /**
- * Sets the _rs to rs and context position to 1.
- *
- * @param rs
- * is a ResultSequence and is set to _rs.
- */
- public Focus(ResultSequence rs) {
- _rs = rs;
- _cp = 1;
- }
-
- /**
- * Retrieves previous item from current context position.
- *
- * @return the item from _rs, or null if there is no context item.
- */
- public AnyType context_item() {
- // idexes start at 0
- if (_cp > _rs.size()) return null;
- return _rs.get(_cp - 1);
- }
-
- /**
- * Checks to see if possible to advance rs.
- *
- * @return the boolean.
- */
- public boolean advance_cp() {
- int size;
-
- // check if we can advance
- size = _rs.size();
- if (_cp == size)
- return false;
-
- _cp++;
- return true;
- }
-
- /**
- * returns an integer of the current position.
- *
- * @return the current position of rs.
- */
- public int position() {
- return _cp;
- }
-
- /**
- * returns the position of the last item in rs.
- *
- * @return the size of rs.
- */
- public int last() {
- return _rs.size();
- }
-
- /**
- * sets the position.
- *
- * @param p
- * is the position that is set.
- */
- public void set_position(int p) {
- _cp = p; // XXX no checks
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/FollowingAxis.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/FollowingAxis.java
deleted file mode 100644
index 77cd6b2..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/FollowingAxis.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType;
-
-import java.util.Iterator;
-
-/**
- * the following axis contains the context node's following siblings, those
- * children of the context node's parent that occur after the context node in
- * document order.
- */
-public class FollowingAxis extends ForwardAxis {
-
- /**
- * Return the result of FollowingAxis expression
- *
- * @param node
- * is the type of node.
- * @param dc
- * is the dynamic context.
- * @return The result of FollowingAxis.
- */
- public ResultSequence iterate(NodeType node, DynamicContext dc) {
- ResultSequence result = ResultSequenceFactory.create_new();
-
- // XXX should be root... not parent!!! read the spec.... BUG BUG
- // BUG LAME LAME....
-
- // get the parent
- NodeType parent = null;
- ParentAxis pa = new ParentAxis();
- ResultSequence rs = pa.iterate(node, dc);
- if (rs.size() == 1)
- parent = (NodeType) rs.get(0);
-
- // get the following siblings of this node, and add them
- FollowingSiblingAxis fsa = new FollowingSiblingAxis();
- rs = fsa.iterate(node, dc);
- result.concat(rs);
-
- // for each sibling, get all its descendants
- DescendantAxis da = new DescendantAxis();
- for (Iterator i = rs.iterator(); i.hasNext();) {
- ResultSequence desc = da.iterate((NodeType) i.next(), dc);
-
- // add all descendants to the result
- result.concat(desc);
- }
-
- // if we got a parent, we gotta repeat the story for the parent
- // and add the results
- if (parent != null) {
- rs = iterate(parent, dc);
- result.concat(rs);
- }
- return result;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/FollowingSiblingAxis.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/FollowingSiblingAxis.java
deleted file mode 100644
index 98a6b4e..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/FollowingSiblingAxis.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType;
-
-import java.util.Iterator;
-
-/**
- * The following-sibling axis contains the context node's following siblings,
- * those children of the context node's parent that occur after the context node
- * in document order; if the context node is an attribute nodeor namespace node,
- * the following-sibling axis is empty.
- */
-public class FollowingSiblingAxis extends ForwardAxis {
-
- /**
- * Return the result of FollowingSiblingAxis expression
- *
- * @param node
- * is the type of node.
- * @param dc
- * is the dynamic context.
- * @return The result of FollowingSiblingAxis.
- */
- public ResultSequence iterate(NodeType node, DynamicContext dc) {
- // XXX check for attribute / namespace node... if so return
- // empty sequence
-
- // get the parent
- ParentAxis pa = new ParentAxis();
- ResultSequence rs = pa.iterate(node, dc);
-
- // XXX: if no parent, out of luck i guess
- if (rs.size() == 0)
- return rs;
-
- // get the children of the parent [siblings]
- ChildAxis ca = new ChildAxis();
- NodeType parent = (NodeType) rs.get(0);
- rs = ca.iterate(parent, dc);
-
- // get the following siblings
- for (Iterator i = rs.iterator(); i.hasNext();) {
- NodeType n = (NodeType) i.next();
-
- // if we haven't found the node yet, remove elements
- // [preciding siblings]
- // note: if node is first... its ok... cuz we don't
- // include node...
- i.remove();
-
- // check reference of DOM object... should be correct ?!
- // dunno... XXX
- if (n.node_value() == node.node_value())
- break;
- }
-
- return rs;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ForwardAxis.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ForwardAxis.java
deleted file mode 100644
index fe86811..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ForwardAxis.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.types.ElementType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType;
-
-/**
- * An axis that only ever contains the context node or nodes that are after the
- * context node in document order is a forward axis.
- */
-public abstract class ForwardAxis implements Axis {
-
- /**
- * Return the new Element Type
- *
- * @return The element type.
- */
- // "default" type is element....
- // remember to override for attribute and namespce axis tho!
- public NodeType principal_node_kind() {
- return new ElementType();
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/JFlexError.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/JFlexError.java
deleted file mode 100644
index 3301f33..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/JFlexError.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-/**
- * Error caused by JFlex
- */
-public class JFlexError extends XPathError {
-
- /**
- *
- */
- private static final long serialVersionUID = -7154784482417833297L;
-
- /**
- * Constructor for JFlex error.
- *
- * @param reason
- * is the reason for the error.
- */
- public JFlexError(String reason) {
- super(reason);
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/Normalizer.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/Normalizer.java
deleted file mode 100644
index 5ebf212..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/Normalizer.java
+++ /dev/null
@@ -1,1062 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import org.eclipse.wst.xml.xpath2.processor.StaticContext;
-import org.eclipse.wst.xml.xpath2.processor.ast.XPath;
-import org.eclipse.wst.xml.xpath2.processor.function.FnFunctionLibrary;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.AddExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.AndExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.AnyKindTest;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.AttributeTest;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.AxisStep;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.BinExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.CastExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.CastableExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.CmpExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.CntxItemExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.CommentTest;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.DecimalLiteral;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.DivExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.DocumentTest;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.DoubleLiteral;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.ElementTest;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.ExceptExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.FilterExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.ForExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.ForwardStep;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.FunctionCall;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.IDivExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.IfExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.InstOfExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.IntegerLiteral;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.IntersectExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.ItemType;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.MinusExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.ModExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.MulExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.NameTest;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.NodeTest;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.OrExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.PITest;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.ParExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.PipeExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.PlusExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.PrimaryExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.QuantifiedExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.RangeExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.ReverseStep;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.SchemaAttrTest;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.SchemaElemTest;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.SequenceType;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.SingleType;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.Step;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.StepExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.StringLiteral;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.SubExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.TextTest;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.TreatAsExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.UnExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.UnionExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.VarExprPair;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.VarRef;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathNode;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.OpFunctionLibrary;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-import java.math.BigInteger;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- * Normalizer that uses XPathVisitor.
- */
-// XXX currently not supported anymore!
-public class Normalizer implements XPathVisitor {
-
- private StaticContext _sc;
-
- /**
- * Static Context is set to sc
- *
- * @param sc
- * is the StaticContext.
- */
- public Normalizer(StaticContext sc) {
- _sc = sc;
- }
-
- /**
- * Returns the normalized tree
- *
- * @param xp
- * is the xpath expression.
- * @return the xpath expressions.
- */
- public Object visit(XPath xp) {
- Collection exprs = new ArrayList();
-
- for (Iterator i = xp.iterator(); i.hasNext();) {
- Expr e = (Expr) i.next();
-
- Expr n = (Expr) e.accept(this);
-
- exprs.add(n);
- }
-
- return new XPath(exprs);
- }
-
- private void printVarExprPairs(Iterator i) {
- while (i.hasNext()) {
- VarExprPair pair = (VarExprPair) i.next();
-
- QName var = pair.varname();
- Expr e = pair.expr();
-
- e.accept(this);
- }
- }
-
- // does a for and a quantified expression
- // takes the iterator for var expr paris
- private void doForExpr(Iterator iter, Expr expr) {
- Collection vars = new ArrayList();
-
- // go through expression and cache variables
- while (iter.hasNext()) {
- VarExprPair pair = (VarExprPair) iter.next();
-
- QName var = pair.varname();
- Expr e = pair.expr();
-
- // XXX this is wrong!
- // need to define new scope, and reference "inner scope"
- // [shadow outer vars]
- /*
- * if(_sc.variable_exists(var)) report_error(new
- * StaticNameError("Variable " + var.string() +
- * " already defined"));
- */
- // ok we can cheat here cuz we only care about variable
- // "presence" not its specific instance / value so we
- // can fakely shadow without creating explicit scopes
- // if variable already exists.... then leave it there...
- // [we do not need to create a new instance and delete
- // it at the end]
- // we only need to if variable does not exist
- // XXX: i fink this is all wrong
- vars.add(var);
-
- e.accept(this);
- }
-
- // add variables to scope
- for (Iterator i = vars.iterator(); i.hasNext();) {
- QName var = (QName) i.next();
- }
-
- // do the bounded expression
- expr.accept(this);
-
- // remove variables
- }
-
- /**
- *
- * @param fex
- * is the For expression.
- * @return fex expression.
- */
- public Object visit(ForExpr fex) {
- ForExpr last = fex;
- Expr ret = fex.expr();
- int depth = 0;
-
- for (Iterator i = fex.iterator(); i.hasNext();) {
- VarExprPair ve = (VarExprPair) i.next();
-
- // ok we got nested fors...
- if (depth > 0) {
- Collection pairs = new ArrayList();
- pairs.add(ve);
-
- ForExpr fe = new ForExpr(pairs, ret);
- last.set_expr(fe);
-
- last = fe;
- }
-
- depth++;
- }
-
- // normalize return value, and set it to the last for expr
- ret.accept(this);
-
- // get rid of the pairs in the parent (original) for
- if (depth > 1)
- fex.truncate_pairs();
-
- return fex;
- }
-
- /**
- *
- * @param qex
- * is the Quantified expression.
- * @return qex expression.
- */
- // XXX: code duplication
- public Object visit(QuantifiedExpr qex) {
- QuantifiedExpr last = qex;
- Expr ret = qex.expr();
- int depth = 0;
-
- for (Iterator i = qex.iterator(); i.hasNext();) {
- VarExprPair ve = (VarExprPair) i.next();
-
- // ok we got nested fors...
- if (depth > 0) {
- Collection pairs = new ArrayList();
- pairs.add(ve);
-
- QuantifiedExpr qe = new QuantifiedExpr(qex.type(), pairs, ret);
- last.set_expr(qe);
-
- last = qe;
- }
-
- depth++;
- }
-
- // normalize return value, and set it to the last for expr
- ret.accept(this);
-
- // get rid of the pairs in the parent (original) for
- if (depth > 1)
- qex.truncate_pairs();
-
- return qex;
-
- }
-
- private void printExprs(Iterator i) {
- while (i.hasNext()) {
- Expr e = (Expr) i.next();
-
- e.accept(this);
- }
- }
-
- /**
- *
- * @param ifex
- * is the 'if' expression.
- * @return ifex expression.
- */
- public Object visit(IfExpr ifex) {
-
- printExprs(ifex.iterator());
-
- ifex.then_clause().accept(this);
-
- ifex.else_clause().accept(this);
-
- return ifex;
- }
-
- /**
- * @param name
- * of binary expression.
- * @param e
- * is the binary expression.
- */
- public void printBinExpr(String name, BinExpr e) {
- e.left().accept(this);
- e.right().accept(this);
- }
-
- private BinExpr make_logic_expr(BinExpr e) {
- Collection normalized = normalize_bin_args(e);
-
- XPathNode nor_arr[] = new XPathNode[2];
- int j = 0;
-
- for (Iterator i = normalized.iterator(); i.hasNext();) {
- nor_arr[j] = (XPathNode) i.next();
- j++;
- }
-
- Collection args = new ArrayList();
- args.add(nor_arr[0]);
- e.set_left(make_function(new QName("fn", "boolean",
- FnFunctionLibrary.XPATH_FUNCTIONS_NS), args));
-
- args.clear();
- args.add(nor_arr[1]);
- e.set_right(make_function(new QName("fn", "boolean",
- FnFunctionLibrary.XPATH_FUNCTIONS_NS), args));
-
- return e;
- }
-
- /**
- * @param orex
- * is the 'or' expression.
- * @return make logic expr(orex).
- */
- public Object visit(OrExpr orex) {
- return make_logic_expr(orex);
- }
-
- /**
- * @param andex
- * is the 'and' expression.
- * @return make logic expr(andex).
- */
- public Object visit(AndExpr andex) {
- return make_logic_expr(andex);
- }
-
- /**
- * @param cmpex
- * is the compare expression.
- * @return cmpex.
- */
- public Object visit(CmpExpr cmpex) {
- switch (cmpex.type()) {
- case CmpExpr.EQ:
- return make_CmpOp(cmpex, new QName("fs", "eq",
- OpFunctionLibrary.XPATH_OP_NS));
-
- case CmpExpr.NE:
- return make_CmpOp(cmpex, new QName("fs", "ne",
- OpFunctionLibrary.XPATH_OP_NS));
-
- case CmpExpr.LT:
- return make_CmpOp(cmpex, new QName("fs", "lt",
- OpFunctionLibrary.XPATH_OP_NS));
-
- case CmpExpr.GT:
- return make_CmpOp(cmpex, new QName("fs", "gt",
- OpFunctionLibrary.XPATH_OP_NS));
-
- case CmpExpr.LE:
- return make_CmpOp(cmpex, new QName("fs", "le",
- OpFunctionLibrary.XPATH_OP_NS));
-
- case CmpExpr.GE:
- return make_CmpOp(cmpex, new QName("fs", "ge",
- OpFunctionLibrary.XPATH_OP_NS));
-
- // XXX don't have functs!
- case CmpExpr.IS:
- return make_function(new QName("op", "node-equal"),
- normalize_bin_args(cmpex));
-
- case CmpExpr.LESS_LESS:
- return make_function(new QName("op", "node-before"),
- normalize_bin_args(cmpex));
-
- case CmpExpr.GREATER_GREATER:
- return make_function(new QName("op", "node-after"),
- normalize_bin_args(cmpex));
- }
-
- printBinExpr("CMP" + cmpex.type(), cmpex);
- return cmpex;
- }
-
- private Collection normalize_bin_args(BinExpr e) {
- Collection args = new ArrayList();
-
- XPathNode left = (XPathNode) e.left().accept(this);
- XPathNode right = (XPathNode) e.right().accept(this);
-
- args.add(left);
- args.add(right);
-
- return args;
- }
-
- /**
- * @param rex
- * is the range expression.
- * @return a new function.
- */
- public Object visit(RangeExpr rex) {
- Collection args = normalize_bin_args(rex);
- return make_function(new QName("op", "to",
- OpFunctionLibrary.XPATH_OP_NS), args);
- }
-
- private XPathExpr make_xpathexpr(PrimaryExpr pex) {
- FilterExpr fe = new FilterExpr(pex, new ArrayList());
- return new XPathExpr(0, fe);
- }
-
- private XPathExpr make_int_lit(int i) {
- IntegerLiteral il = new IntegerLiteral(BigInteger.valueOf(i));
- return make_xpathexpr(il);
- }
-
- private XPathExpr make_string_lit(String s) {
- StringLiteral sl = new StringLiteral(s);
- return make_xpathexpr(sl);
- }
-
- private XPathExpr make_convert_operand(XPathExpr arg1, XPathExpr arg2) {
- Collection args = new ArrayList();
- args.add(arg1);
- args.add(arg2);
-
- return make_function(new QName("fs", "convert-operand",
- OpFunctionLibrary.XPATH_OP_NS), args);
- }
-
- private XPathExpr make_double_lit(double d) {
- DoubleLiteral dl = new DoubleLiteral(d);
- return make_xpathexpr(dl);
- }
-
- // fs:fname( fs:convert-operand( fn:data(ARG1), 1.0E0 ),
- // fs:convert-operand( fn:data(ARG2), 1.0E0 )
- // )
- private XPathExpr make_convert_binop(BinExpr e, XPathExpr convarg,
- QName name) {
- Collection args = normalize_bin_args(e);
- XPathExpr args_arr[] = new XPathExpr[2];
- int j = 0;
-
- for (Iterator i = args.iterator(); i.hasNext();) {
- args_arr[j] = (XPathExpr) i.next();
- j++;
- }
-
- Collection argsfname = new ArrayList();
- for (j = 0; j < 2; j++) {
- XPathExpr arg = make_convert_operand(args_arr[j], convarg);
- argsfname.add(arg);
- }
- return make_function(name, argsfname);
- }
-
- private XPathExpr make_ArithOp(BinExpr e, QName name) {
- return make_convert_binop(e, make_double_lit(1.0), name);
- }
-
- // fs:fname( fs:convert_operand( fn:data(ARG1), "string"),
- // fs:convert_operand( fn:data(ARG2), "string")
- // )
- private XPathExpr make_CmpOp(BinExpr e, QName name) {
- return make_convert_binop(e, make_string_lit("string"), name);
- }
-
- /**
- * @param addex
- * is the add expression.
- * @return a new function.
- */
- public Object visit(AddExpr addex) {
- return make_ArithOp(addex, new QName("fs", "plus",
- OpFunctionLibrary.XPATH_OP_NS));
- }
-
- /**
- * @param subex
- * is the sub expression.
- * @return a new function.
- */
- public Object visit(SubExpr subex) {
- return make_ArithOp(subex, new QName("fs", "minus",
- OpFunctionLibrary.XPATH_OP_NS));
- }
-
- /**
- * @param mulex
- * is the multiply expression.
- * @return a new function.
- */
- public Object visit(MulExpr mulex) {
- return make_ArithOp(mulex, new QName("fs", "times",
- OpFunctionLibrary.XPATH_OP_NS));
- }
-
- /**
- * @param mulex
- * is the division expression.
- * @return a new function.
- */
- public Object visit(DivExpr mulex) {
- return make_ArithOp(mulex, new QName("fs", "div",
- OpFunctionLibrary.XPATH_OP_NS));
- }
-
- /**
- * @param mulex
- * is the integer division expression that always returns an
- * integer.
- * @return a new function.
- */
- // XXX: integer cast!
- public Object visit(IDivExpr mulex) {
- return make_ArithOp(mulex, new QName("fs", "idiv",
- OpFunctionLibrary.XPATH_OP_NS));
- }
-
- /**
- * @param mulex
- * is the mod expression.
- * @return a new function.
- */
- public Object visit(ModExpr mulex) {
- return make_ArithOp(mulex, new QName("fs", "mod",
- OpFunctionLibrary.XPATH_OP_NS));
- }
-
- /**
- * @param unex
- * is the union expression.
- * @return a new function.
- */
- public Object visit(UnionExpr unex) {
- Collection args = normalize_bin_args(unex);
- return make_function(new QName("op", "union",
- OpFunctionLibrary.XPATH_OP_NS), args);
- }
-
- /**
- * @param pipex
- * is the pipe expression.
- * @return a new function.
- */
- public Object visit(PipeExpr pipex) {
- Collection args = normalize_bin_args(pipex);
- return make_function(new QName("op", "union",
- OpFunctionLibrary.XPATH_OP_NS), args);
- }
-
- /**
- * @param iexpr
- * is the intersect expression.
- * @return a new function.
- */
- public Object visit(IntersectExpr iexpr) {
- Collection args = normalize_bin_args(iexpr);
- return make_function(new QName("op", "intersect",
- OpFunctionLibrary.XPATH_OP_NS), args);
- }
-
- /**
- * @param eexpr
- * is the except expression.
- * @return a new function.
- */
- public Object visit(ExceptExpr eexpr) {
- Collection args = normalize_bin_args(eexpr);
- return make_function(new QName("op", "except",
- OpFunctionLibrary.XPATH_OP_NS), args);
- }
-
- /**
- * @param ioexp
- * is the instance of expression.
- * @return a ioexp.
- */
- public Object visit(InstOfExpr ioexp) {
- printBinExpr("INSTANCEOF", ioexp);
- return ioexp;
- }
-
- /**
- * @param taexp
- * is the treat as expression.
- * @return a taexp.
- */
- public Object visit(TreatAsExpr taexp) {
- printBinExpr("TREATAS", taexp);
- return taexp;
- }
-
- /**
- * @param cexp
- * is the castable expression.
- * @return cexp.
- */
- public Object visit(CastableExpr cexp) {
- printBinExpr("CASTABLE", cexp);
- return cexp;
- }
-
- /**
- * @param cexp
- * is the cast expression.
- * @return cexp.
- */
- public Object visit(CastExpr cexp) {
- printBinExpr("CAST", cexp);
- return cexp;
- }
-
- /**
- * @param name
- * is the name.
- * @param e
- * is the Un Expression.
- */
- public void printUnExpr(String name, UnExpr e) {
- e.arg().accept(this);
-
- }
-
- /**
- * @param e
- * is the minus expression.
- * @return new sub expression
- */
- public Object visit(MinusExpr e) {
- SubExpr se = new SubExpr(make_int_lit(0), e.arg());
- return se.accept(this);
- }
-
- /**
- * @param e
- * is the plus expression.
- * @return new add expression
- */
- public Object visit(PlusExpr e) {
- AddExpr ae = new AddExpr(make_int_lit(0), e.arg());
-
- return ae.accept(this);
- }
-
- private XPathExpr make_function(QName name, Collection args) {
-
- FunctionCall fc = new FunctionCall(name, args);
- FilterExpr fe = new FilterExpr(fc, new ArrayList());
- return new XPathExpr(0, fe);
-
- }
-
- private XPathExpr make_root_self_node() {
-
- // self::node()
- Step self_node = new ForwardStep(ForwardStep.SELF, new AnyKindTest());
- StepExpr self_node_expr = new AxisStep(self_node, new ArrayList());
- XPathExpr self_node_xpath = new XPathExpr(0, self_node_expr);
-
- // fn:root(self::node())
- Collection args = new ArrayList();
- args.add(self_node_xpath);
- XPathExpr xpe = make_function(new QName("fn", "root",
- FnFunctionLibrary.XPATH_FUNCTIONS_NS), args);
-
- return xpe;
- }
-
- private XPathExpr make_descendant_or_self() {
- Step desc_self_node = new ForwardStep(ForwardStep.DESCENDANT_OR_SELF,
- new AnyKindTest());
- StepExpr se = new AxisStep(desc_self_node, new ArrayList());
-
- return new XPathExpr(0, se);
- }
-
- /**
- * @param e
- * is the xpath expression.
- * @return result.
- */
- public Object visit(XPathExpr e) {
- XPathExpr xp = e;
- int depth = 0; // indicates how many / we traversed
- XPathExpr result = e;
-
- while (xp != null) {
- int slashes = xp.slashes();
- StepExpr se = xp.expr();
-
- if (slashes == 1) {
- // this is a single slash and nothing else...
- if (se == null)
- return make_root_self_node();
-
- // /RelativePathExpr
- if (depth == 0) {
- XPathExpr xpe = make_root_self_node();
- xpe.set_next(e);
-
- result = xpe;
- }
- }
-
- if (slashes == 2) {
- // //RelativePathExpr
- if (depth == 0) {
- XPathExpr desc = make_descendant_or_self();
- desc.set_slashes(1);
- e.set_slashes(1);
- desc.set_next(e);
-
- XPathExpr root_self = make_root_self_node();
- root_self.set_next(desc);
- return root_self;
- }
- }
-
- if (se != null)
- se.accept(this);
-
- XPathExpr next = xp.next();
-
- // peek if the next guy will have 2 slashes...
- if (next != null) {
- // StepExpr//StepExpr
- if (next.slashes() == 2) {
- // create the node to stick between the
- // slashes
- XPathExpr desc = make_descendant_or_self();
- desc.set_slashes(1);
-
- // current node / desc / next
- xp.set_next(desc);
- desc.set_next(next);
- next.set_slashes(1);
- }
- }
- xp = next;
- depth++;
- }
- return result;
- }
-
- /**
- * @param e
- * is the forward step.
- * @return e
- */
- // XXX: normalzie!
- public Object visit(ForwardStep e) {
- int axis = e.axis();
-
- switch (axis) {
- case ForwardStep.AT_SYM:
- e.set_axis(ForwardStep.ATTRIBUTE);
- break;
-
- case ForwardStep.NONE:
- e.set_axis(ForwardStep.CHILD);
- break;
-
- }
-
- e.node_test().accept(this);
-
- return e;
- }
-
- /**
- * @param e
- * is the reverse step.
- * @return e
- */
- public Object visit(ReverseStep e) {
-
- if (e.axis() == ReverseStep.DOTDOT) {
- NodeTest nt = new AnyKindTest();
- Step s = new ReverseStep(ReverseStep.PARENT, nt);
-
- return s;
- }
-
- NodeTest nt = e.node_test();
- if (nt != null)
- nt.accept(this);
-
- return e;
- }
-
- /**
- * @param e
- * is the Name test.
- * @return e
- */
- public Object visit(NameTest e) {
-
- String prefix = e.name().prefix();
-
- // XXX: is this correct ?
- // i.e. if there is no prefix... its ok.. else it must exist
- if (prefix == null)
- return null;
-
- return e;
- }
-
- /**
- * @param e
- * is the veriable reference.
- * @return e
- */
- public Object visit(VarRef e) {
- return e;
- }
-
- /**
- * @param e
- * is the string literal.
- * @return e
- */
- public Object visit(StringLiteral e) {
- return e;
- }
-
- /**
- * @param e
- * is the integer literal.
- * @return e
- */
- public Object visit(IntegerLiteral e) {
- return e;
- }
-
- /**
- * @param e
- * is the double literal.
- * @return e
- */
- public Object visit(DoubleLiteral e) {
- return e;
- }
-
- /**
- * @param e
- * is the decimal literal.
- * @return e
- */
- public Object visit(DecimalLiteral e) {
- return e;
- }
-
- /**
- * @param e
- * is the par expression.
- * @return e
- */
- public Object visit(ParExpr e) {
- printExprs(e.iterator());
- return e;
- }
-
- /**
- * @param e
- * is the Cntx Item Expression.
- * @return new function
- */
- public Object visit(CntxItemExpr e) {
- return new VarRef(new QName("fs", "dot"));
- }
-
- /**
- * @param e
- * is the fucntion call.
- * @return e
- */
- // XXX: how do we normalize ?
- public Object visit(FunctionCall e) {
-
- printExprs(e.iterator());
- return e;
- }
-
- /**
- * @param e
- * is the single type.
- * @return e
- */
- public Object visit(SingleType e) {
- return e;
- }
-
- /**
- * @param e
- * is the sequence type.
- * @return e
- */
- public Object visit(SequenceType e) {
- ItemType it = e.item_type();
-
- if (it != null)
- it.accept(this);
-
- return e;
- }
-
- /**
- * @param e
- * is the item type.
- * @return e
- */
- public Object visit(ItemType e) {
-
- switch (e.type()) {
- case ItemType.ITEM:
- break;
- case ItemType.QNAME:
- break;
-
- case ItemType.KINDTEST:
- e.kind_test().accept(this);
- break;
- }
-
- return e;
- }
-
- /**
- * @param e
- * is the any kind test.
- * @return e
- */
- public Object visit(AnyKindTest e) {
- return e;
- }
-
- /**
- * @param e
- * is the document test.
- * @return e
- */
- public Object visit(DocumentTest e) {
-
- switch (e.type()) {
- case DocumentTest.ELEMENT:
- e.elem_test().accept(this);
- break;
-
- case DocumentTest.SCHEMA_ELEMENT:
- e.schema_elem_test().accept(this);
- break;
- }
- return e;
- }
-
- /**
- * @param e
- * is the text test.
- * @return e
- */
- public Object visit(TextTest e) {
- return e;
- }
-
- /**
- * @param e
- * is the common test.
- * @return e
- */
- public Object visit(CommentTest e) {
- return e;
- }
-
- /**
- * @param e
- * is the PI test.
- * @return e
- */
- public Object visit(PITest e) {
- String arg = e.arg();
- if (arg == null)
- arg = "";
-
- return e;
- }
-
- /**
- * @param e
- * is the attribute test.
- * @return e
- */
- // XXX NO CHECK ?
- public Object visit(AttributeTest e) {
-
- return e;
- }
-
- /**
- * @param e
- * is the schema attribute test.
- * @return e
- */
- public Object visit(SchemaAttrTest e) {
- return e;
- }
-
- /**
- * @param e
- * is the element test.
- * @return e
- */
- // XXX NO SEMANTIC CHECK?!
- public Object visit(ElementTest e) {
-
- return e;
- }
-
- /**
- * @param e
- * is the schema element test.
- * @return e
- */
- public Object visit(SchemaElemTest e) {
- return e;
- }
-
- private void printCollExprs(Iterator i) {
- while (i.hasNext()) {
- Collection exprs = (Collection) i.next();
-
- printExprs(exprs.iterator());
- }
- }
-
- /**
- * @param e
- * is the axis step.
- * @return e
- */
- public Object visit(AxisStep e) {
-
- Step s = (Step) e.step().accept(this);
- e.set_step(s);
-
- printCollExprs(e.iterator());
- return e;
- }
-
- /**
- * @param e
- * is the filter expression.
- * @return e
- */
- public Object visit(FilterExpr e) {
- PrimaryExpr pe = (PrimaryExpr) e.primary().accept(this);
- e.set_primary(pe);
-
- printCollExprs(e.iterator());
- return e;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ParentAxis.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ParentAxis.java
deleted file mode 100644
index 9d250fc..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ParentAxis.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper Moller - bug 275610 - Avoid big time and memory overhead for externals
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Node;
-
-/**
- * the parent axis contains the sequence returned by the dm:parent accessor in,
- * which returns the parent of the context node, or an empty sequence if the
- * context node has no parent
- */
-public class ParentAxis extends ReverseAxis {
-
- /**
- * returns parent accessors of the context node
- *
- * @param node
- * is the node type.
- * @throws dc
- * is the Dynamic context.
- * @return the accessors.
- */
- public ResultSequence iterate(NodeType node, DynamicContext dc) {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- Node n = node.node_value();
- Node parent = n.getParentNode();
-
- // special case attribute elements...
- // in this case... the parent is the element which owns the attr
- if (n.getNodeType() == Node.ATTRIBUTE_NODE) {
- Attr att = (Attr) n;
-
- parent = att.getOwnerElement();
- }
-
- // if a parent exists... add it
- if (parent != null)
- rs.add(NodeType.dom_to_xpath(parent));
-
- return rs;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/PrecedingAxis.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/PrecedingAxis.java
deleted file mode 100644
index f814132..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/PrecedingAxis.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType;
-
-import java.util.Iterator;
-
-/**
- * the preceding axis contains all nodes that are descendants of the root of the
- * tree in which the context node is found
- */
-public class PrecedingAxis extends ReverseAxis {
- // XXX DOCUMENT ORDER.... dunno
-
- /**
- * returns preceding nodes of the context node
- *
- * @param node
- * is the node type.
- * @throws dc
- * is the Dynamic context.
- * @return the descendants of the context node
- */
- public ResultSequence iterate(NodeType node, DynamicContext dc) {
- ResultSequence result = ResultSequenceFactory.create_new();
-
- // get the parent
- NodeType parent = null;
- ParentAxis pa = new ParentAxis();
- ResultSequence rs = pa.iterate(node, dc);
- if (rs.size() == 1)
- parent = (NodeType) rs.get(0);
-
- // get the preceding siblings of this node, and add them
- PrecedingSiblingAxis psa = new PrecedingSiblingAxis();
- rs = psa.iterate(node, dc);
- result.concat(rs);
-
- // for each sibling, get all its descendants
- DescendantAxis da = new DescendantAxis();
- for (Iterator i = rs.iterator(); i.hasNext();) {
- ResultSequence desc = da.iterate((NodeType) i.next(), dc);
-
- // add all descendants to the result
- result.concat(desc);
- }
-
- // if we got a parent, we gotta repeat the story for the parent
- // and add the results
- if (parent != null) {
- rs = iterate(parent, dc);
-
- rs.concat(result);
- result = rs;
- }
- return result;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/PrecedingSiblingAxis.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/PrecedingSiblingAxis.java
deleted file mode 100644
index fb3e2f6..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/PrecedingSiblingAxis.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType;
-
-import java.util.Iterator;
-
-/**
- * the preceding axis contains all nodes that are descendants of the root of the
- * tree in which the context node is found including the context node itself
- */
-public class PrecedingSiblingAxis extends ReverseAxis {
- // XXX again, unify with following
-
- /**
- * returns preceding nodes of the context node
- *
- * @param node
- * is the node type.
- * @throws dc
- * is the Dynamic context.
- * @return the descendants and the context node
- */
- public ResultSequence iterate(NodeType node, DynamicContext dc) {
- boolean found = false;
- // XXX check for attribute / namespace node... if so return
- // empty sequence
-
- // get the parent
- ParentAxis pa = new ParentAxis();
- ResultSequence rs = pa.iterate(node, dc);
-
- // XXX: if no parent, out of luck i guess
- if (rs.size() == 0)
- return rs;
-
- // get the children of the parent [siblings]
- ChildAxis ca = new ChildAxis();
- NodeType parent = (NodeType) rs.get(0);
- rs = ca.iterate(parent, dc);
-
- // get the preceding siblings
- for (Iterator i = rs.iterator(); i.hasNext();) {
- NodeType n = (NodeType) i.next();
-
- // ok we passed the node, so just erase the rest of the
- // results
- if (found) {
- i.remove();
- continue;
- }
-
- if (n.node_value() == node.node_value()) {
- i.remove();
- found = true;
- }
- }
-
- return rs;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/RangeResultSequence.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/RangeResultSequence.java
deleted file mode 100644
index f3cbfe9..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/RangeResultSequence.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 274805 - improvements to xs:integer data type
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger;
-
-import java.math.BigInteger;
-import java.util.ListIterator;
-
-/**
- * A range expression can be used to construct a sequence of consecutive
- * integers.
- */
-public class RangeResultSequence extends ResultSequence {
-
- private int _start;
- private int _end;
- private int _size;
- private ResultSequence _tail;
-
- /**
- * set the start and end of the range result sequence
- *
- * @param start
- * is the integer position of the start of range.
- * @param end
- * is the integer position of the end of range.
- */
- public RangeResultSequence(int start, int end) {
- _size = (end - start) + 1;
-
- assert _size >= 0;
-
- _start = start;
- _end = end;
-
- _tail = ResultSequenceFactory.create_new();
- }
-
- /**
- * item is an integer to add to the range.
- *
- * @param item
- * is an integer.
- */
- public void add(AnyType item) {
- _tail.add(item);
- }
-
- /**
- * remove the tail from the range given.
- *
- * @param rs
- * is the range
- */
- public void concat(ResultSequence rs) {
- _tail.concat(rs);
- }
-
- /**
- * interate through range.
- *
- * @return tail
- */
- public ListIterator iterator() {
- // XXX life is getting hard...
- if (_size != 0) {
- ResultSequence newtail = ResultSequenceFactory.create_new();
-
- for (; _start <= _end; _start++)
- newtail.add(new XSInteger(BigInteger.valueOf(_start)));
-
- newtail.concat(_tail);
- _tail.release();
- _tail = newtail;
-
- _size = 0;
- _start = 0;
- _end = 0;
-
- }
-
- return _tail.iterator();
- }
-
- /**
- * @return item from range
- */
- public AnyType get(int i) {
- if (i < _size)
- return new XSInteger(BigInteger.valueOf(_start + i));
- else
- return _tail.get(i - _size);
- }
-
- /**
- * @return size
- */
- public int size() {
- return _size + _tail.size();
- }
-
- /**
- * clear range
- */
- public void clear() {
- _size = 0;
- _tail.clear();
- }
-
- /**
- * create new result sequence
- *
- * @return null
- */
- public ResultSequence create_new() {
- assert false;
- return null;
- }
-
- /**
- * @return first item in range
- */
- public AnyType first() {
- return get(0);
- }
-
- /**
- * asks if the range is empty?
- *
- * @return boolean
- */
- public boolean empty() {
- return size() == 0;
- }
-
- /**
- * release
- */
- public void release() {
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ReverseAxis.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ReverseAxis.java
deleted file mode 100644
index 941476e..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ReverseAxis.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.types.ElementType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType;
-
-/**
- * An axis that only ever contains the context node or nodes that are before the
- * context node in document order is a reverse axis.
- */
-public abstract class ReverseAxis implements Axis {
-
- /**
- * @return new element type
- */
- // should always be element i fink
- public NodeType principal_node_kind() {
- return new ElementType();
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/SelfAxis.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/SelfAxis.java
deleted file mode 100644
index 55814cf..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/SelfAxis.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType;
-
-/**
- * Create a result sequence that contains the context node
- */
-public class SelfAxis extends ForwardAxis {
-
- /**
- * create new rs and add the context node to it
- *
- * @param node
- * is the node type
- * @param dc
- * is the dynamic context
- * @return rs containing node
- */
- public ResultSequence iterate(NodeType node, DynamicContext dc) {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- rs.add(node);
-
- return rs;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/SeqType.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/SeqType.java
deleted file mode 100644
index 36759c9..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/SeqType.java
+++ /dev/null
@@ -1,262 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper Steen Moeller - bug 285145 - don't silently allow empty sequences always
- * Jesper Steen Moeller - bug 297707 - Missing the empty-sequence() type
- * David Carver - bug 298267 - Correctly handle instof with elements.
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.StaticContext;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-import org.w3c.dom.Node;
-
-import java.util.*;
-
-/**
- * represents a Sequence types used for matching expected arguments of functions
- */
-public class SeqType {
-
- public static final int OCC_NONE = 0;
- public static final int OCC_STAR = 1;
- public static final int OCC_PLUS = 2;
- public static final int OCC_QMARK = 3;
- public static final int OCC_EMPTY = 4;
-
- /**
- * Path to w3.org XML Schema specification.
- */
- public static final String XML_SCHEMA_NS = "http://www.w3.org/2001/XMLSchema";
-
- private static final QName ANY_ATOMIC_TYPE = new QName("xs",
- "anyAtomicType", XML_SCHEMA_NS);
-
- private transient AnyType anytype = null;
- private transient int occ;
- private transient Class typeClass = null;
- private transient QName nodeName = null;
- private transient boolean wild = false;
-
- /**
- * sequence type
- *
- * @param t
- * is any type
- * @param occ
- * is an integer in the sequence.
- */
- public SeqType(AnyType t, int occ) {
- anytype = t;
- this.occ = occ;
-
- if (t != null)
- typeClass = t.getClass();
- else
- typeClass = null;
- }
-
- /**
- * @param occ
- * is an integer in the sequence.
- */
- // XXX hack to represent AnyNode...
- public SeqType(int occ) {
- this((AnyType) null, occ);
-
- typeClass = NodeType.class;
- }
-
- /**
- * @param type_class
- * is a class which represents the expected type
- * @param occ
- * is an integer in the sequence.
- */
- public SeqType(Class type_class, int occ) {
- this((AnyType) null, occ);
-
- this.typeClass = type_class;
- }
-
- /**
- * @param st
- * is a sequence type.
- * @param sc
- * is a static context.
- */
- public SeqType(SequenceType st, StaticContext sc, ResultSequence rs) {
-
- // convert occurrence
- switch (st.occurrence()) {
- case SequenceType.EMPTY:
- occ = OCC_EMPTY;
- return;
-
- case SequenceType.NONE:
- occ = OCC_NONE;
- break;
-
- case SequenceType.QUESTION:
- occ = OCC_QMARK;
- break;
-
- case SequenceType.STAR:
- occ = OCC_STAR;
- break;
-
- case SequenceType.PLUS:
- occ = OCC_PLUS;
- break;
-
- default:
- assert false;
- }
-
- // figure out the item is
- final ItemType item = st.item_type();
- KindTest ktest = null;
- switch (item.type()) {
- case ItemType.ITEM:
- typeClass = AnyType.class;
- return;
-
- // XXX IMPLEMENT THIS
- case ItemType.QNAME:
- final AnyAtomicType aat = sc.make_atomic(item.qname());
-
- assert aat != null;
- anytype = aat;
- if (item.qname().equals(ANY_ATOMIC_TYPE)) {
- typeClass = AnyAtomicType.class;
- } else {
- typeClass = anytype.getClass();
- }
- return;
-
- case ItemType.KINDTEST:
- ktest = item.kind_test();
- break;
-
- }
-
- if (ktest == null) {
- return;
- }
-
- typeClass = ktest.getXDMClassType();
- anytype = ktest.createTestType(rs);
- nodeName = ktest.name();
- wild = ktest.isWild();
- }
-
- /**
- * @param t
- * is an any type.
- */
- public SeqType(AnyType t) {
- this(t, OCC_NONE);
- }
-
- /**
- * @return an integer.
- */
- public int occurence() {
- return occ;
- }
-
- /**
- * @return a type.
- */
- public AnyType type() {
- return anytype;
- }
-
- /**
- * matches args
- *
- * @param args
- * is a result sequence
- * @throws a
- * dynamic error
- * @return a result sequence
- */
- public ResultSequence match(ResultSequence args) throws DynamicError {
-
- int occurrence = occurence();
-
- // Check for empty sequence first
- if (occurrence == OCC_EMPTY && !args.empty()) {
- throw new DynamicError(TypeError.invalid_type(null));
- }
-
- int arg_count = 0;
-
- for (Iterator i = args.iterator(); i.hasNext();) {
- AnyType arg = (AnyType) i.next();
-
- // make sure all args are the same type as expected type
- if (!(typeClass.isInstance(arg))) {
- throw new DynamicError(TypeError.invalid_type(null));
- }
-
- if (anytype != null) {
- if ((nodeName != null || wild) && arg instanceof NodeType) {
- NodeType nodeType = (NodeType) arg;
- Node node = nodeType.node_value();
- Node lnode = ((NodeType) anytype).node_value();
- if (lnode == null) {
- //throw new DynamicError(TypeError.invalid_type(null));
- continue;
- }
- if (!lnode.isEqualNode(node)) {
- //throw new DynamicError(TypeError.invalid_type(null));
- continue;
- }
- }
- }
-
- arg_count++;
-
- }
-
- switch (occurrence) {
- case OCC_NONE:
- if (arg_count != 1) {
- throw new DynamicError(TypeError.invalid_type(null));
- }
- break;
-
- case OCC_PLUS:
- if (arg_count == 0) {
- throw new DynamicError(TypeError.invalid_type(null));
- }
- break;
-
- case OCC_STAR:
- break;
-
- case OCC_QMARK:
- if (arg_count > 1) {
- throw new DynamicError(TypeError.invalid_type(null));
- }
- break;
-
- default:
- assert false;
-
- }
-
- return args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/StaticAttrNameError.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/StaticAttrNameError.java
deleted file mode 100644
index 38fc937..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/StaticAttrNameError.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-/**
- * Error caused by static attribute name.
- */
-public class StaticAttrNameError extends StaticNameError {
-
- /**
- *
- */
- private static final long serialVersionUID = -5037788654293050262L;
-
- /**
- * Constructor for static attribute name error
- *
- * @param reason
- * is the reason for the error.
- */
- public StaticAttrNameError(String reason) {
- super(reason);
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/StaticElemNameError.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/StaticElemNameError.java
deleted file mode 100644
index fdd76bb..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/StaticElemNameError.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-/**
- * Error caused by static element name.
- */
-public class StaticElemNameError extends StaticNameError {
-
- /**
- *
- */
- private static final long serialVersionUID = 1871575671871755673L;
-
- /**
- * Constructor for static element name error
- *
- * @param reason
- * is the reason for the error.
- */
- public StaticElemNameError(String reason) {
- super(reason);
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/StaticFunctNameError.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/StaticFunctNameError.java
deleted file mode 100644
index d7c389a..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/StaticFunctNameError.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-/**
- * Error caused by static function name.
- */
-public class StaticFunctNameError extends StaticNameError {
-
- /**
- *
- */
- private static final long serialVersionUID = 3804565876770376444L;
- public static final String FUNCTION_NOT_FOUND = "XPST0017";
-
- /**
- * Constructor for static function name error
- *
- * @param reason
- * is the reason for the error.
- */
- public StaticFunctNameError(String reason) {
- super(FUNCTION_NOT_FOUND, reason);
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/StaticNameError.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/StaticNameError.java
deleted file mode 100644
index 29e52c3..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/StaticNameError.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import org.eclipse.wst.xml.xpath2.processor.StaticError;
-
-/**
- * Error caused by static name.
- */
-public class StaticNameError extends StaticError {
- /**
- *
- */
- private static final long serialVersionUID = 4363370082563106074L;
- public static final String NAME_NOT_FOUND = "XPST0008";
- public static final String PREFIX_NOT_FOUND = "XPST0081";
-
- /**
- * Constructor for static name error
- *
- * @param code
- * is the code.
- * @param reason
- * is the reason for the error.
- */
- public StaticNameError(String code, String reason) {
- super(code, reason);
- }
-
- /**
- * Constructor for static name error
- *
- * @param reason
- * is the reason for the error.
- */
- public StaticNameError(String reason) {
- this(NAME_NOT_FOUND, reason);
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/StaticNsNameError.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/StaticNsNameError.java
deleted file mode 100644
index d3a436a..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/StaticNsNameError.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-/**
- * Static namespace name error class.
- */
-public class StaticNsNameError extends StaticNameError {
-
- /**
- *
- */
- private static final long serialVersionUID = -6873980377966290062L;
-
- public StaticNsNameError(String reason) {
- super(PREFIX_NOT_FOUND, reason);
- }
-
- /**
- * Constructor.
- *
- * @param pref
- * is the unknown prefix.
- * @return the error.
- */
- public static StaticNsNameError unknown_prefix(String pref) {
- String error = "Unknown prefix";
-
- if (pref != null)
- error += ": " + pref;
- error += ".";
-
- return new StaticNsNameError(error);
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/StaticTypeNameError.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/StaticTypeNameError.java
deleted file mode 100644
index 497019a..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/StaticTypeNameError.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * David Carver (STAR) - bug 273763 - correct error codes
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-/**
- * Static type name error class.
- */
-public class StaticTypeNameError extends StaticNameError {
- /**
- *
- */
- private static final long serialVersionUID = 7328671571088574947L;
- public static final String TYPE_NOT_FOUND = "XPST0051";
-
- /**
- * Constructor.
- *
- * @param reason
- * is the reason for the error.
- */
- public StaticTypeNameError(String reason) {
- super(TYPE_NOT_FOUND, reason);
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/StaticVarNameError.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/StaticVarNameError.java
deleted file mode 100644
index 1475cb8..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/StaticVarNameError.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-/**
- * Static variable name error class.
- */
-public class StaticVarNameError extends StaticNameError {
-
- /**
- *
- */
- private static final long serialVersionUID = -2308402954892821476L;
-
- /**
- * Constructor.
- *
- * @param reason
- * is the reason for the error.
- */
- public StaticVarNameError(String reason) {
- super(reason);
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/TypeError.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/TypeError.java
deleted file mode 100644
index f99b210..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/TypeError.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * David Carver (STAR) - bug 273763 - correct error codes
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import org.eclipse.wst.xml.xpath2.processor.XPathException;
-
-/**
- * Error caused by bad types.
- */
-public class TypeError extends XPathException {
- /**
- *
- */
- private static final long serialVersionUID = 932275035706936883L;
- // errorcode specified in http://www.w3.org/2004/10/xqt-errors i fink
- private String _code;
-
- /**
- * Constructor for type error.
- *
- * @param code
- * is the error code.
- * @param err
- * is the reason for the error.
- */
- public TypeError(String code, String err) {
- super(err);
- _code = code;
- }
-
- /**
- * Get the error code.
- *
- * @return The error code.
- */
- public String code() {
- return _code;
- }
-
- /**
- * "Factory" for building errors
- *
- * @param err
- * is the reason for the error.
- * @return the error.
- */
- public static TypeError ci_not_node(String err) {
- String error = "Context item is not a node.";
-
- if (err != null)
- error += " " + err;
-
- return new TypeError("XPTY0020", error);
- }
-
- /**
- * "Factory" for building errors
- *
- * @param err
- * is the reason for the error.
- * @return the error.
- */
- public static TypeError mixed_vals(String err) {
- String error = "The result of the last step in a path expression contains both nodes and atomic values.";
-
- if (err != null)
- error += " " + err;
-
- return new TypeError("XPTY0018", error);
- }
-
- /**
- * "Factory" for building errors
- *
- * @param err
- * is the reason for the error.
- * @return the error.
- */
- public static TypeError step_conatins_atoms(String err) {
- String error = "The result of an step (other than the last step) in a path expression contains an atomic value.";
-
- if (err != null)
- error += " " + err;
-
- return new TypeError("XPTY0019", error);
- }
-
- /**
- * "Factory" for building errors
- *
- * @param err
- * is the reason for the error.
- * @return the error.
- */
- public static TypeError invalid_type(String err) {
- String error = "Value does not match a required type.";
-
- if (err != null)
- error += " " + err;
-
- return new TypeError("XPTY0004", error);
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/XPath2Plugin.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/XPath2Plugin.java
deleted file mode 100644
index 50065a4..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/XPath2Plugin.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Standards for Technology in Automotive Retail and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * David Carver (STAR) - initial api and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import org.eclipse.core.runtime.Plugin;
-
-public class XPath2Plugin extends Plugin {
-
- public XPath2Plugin() {
- // TODO Auto-generated constructor stub
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/XPathCup.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/XPathCup.java
deleted file mode 100644
index 0e7e9e4..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/XPathCup.java
+++ /dev/null
@@ -1,6859 +0,0 @@
-
-//----------------------------------------------------
-// The following code was generated by CUP v0.10k
-// Sat Jun 12 19:02:47 CEST 2010
-//----------------------------------------------------
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import org.eclipse.wst.xml.xpath2.processor.ast.XPath;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.AddExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.AndExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.AnyKindTest;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.AttributeTest;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.AxisStep;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.CastExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.CastableExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.CmpExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.CntxItemExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.CommentTest;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.DecimalLiteral;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.DivExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.DocumentTest;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.DoubleLiteral;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.ElementTest;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.ExceptExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.Expr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.FilterExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.ForExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.ForwardStep;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.FunctionCall;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.IDivExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.IfExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.InstOfExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.IntegerLiteral;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.IntersectExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.ItemType;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.KindTest;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.Literal;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.MinusExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.ModExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.MulExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.NameTest;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.NodeTest;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.NumericLiteral;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.OrExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.PITest;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.ParExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.PipeExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.PlusExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.PrimaryExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.QuantifiedExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.RangeExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.ReverseStep;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.SchemaAttrTest;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.SchemaElemTest;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.SequenceType;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.SingleType;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.StepExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.StringLiteral;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.SubExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.TextTest;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.TreatAsExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.UnionExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.VarExprPair;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.VarRef;
-import org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathExpr;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.util.ArrayList;
-import java.util.Collection;
-
-/** CUP v0.10k generated parser.
- * @version Sat Jun 12 19:02:47 CEST 2010
- */
-public class XPathCup extends java_cup.runtime.lr_parser {
-
- /** Default constructor. */
- public XPathCup() {super();}
-
- /** Constructor which sets the default scanner. */
- public XPathCup(java_cup.runtime.Scanner s) {super(s);}
-
- /** Production table. */
- protected static final short _production_table[][] =
- unpackFromStrings(new String[] {
- "\000\u011d\000\002\114\003\000\002\002\004\000\002\033" +
- "\003\000\002\033\005\000\002\061\003\000\002\061\003" +
- "\000\002\061\003\000\002\061\003\000\002\115\005\000" +
- "\002\036\007\000\002\036\010\000\002\116\007\000\002" +
- "\116\007\000\002\035\005\000\002\035\010\000\002\117" +
- "\012\000\002\066\003\000\002\066\005\000\002\065\003" +
- "\000\002\065\005\000\002\070\003\000\002\070\005\000" +
- "\002\070\005\000\002\070\005\000\002\067\003\000\002" +
- "\067\005\000\002\062\003\000\002\062\005\000\002\062" +
- "\005\000\002\057\003\000\002\057\005\000\002\057\005" +
- "\000\002\057\005\000\002\057\005\000\002\056\003\000" +
- "\002\056\005\000\002\056\005\000\002\060\003\000\002" +
- "\060\005\000\002\060\005\000\002\054\003\000\002\054" +
- "\006\000\002\052\003\000\002\052\006\000\002\053\003" +
- "\000\002\053\006\000\002\055\003\000\002\055\006\000" +
- "\002\047\003\000\002\047\004\000\002\047\004\000\002" +
- "\121\003\000\002\063\003\000\002\063\003\000\002\063" +
- "\003\000\002\063\003\000\002\063\003\000\002\063\003" +
- "\000\002\064\003\000\002\064\003\000\002\064\003\000" +
- "\002\064\003\000\002\064\003\000\002\064\003\000\002" +
- "\027\003\000\002\027\003\000\002\027\003\000\002\120" +
- "\003\000\002\120\004\000\002\120\004\000\002\120\003" +
- "\000\002\046\003\000\002\046\005\000\002\046\005\000" +
- "\002\045\003\000\002\045\003\000\002\122\004\000\002" +
- "\122\004\000\002\043\004\000\002\043\003\000\002\026" +
- "\004\000\002\026\004\000\002\026\004\000\002\026\004" +
- "\000\002\026\004\000\002\026\004\000\002\026\004\000" +
- "\002\026\004\000\002\044\004\000\002\044\003\000\002" +
- "\041\004\000\002\041\003\000\002\025\004\000\002\025" +
- "\004\000\002\025\004\000\002\025\004\000\002\025\004" +
- "\000\002\042\003\000\002\040\003\000\002\040\003\000" +
- "\002\071\003\000\002\071\003\000\002\023\003\000\002" +
- "\023\005\000\002\023\005\000\002\123\004\000\002\034" +
- "\004\000\002\034\002\000\002\124\005\000\002\037\003" +
- "\000\002\037\003\000\002\037\003\000\002\037\003\000" +
- "\002\037\003\000\002\073\003\000\002\073\003\000\002" +
- "\077\003\000\002\077\003\000\002\077\003\000\002\074" +
- "\004\000\002\032\004\000\002\032\005\000\002\075\003" +
- "\000\002\076\005\000\002\076\006\000\002\031\003\000" +
- "\002\031\005\000\002\050\003\000\002\050\004\000\002" +
- "\051\003\000\002\051\004\000\002\051\005\000\002\024" +
- "\003\000\002\024\003\000\002\024\003\000\002\030\003" +
- "\000\002\030\003\000\002\030\005\000\002\017\003\000" +
- "\002\072\003\000\002\072\003\000\002\072\003\000\002" +
- "\072\003\000\002\072\003\000\002\072\003\000\002\072" +
- "\003\000\002\072\003\000\002\072\003\000\002\110\005" +
- "\000\002\103\005\000\002\103\006\000\002\103\006\000" +
- "\002\104\005\000\002\105\005\000\002\106\005\000\002" +
- "\106\006\000\002\106\006\000\002\107\005\000\002\107" +
- "\006\000\002\107\010\000\002\015\003\000\002\015\003" +
- "\000\002\112\006\000\002\014\003\000\002\111\005\000" +
- "\002\111\006\000\002\111\010\000\002\111\011\000\002" +
- "\011\003\000\002\011\003\000\002\113\006\000\002\010" +
- "\003\000\002\016\003\000\002\013\003\000\002\012\003" +
- "\000\002\101\003\000\002\100\003\000\002\102\003\000" +
- "\002\007\003\000\002\022\003\000\002\020\003\000\002" +
- "\020\005\000\002\005\003\000\002\006\003\000\002\021" +
- "\003\000\002\021\005\000\002\003\003\000\002\003\003" +
- "\000\002\003\003\000\002\003\003\000\002\003\003\000" +
- "\002\003\003\000\002\003\003\000\002\003\003\000\002" +
- "\003\003\000\002\003\003\000\002\003\003\000\002\003" +
- "\003\000\002\003\003\000\002\003\003\000\002\003\003" +
- "\000\002\003\003\000\002\003\003\000\002\003\003\000" +
- "\002\003\003\000\002\003\003\000\002\003\003\000\002" +
- "\003\003\000\002\003\003\000\002\003\003\000\002\003" +
- "\003\000\002\003\003\000\002\003\003\000\002\003\003" +
- "\000\002\003\003\000\002\003\003\000\002\003\003\000" +
- "\002\003\003\000\002\003\003\000\002\003\003\000\002" +
- "\003\003\000\002\003\003\000\002\003\003\000\002\003" +
- "\003\000\002\003\003\000\002\003\003\000\002\003\003" +
- "\000\002\003\003\000\002\003\003\000\002\003\003\000" +
- "\002\003\003\000\002\003\003\000\002\003\003\000\002" +
- "\003\003\000\002\003\003\000\002\003\003\000\002\003" +
- "\003\000\002\003\003\000\002\003\003\000\002\003\003" +
- "\000\002\003\003\000\002\003\003\000\002\004\003\000" +
- "\002\004\003\000\002\004\003\000\002\004\003\000\002" +
- "\004\003\000\002\004\003\000\002\004\003\000\002\004" +
- "\003\000\002\004\003\000\002\004\003\000\002\004\003" +
- "\000\002\004\003\000\002\004\003\000\002\004\003\000" +
- "\002\004\003\000\002\004\003\000\002\004\003\000\002" +
- "\004\003\000\002\004\003\000\002\004\003\000\002\004" +
- "\003\000\002\004\003\000\002\004\003\000\002\004\003" +
- "\000\002\004\003\000\002\004\003\000\002\004\003\000" +
- "\002\004\003\000\002\004\003\000\002\004\003\000\002" +
- "\004\003\000\002\004\003\000\002\004\003\000\002\004" +
- "\003\000\002\004\003\000\002\004\003\000\002\004\003" +
- "\000\002\004\003\000\002\004\003\000\002\004\003\000" +
- "\002\004\003\000\002\004\003\000\002\004\003" });
-
- /** Access to production table. */
- public short[][] production_table() {return _production_table;}
-
- /** Parse-action table. */
- protected static final short[][] _action_table =
- unpackFromStrings(new String[] {
- "\000\u0194\000\216\006\110\010\105\011\144\012\116\024" +
- "\024\025\010\027\077\030\125\033\100\034\126\036\045" +
- "\037\163\040\153\041\054\042\004\043\046\044\012\045" +
- "\023\046\014\047\034\050\117\051\075\052\067\053\071" +
- "\054\205\055\037\056\052\057\006\060\017\061\120\062" +
- "\106\063\076\064\111\065\131\066\101\067\055\070\162" +
- "\071\025\072\005\073\142\074\161\075\143\076\115\077" +
- "\150\100\121\101\176\102\202\103\164\104\053\105\155" +
- "\106\060\107\122\110\200\111\152\112\141\113\134\114" +
- "\027\115\021\116\056\117\133\120\147\121\064\122\057" +
- "\123\063\124\160\125\040\126\042\127\113\130\174\131" +
- "\132\001\002\000\134\002\uff41\004\uff41\005\uff41\006\uff0a" +
- "\007\uff41\010\uff41\011\uff41\012\uff41\013\uff41\014\uff41\015" +
- "\uff41\016\uff41\017\uff41\020\uff41\021\uff41\022\uff41\023\uff41" +
- "\024\uff41\025\uff41\026\u0196\031\uff41\032\uff41\053\uff41\054" +
- "\uff41\055\uff41\056\uff41\057\uff41\060\uff41\061\uff41\062\uff41" +
- "\063\uff41\064\uff41\065\uff41\066\uff41\067\uff41\071\uff41\073" +
- "\uff41\074\uff41\075\uff41\100\uff41\101\uff41\102\uff41\107\uff41" +
- "\110\uff41\111\uff41\001\002\000\132\002\uff33\004\uff33\005" +
- "\uff33\006\ufefc\007\uff33\010\uff33\011\uff33\012\uff33\013\uff33" +
- "\014\uff33\015\uff33\016\uff33\017\uff33\020\uff33\021\uff33\022" +
- "\uff33\023\uff33\024\uff33\025\uff33\031\uff33\032\uff33\053\uff33" +
- "\054\uff33\055\uff33\056\uff33\057\uff33\060\uff33\061\uff33\062" +
- "\uff33\063\uff33\064\uff33\065\uff33\066\uff33\067\uff33\071\uff33" +
- "\073\uff33\074\uff33\075\uff33\100\uff33\101\uff33\102\uff33\107" +
- "\uff33\110\uff33\111\uff33\001\002\000\132\002\uff11\004\uff11" +
- "\005\uff11\006\ufee6\007\uff11\010\uff11\011\uff11\012\uff11\013" +
- "\uff11\014\uff11\015\uff11\016\uff11\017\uff11\020\uff11\021\uff11" +
- "\022\uff11\023\uff11\024\uff11\025\uff11\031\uff11\032\uff11\053" +
- "\uff11\054\uff11\055\uff11\056\uff11\057\uff11\060\uff11\061\uff11" +
- "\062\uff11\063\uff11\064\uff11\065\uff11\066\uff11\067\uff11\071" +
- "\uff11\073\uff11\074\uff11\075\uff11\100\uff11\101\uff11\102\uff11" +
- "\107\uff11\110\uff11\111\uff11\001\002\000\126\002\uff8c\004" +
- "\uff8c\005\uff8c\007\uff8c\010\uff8c\011\uff8c\012\uff8c\013\uff8c" +
- "\014\uff8c\015\uff8c\016\uff8c\017\uff8c\020\uff8c\021\uff8c\022" +
- "\uff8c\023\uff8c\024\uff8c\025\uff8c\032\uff8c\053\uff8c\054\uff8c" +
- "\055\uff8c\056\uff8c\057\uff8c\060\uff8c\061\uff8c\062\uff8c\063" +
- "\uff8c\064\uff8c\065\uff8c\066\uff8c\067\uff8c\071\uff8c\073\uff8c" +
- "\074\uff8c\075\uff8c\100\uff8c\101\uff8c\102\uff8c\107\uff8c\110" +
- "\uff8c\111\uff8c\001\002\000\206\006\110\012\116\027\077" +
- "\030\125\033\100\034\126\036\045\037\163\040\153\041" +
- "\054\042\004\043\046\044\012\045\023\046\014\047\034" +
- "\050\117\051\075\052\067\053\071\054\205\055\037\056" +
- "\052\057\006\060\017\061\120\062\106\063\076\064\111" +
- "\065\131\066\101\067\055\070\162\071\025\072\005\073" +
- "\142\074\161\075\143\076\211\077\150\100\121\101\176" +
- "\102\202\103\213\104\207\105\212\106\060\107\122\110" +
- "\200\111\152\112\141\113\134\114\027\115\021\116\056" +
- "\117\133\120\147\121\064\122\057\123\063\124\160\125" +
- "\040\126\042\127\113\130\174\131\132\001\002\000\022" +
- "\002\ufffa\005\ufffa\007\ufffa\032\ufffa\100\ufffa\101\ufffa\107" +
- "\ufffa\111\u0193\001\002\000\134\002\uff3f\004\uff3f\005\uff3f" +
- "\006\uff08\007\uff3f\010\uff3f\011\uff3f\012\uff3f\013\uff3f\014" +
- "\uff3f\015\uff3f\016\uff3f\017\uff3f\020\uff3f\021\uff3f\022\uff3f" +
- "\023\uff3f\024\uff3f\025\uff3f\026\u0192\031\uff3f\032\uff3f\053" +
- "\uff3f\054\uff3f\055\uff3f\056\uff3f\057\uff3f\060\uff3f\061\uff3f" +
- "\062\uff3f\063\uff3f\064\uff3f\065\uff3f\066\uff3f\067\uff3f\071" +
- "\uff3f\073\uff3f\074\uff3f\075\uff3f\100\uff3f\101\uff3f\102\uff3f" +
- "\107\uff3f\110\uff3f\111\uff3f\001\002\000\164\012\116\036" +
- "\246\037\263\040\u0124\041\267\042\261\043\257\044\311" +
- "\045\241\046\310\047\276\050\235\051\273\052\275\053" +
- "\274\054\307\055\252\056\262\057\317\060\240\061\260" +
- "\062\256\063\271\064\277\065\314\066\234\067\305\070" +
- "\264\071\272\072\315\073\303\074\233\075\251\076\245" +
- "\077\254\100\266\101\265\102\302\103\236\104\301\105" +
- "\212\106\306\107\300\110\250\111\255\112\141\113\134" +
- "\114\027\115\021\116\056\117\133\120\147\121\064\122" +
- "\057\123\063\124\160\131\270\001\002\000\134\002\uff3d" +
- "\004\uff3d\005\uff3d\006\uff06\007\uff3d\010\uff3d\011\uff3d\012" +
- "\uff3d\013\uff3d\014\uff3d\015\uff3d\016\uff3d\017\uff3d\020\uff3d" +
- "\021\uff3d\022\uff3d\023\uff3d\024\uff3d\025\uff3d\026\u0190\031" +
- "\uff3d\032\uff3d\053\uff3d\054\uff3d\055\uff3d\056\uff3d\057\uff3d" +
- "\060\uff3d\061\uff3d\062\uff3d\063\uff3d\064\uff3d\065\uff3d\066" +
- "\uff3d\067\uff3d\071\uff3d\073\uff3d\074\uff3d\075\uff3d\100\uff3d" +
- "\101\uff3d\102\uff3d\107\uff3d\110\uff3d\111\uff3d\001\002\000" +
- "\004\002\u018f\001\002\000\120\002\uffd3\005\uffd3\007\uffd3" +
- "\010\uffd3\011\uffd3\012\uffd3\013\uffd3\014\uffd3\015\uffd3\016" +
- "\uffd3\017\uffd3\020\uffd3\021\uffd3\022\uffd3\023\uffd3\032\uffd3" +
- "\053\uffd3\054\uffd3\055\uffd3\056\uffd3\057\uffd3\060\uffd3\061" +
- "\uffd3\062\uffd3\063\uffd3\064\uffd3\065\uffd3\066\uffd3\067\uffd3" +
- "\071\uffd3\073\uffd3\074\u018c\075\uffd3\100\uffd3\101\uffd3\102" +
- "\uffd3\107\uffd3\110\uffd3\111\uffd3\001\002\000\132\002\uff10" +
- "\004\uff10\005\uff10\006\ufee5\007\uff10\010\uff10\011\uff10\012" +
- "\uff10\013\uff10\014\uff10\015\uff10\016\uff10\017\uff10\020\uff10" +
- "\021\uff10\022\uff10\023\uff10\024\uff10\025\uff10\031\uff10\032" +
- "\uff10\053\uff10\054\uff10\055\uff10\056\uff10\057\uff10\060\uff10" +
- "\061\uff10\062\uff10\063\uff10\064\uff10\065\uff10\066\uff10\067" +
- "\uff10\071\uff10\073\uff10\074\uff10\075\uff10\100\uff10\101\uff10" +
- "\102\uff10\107\uff10\110\uff10\111\uff10\001\002\000\112\002" +
- "\uffd9\005\uffd9\007\uffd9\010\uffd9\011\uffd9\012\uffd9\013\uffd9" +
- "\014\uffd9\015\uffd9\016\uffd9\017\uffd9\020\uffd9\021\uffd9\022" +
- "\uffd9\023\uffd9\032\uffd9\053\uffd9\054\uffd9\055\uffd9\056\uffd9" +
- "\057\uffd9\060\uffd9\061\uffd9\062\uffd9\063\uffd9\064\uffd9\065" +
- "\uffd9\066\uffd9\067\u0189\075\uffd9\100\uffd9\101\uffd9\102\uffd9" +
- "\107\uffd9\110\uffd9\111\uffd9\001\002\000\134\002\uff20\004" +
- "\uff20\005\uff20\006\u0181\007\uff20\010\uff20\011\uff20\012\uff20" +
- "\013\uff20\014\uff20\015\uff20\016\uff20\017\uff20\020\uff20\021" +
- "\uff20\022\uff20\023\uff20\024\uff20\025\uff20\031\uff20\032\uff20" +
- "\035\uff20\053\uff20\054\uff20\055\uff20\056\uff20\057\uff20\060" +
- "\uff20\061\uff20\062\uff20\063\uff20\064\uff20\065\uff20\066\uff20" +
- "\067\uff20\071\uff20\073\uff20\074\uff20\075\uff20\100\uff20\101" +
- "\uff20\102\uff20\107\uff20\110\uff20\111\uff20\001\002\000\126" +
- "\002\uff8b\004\uff8b\005\uff8b\007\uff8b\010\uff8b\011\uff8b\012" +
- "\uff8b\013\uff8b\014\uff8b\015\uff8b\016\uff8b\017\uff8b\020\uff8b" +
- "\021\uff8b\022\uff8b\023\uff8b\024\uff8b\025\uff8b\032\uff8b\053" +
- "\uff8b\054\uff8b\055\uff8b\056\uff8b\057\uff8b\060\uff8b\061\uff8b" +
- "\062\uff8b\063\uff8b\064\uff8b\065\uff8b\066\uff8b\067\uff8b\071" +
- "\uff8b\073\uff8b\074\uff8b\075\uff8b\100\uff8b\101\uff8b\102\uff8b" +
- "\107\uff8b\110\uff8b\111\uff8b\001\002\000\134\002\uff3e\004" +
- "\uff3e\005\uff3e\006\uff07\007\uff3e\010\uff3e\011\uff3e\012\uff3e" +
- "\013\uff3e\014\uff3e\015\uff3e\016\uff3e\017\uff3e\020\uff3e\021" +
- "\uff3e\022\uff3e\023\uff3e\024\uff3e\025\uff3e\026\u0180\031\uff3e" +
- "\032\uff3e\053\uff3e\054\uff3e\055\uff3e\056\uff3e\057\uff3e\060" +
- "\uff3e\061\uff3e\062\uff3e\063\uff3e\064\uff3e\065\uff3e\066\uff3e" +
- "\067\uff3e\071\uff3e\073\uff3e\074\uff3e\075\uff3e\100\uff3e\101" +
- "\uff3e\102\uff3e\107\uff3e\110\uff3e\111\uff3e\001\002\000\244" +
- "\002\uffbe\005\uffbe\006\110\007\uffbe\010\uffbe\011\uffbe\012" +
- "\116\013\uffbe\014\uffbe\015\uffbe\016\uffbe\017\uffbe\020\uffbe" +
- "\021\uffbe\022\uffbe\023\uffbe\027\077\030\125\032\uffbe\033" +
- "\100\034\126\036\045\037\163\040\153\041\054\042\004" +
- "\043\046\044\012\045\023\046\014\047\034\050\117\051" +
- "\075\052\067\053\071\054\205\055\037\056\052\057\006" +
- "\060\017\061\120\062\106\063\076\064\111\065\131\066" +
- "\101\067\055\070\162\071\025\072\005\073\142\074\161" +
- "\075\143\076\211\077\150\100\121\101\176\102\202\103" +
- "\213\104\207\105\212\106\060\107\122\110\200\111\152" +
- "\112\141\113\134\114\027\115\021\116\056\117\133\120" +
- "\147\121\064\122\057\123\063\124\160\125\040\126\042" +
- "\127\113\130\174\131\132\001\002\000\132\002\uff32\004" +
- "\uff32\005\uff32\006\ufefb\007\uff32\010\uff32\011\uff32\012\uff32" +
- "\013\uff32\014\uff32\015\uff32\016\uff32\017\uff32\020\uff32\021" +
- "\uff32\022\uff32\023\uff32\024\uff32\025\uff32\031\uff32\032\uff32" +
- "\053\uff32\054\uff32\055\uff32\056\uff32\057\uff32\060\uff32\061" +
- "\uff32\062\uff32\063\uff32\064\uff32\065\uff32\066\uff32\067\uff32" +
- "\071\uff32\073\uff32\074\uff32\075\uff32\100\uff32\101\uff32\102" +
- "\uff32\107\uff32\110\uff32\111\uff32\001\002\000\126\002\uff90" +
- "\004\uff90\005\uff90\007\uff90\010\uff90\011\uff90\012\uff90\013" +
- "\uff90\014\uff90\015\uff90\016\uff90\017\uff90\020\uff90\021\uff90" +
- "\022\uff90\023\uff90\024\uff90\025\uff90\032\uff90\053\uff90\054" +
- "\uff90\055\uff90\056\uff90\057\uff90\060\uff90\061\uff90\062\uff90" +
- "\063\uff90\064\uff90\065\uff90\066\uff90\067\uff90\071\uff90\073" +
- "\uff90\074\uff90\075\uff90\100\uff90\101\uff90\102\uff90\107\uff90" +
- "\110\uff90\111\uff90\001\002\000\134\002\uff1c\004\uff1c\005" +
- "\uff1c\006\u017d\007\uff1c\010\uff1c\011\uff1c\012\uff1c\013\uff1c" +
- "\014\uff1c\015\uff1c\016\uff1c\017\uff1c\020\uff1c\021\uff1c\022" +
- "\uff1c\023\uff1c\024\uff1c\025\uff1c\031\uff1c\032\uff1c\035\uff1c" +
- "\053\uff1c\054\uff1c\055\uff1c\056\uff1c\057\uff1c\060\uff1c\061" +
- "\uff1c\062\uff1c\063\uff1c\064\uff1c\065\uff1c\066\uff1c\067\uff1c" +
- "\071\uff1c\073\uff1c\074\uff1c\075\uff1c\100\uff1c\101\uff1c\102" +
- "\uff1c\107\uff1c\110\uff1c\111\uff1c\001\002\000\130\002\uff76" +
- "\004\uff76\005\uff76\007\uff76\010\uff76\011\uff76\012\uff76\013" +
- "\uff76\014\uff76\015\uff76\016\uff76\017\uff76\020\uff76\021\uff76" +
- "\022\uff76\023\uff76\024\uff76\025\uff76\032\uff76\035\uff76\053" +
- "\uff76\054\uff76\055\uff76\056\uff76\057\uff76\060\uff76\061\uff76" +
- "\062\uff76\063\uff76\064\uff76\065\uff76\066\uff76\067\uff76\071" +
- "\uff76\073\uff76\074\uff76\075\uff76\100\uff76\101\uff76\102\uff76" +
- "\107\uff76\110\uff76\111\uff76\001\002\000\130\002\uff70\004" +
- "\uff70\005\uff70\007\uff70\010\uff70\011\uff70\012\uff70\013\uff70" +
- "\014\uff70\015\uff70\016\uff70\017\uff70\020\uff70\021\uff70\022" +
- "\uff70\023\uff70\024\uff70\025\uff70\032\uff70\035\uff70\053\uff70" +
- "\054\uff70\055\uff70\056\uff70\057\uff70\060\uff70\061\uff70\062" +
- "\uff70\063\uff70\064\uff70\065\uff70\066\uff70\067\uff70\071\uff70" +
- "\073\uff70\074\uff70\075\uff70\100\uff70\101\uff70\102\uff70\107" +
- "\uff70\110\uff70\111\uff70\001\002\000\070\002\uffe9\005\uffe9" +
- "\007\uffe9\010\u0178\011\u0179\014\uffe9\015\uffe9\016\uffe9\017" +
- "\uffe9\020\uffe9\021\uffe9\022\uffe9\023\uffe9\032\uffe9\053\uffe9" +
- "\054\uffe9\055\uffe9\056\uffe9\057\uffe9\060\uffe9\075\uffe9\100" +
- "\uffe9\101\uffe9\102\u0177\107\uffe9\110\uffe9\111\uffe9\001\002" +
- "\000\124\002\uffb7\005\uffb7\007\uffb7\010\uffb7\011\uffb7\012" +
- "\uffb7\013\uffb7\014\uffb7\015\uffb7\016\uffb7\017\uffb7\020\uffb7" +
- "\021\uffb7\022\uffb7\023\uffb7\024\uffb7\025\uffb7\032\uffb7\053" +
- "\uffb7\054\uffb7\055\uffb7\056\uffb7\057\uffb7\060\uffb7\061\uffb7" +
- "\062\uffb7\063\uffb7\064\uffb7\065\uffb7\066\uffb7\067\uffb7\071" +
- "\uffb7\073\uffb7\074\uffb7\075\uffb7\100\uffb7\101\uffb7\102\uffb7" +
- "\107\uffb7\110\uffb7\111\uffb7\001\002\000\134\002\uff3c\004" +
- "\uff3c\005\uff3c\006\uff05\007\uff3c\010\uff3c\011\uff3c\012\uff3c" +
- "\013\uff3c\014\uff3c\015\uff3c\016\uff3c\017\uff3c\020\uff3c\021" +
- "\uff3c\022\uff3c\023\uff3c\024\uff3c\025\uff3c\026\u0176\031\uff3c" +
- "\032\uff3c\053\uff3c\054\uff3c\055\uff3c\056\uff3c\057\uff3c\060" +
- "\uff3c\061\uff3c\062\uff3c\063\uff3c\064\uff3c\065\uff3c\066\uff3c" +
- "\067\uff3c\071\uff3c\073\uff3c\074\uff3c\075\uff3c\100\uff3c\101" +
- "\uff3c\102\uff3c\107\uff3c\110\uff3c\111\uff3c\001\002\000\004" +
- "\006\uff49\001\002\000\164\012\116\036\246\037\263\040" +
- "\u0124\041\267\042\261\043\257\044\311\045\241\046\310" +
- "\047\276\050\235\051\273\052\275\053\274\054\307\055" +
- "\252\056\262\057\317\060\240\061\260\062\256\063\271" +
- "\064\277\065\314\066\234\067\305\070\264\071\272\072" +
- "\315\073\303\074\233\075\251\076\245\077\254\100\266" +
- "\101\265\102\302\103\236\104\301\105\212\106\306\107" +
- "\300\110\250\111\255\112\141\113\134\114\027\115\021" +
- "\116\056\117\133\120\147\121\064\122\057\123\063\124" +
- "\160\131\270\001\002\000\132\002\uff13\004\uff13\005\uff13" +
- "\006\ufee8\007\uff13\010\uff13\011\uff13\012\uff13\013\uff13\014" +
- "\uff13\015\uff13\016\uff13\017\uff13\020\uff13\021\uff13\022\uff13" +
- "\023\uff13\024\uff13\025\uff13\031\uff13\032\uff13\053\uff13\054" +
- "\uff13\055\uff13\056\uff13\057\uff13\060\uff13\061\uff13\062\uff13" +
- "\063\uff13\064\uff13\065\uff13\066\uff13\067\uff13\071\uff13\073" +
- "\uff13\074\uff13\075\uff13\100\uff13\101\uff13\102\uff13\107\uff13" +
- "\110\uff13\111\uff13\001\002\000\126\002\uff52\004\uff52\005" +
- "\uff52\007\uff52\010\uff52\011\uff52\012\uff52\013\uff52\014\uff52" +
- "\015\uff52\016\uff52\017\uff52\020\uff52\021\uff52\022\uff52\023" +
- "\uff52\024\uff52\025\uff52\032\uff52\053\uff52\054\uff52\055\uff52" +
- "\056\uff52\057\uff52\060\uff52\061\uff52\062\uff52\063\uff52\064" +
- "\uff52\065\uff52\066\uff52\067\uff52\071\uff52\073\uff52\074\uff52" +
- "\075\uff52\100\uff52\101\uff52\102\uff52\107\uff52\110\uff52\111" +
- "\uff52\001\002\000\116\002\uffd5\005\uffd5\007\uffd5\010\uffd5" +
- "\011\uffd5\012\uffd5\013\uffd5\014\uffd5\015\uffd5\016\uffd5\017" +
- "\uffd5\020\uffd5\021\uffd5\022\uffd5\023\uffd5\032\uffd5\053\uffd5" +
- "\054\uffd5\055\uffd5\056\uffd5\057\uffd5\060\uffd5\061\uffd5\062" +
- "\uffd5\063\uffd5\064\uffd5\065\uffd5\066\uffd5\067\uffd5\071\uffd5" +
- "\073\u0170\075\uffd5\100\uffd5\101\uffd5\102\uffd5\107\uffd5\110" +
- "\uffd5\111\uffd5\001\002\000\126\002\uff50\004\uff50\005\uff50" +
- "\007\uff50\010\uff50\011\uff50\012\uff50\013\uff50\014\uff50\015" +
- "\uff50\016\uff50\017\uff50\020\uff50\021\uff50\022\uff50\023\uff50" +
- "\024\uff50\025\uff50\032\uff50\053\uff50\054\uff50\055\uff50\056" +
- "\uff50\057\uff50\060\uff50\061\uff50\062\uff50\063\uff50\064\uff50" +
- "\065\uff50\066\uff50\067\uff50\071\uff50\073\uff50\074\uff50\075" +
- "\uff50\100\uff50\101\uff50\102\uff50\107\uff50\110\uff50\111\uff50" +
- "\001\002\000\020\002\ufffc\005\ufffc\007\ufffc\032\ufffc\100" +
- "\ufffc\101\ufffc\107\ufffc\001\002\000\006\002\001\032\224" +
- "\001\002\000\134\002\uff45\004\uff45\005\uff45\006\uff0d\007" +
- "\uff45\010\uff45\011\uff45\012\uff45\013\uff45\014\uff45\015\uff45" +
- "\016\uff45\017\uff45\020\uff45\021\uff45\022\uff45\023\uff45\024" +
- "\uff45\025\uff45\026\u016f\031\uff45\032\uff45\053\uff45\054\uff45" +
- "\055\uff45\056\uff45\057\uff45\060\uff45\061\uff45\062\uff45\063" +
- "\uff45\064\uff45\065\uff45\066\uff45\067\uff45\071\uff45\073\uff45" +
- "\074\uff45\075\uff45\100\uff45\101\uff45\102\uff45\107\uff45\110" +
- "\uff45\111\uff45\001\002\000\134\002\uff40\004\uff40\005\uff40" +
- "\006\uff09\007\uff40\010\uff40\011\uff40\012\uff40\013\uff40\014" +
- "\uff40\015\uff40\016\uff40\017\uff40\020\uff40\021\uff40\022\uff40" +
- "\023\uff40\024\uff40\025\uff40\026\u016e\031\uff40\032\uff40\053" +
- "\uff40\054\uff40\055\uff40\056\uff40\057\uff40\060\uff40\061\uff40" +
- "\062\uff40\063\uff40\064\uff40\065\uff40\066\uff40\067\uff40\071" +
- "\uff40\073\uff40\074\uff40\075\uff40\100\uff40\101\uff40\102\uff40" +
- "\107\uff40\110\uff40\111\uff40\001\002\000\130\002\uff4d\004" +
- "\uff4d\005\uff4d\007\uff4d\010\uff4d\011\uff4d\012\uff4d\013\uff4d" +
- "\014\uff4d\015\uff4d\016\uff4d\017\uff4d\020\uff4d\021\uff4d\022" +
- "\uff4d\023\uff4d\024\uff4d\025\uff4d\031\u016c\032\uff4d\053\uff4d" +
- "\054\uff4d\055\uff4d\056\uff4d\057\uff4d\060\uff4d\061\uff4d\062" +
- "\uff4d\063\uff4d\064\uff4d\065\uff4d\066\uff4d\067\uff4d\071\uff4d" +
- "\073\uff4d\074\uff4d\075\uff4d\100\uff4d\101\uff4d\102\uff4d\107" +
- "\uff4d\110\uff4d\111\uff4d\001\002\000\110\002\uffdc\005\uffdc" +
- "\007\uffdc\010\uffdc\011\uffdc\012\uffdc\013\uffdc\014\uffdc\015" +
- "\uffdc\016\uffdc\017\uffdc\020\uffdc\021\uffdc\022\uffdc\023\uffdc" +
- "\032\uffdc\053\uffdc\054\uffdc\055\uffdc\056\uffdc\057\uffdc\060" +
- "\uffdc\061\uffdc\062\uffdc\063\uffdc\064\uffdc\065\uffdc\066\uffdc" +
- "\075\uffdc\100\uffdc\101\uffdc\102\uffdc\107\uffdc\110\uffdc\111" +
- "\uffdc\001\002\000\104\002\uffe4\005\uffe4\007\uffe4\010\uffe4" +
- "\011\uffe4\012\uffe4\013\u010e\014\uffe4\015\uffe4\016\uffe4\017" +
- "\uffe4\020\uffe4\021\uffe4\022\uffe4\023\uffe4\032\uffe4\053\uffe4" +
- "\054\uffe4\055\uffe4\056\uffe4\057\uffe4\060\uffe4\061\uffe4\062" +
- "\uffe4\063\uffe4\064\u010d\075\uffe4\100\uffe4\101\uffe4\102\uffe4" +
- "\107\uffe4\110\uffe4\111\uffe4\001\002\000\132\002\uff12\004" +
- "\uff12\005\uff12\006\ufee7\007\uff12\010\uff12\011\uff12\012\uff12" +
- "\013\uff12\014\uff12\015\uff12\016\uff12\017\uff12\020\uff12\021" +
- "\uff12\022\uff12\023\uff12\024\uff12\025\uff12\031\uff12\032\uff12" +
- "\053\uff12\054\uff12\055\uff12\056\uff12\057\uff12\060\uff12\061" +
- "\uff12\062\uff12\063\uff12\064\uff12\065\uff12\066\uff12\067\uff12" +
- "\071\uff12\073\uff12\074\uff12\075\uff12\100\uff12\101\uff12\102" +
- "\uff12\107\uff12\110\uff12\111\uff12\001\002\000\134\002\uff29" +
- "\004\uff29\005\uff29\006\ufef2\007\uff29\010\uff29\011\uff29\012" +
- "\uff29\013\uff29\014\uff29\015\uff29\016\uff29\017\uff29\020\uff29" +
- "\021\uff29\022\uff29\023\uff29\024\uff29\025\uff29\031\uff29\032" +
- "\uff29\033\u0168\053\uff29\054\uff29\055\uff29\056\uff29\057\uff29" +
- "\060\uff29\061\uff29\062\uff29\063\uff29\064\uff29\065\uff29\066" +
- "\uff29\067\uff29\071\uff29\073\uff29\074\uff29\075\uff29\100\uff29" +
- "\101\uff29\102\uff29\107\uff29\110\uff29\111\uff29\001\002\000" +
- "\134\002\uff42\004\uff42\005\uff42\006\uff0b\007\uff42\010\uff42" +
- "\011\uff42\012\uff42\013\uff42\014\uff42\015\uff42\016\uff42\017" +
- "\uff42\020\uff42\021\uff42\022\uff42\023\uff42\024\uff42\025\uff42" +
- "\026\u0167\031\uff42\032\uff42\053\uff42\054\uff42\055\uff42\056" +
- "\uff42\057\uff42\060\uff42\061\uff42\062\uff42\063\uff42\064\uff42" +
- "\065\uff42\066\uff42\067\uff42\071\uff42\073\uff42\074\uff42\075" +
- "\uff42\100\uff42\101\uff42\102\uff42\107\uff42\110\uff42\111\uff42" +
- "\001\002\000\132\002\uff35\004\uff35\005\uff35\006\ufefe\007" +
- "\uff35\010\uff35\011\uff35\012\uff35\013\uff35\014\uff35\015\uff35" +
- "\016\uff35\017\uff35\020\uff35\021\uff35\022\uff35\023\uff35\024" +
- "\uff35\025\uff35\031\uff35\032\uff35\053\uff35\054\uff35\055\uff35" +
- "\056\uff35\057\uff35\060\uff35\061\uff35\062\uff35\063\uff35\064" +
- "\uff35\065\uff35\066\uff35\067\uff35\071\uff35\073\uff35\074\uff35" +
- "\075\uff35\100\uff35\101\uff35\102\uff35\107\uff35\110\uff35\111" +
- "\uff35\001\002\000\134\002\uff18\004\uff18\005\uff18\006\u0165" +
- "\007\uff18\010\uff18\011\uff18\012\uff18\013\uff18\014\uff18\015" +
- "\uff18\016\uff18\017\uff18\020\uff18\021\uff18\022\uff18\023\uff18" +
- "\024\uff18\025\uff18\031\uff18\032\uff18\035\uff18\053\uff18\054" +
- "\uff18\055\uff18\056\uff18\057\uff18\060\uff18\061\uff18\062\uff18" +
- "\063\uff18\064\uff18\065\uff18\066\uff18\067\uff18\071\uff18\073" +
- "\uff18\074\uff18\075\uff18\100\uff18\101\uff18\102\uff18\107\uff18" +
- "\110\uff18\111\uff18\001\002\000\134\002\uff1f\004\uff1f\005" +
- "\uff1f\006\u015a\007\uff1f\010\uff1f\011\uff1f\012\uff1f\013\uff1f" +
- "\014\uff1f\015\uff1f\016\uff1f\017\uff1f\020\uff1f\021\uff1f\022" +
- "\uff1f\023\uff1f\024\uff1f\025\uff1f\031\uff1f\032\uff1f\035\uff1f" +
- "\053\uff1f\054\uff1f\055\uff1f\056\uff1f\057\uff1f\060\uff1f\061" +
- "\uff1f\062\uff1f\063\uff1f\064\uff1f\065\uff1f\066\uff1f\067\uff1f" +
- "\071\uff1f\073\uff1f\074\uff1f\075\uff1f\100\uff1f\101\uff1f\102" +
- "\uff1f\107\uff1f\110\uff1f\111\uff1f\001\002\000\132\002\uff27" +
- "\004\uff27\005\uff27\006\ufef1\007\uff27\010\uff27\011\uff27\012" +
- "\uff27\013\uff27\014\uff27\015\uff27\016\uff27\017\uff27\020\uff27" +
- "\021\uff27\022\uff27\023\uff27\024\uff27\025\uff27\031\uff27\032" +
- "\uff27\053\uff27\054\uff27\055\uff27\056\uff27\057\uff27\060\uff27" +
- "\061\uff27\062\uff27\063\uff27\064\uff27\065\uff27\066\uff27\067" +
- "\uff27\071\uff27\073\uff27\074\uff27\075\uff27\100\uff27\101\uff27" +
- "\102\uff27\107\uff27\110\uff27\111\uff27\001\002\000\126\002" +
- "\uff91\004\uff91\005\uff91\007\uff91\010\uff91\011\uff91\012\uff91" +
- "\013\uff91\014\uff91\015\uff91\016\uff91\017\uff91\020\uff91\021" +
- "\uff91\022\uff91\023\uff91\024\uff91\025\uff91\032\uff91\053\uff91" +
- "\054\uff91\055\uff91\056\uff91\057\uff91\060\uff91\061\uff91\062" +
- "\uff91\063\uff91\064\uff91\065\uff91\066\uff91\067\uff91\071\uff91" +
- "\073\uff91\074\uff91\075\uff91\100\uff91\101\uff91\102\uff91\107" +
- "\uff91\110\uff91\111\uff91\001\002\000\126\002\uff96\004\uff96" +
- "\005\uff96\007\uff96\010\uff96\011\uff96\012\uff96\013\uff96\014" +
- "\uff96\015\uff96\016\uff96\017\uff96\020\uff96\021\uff96\022\uff96" +
- "\023\uff96\024\uff96\025\uff96\032\uff96\053\uff96\054\uff96\055" +
- "\uff96\056\uff96\057\uff96\060\uff96\061\uff96\062\uff96\063\uff96" +
- "\064\uff96\065\uff96\066\uff96\067\uff96\071\uff96\073\uff96\074" +
- "\uff96\075\uff96\100\uff96\101\uff96\102\uff96\107\uff96\110\uff96" +
- "\111\uff96\001\002\000\134\002\uff19\004\uff19\005\uff19\006" +
- "\u0154\007\uff19\010\uff19\011\uff19\012\uff19\013\uff19\014\uff19" +
- "\015\uff19\016\uff19\017\uff19\020\uff19\021\uff19\022\uff19\023" +
- "\uff19\024\uff19\025\uff19\031\uff19\032\uff19\035\uff19\053\uff19" +
- "\054\uff19\055\uff19\056\uff19\057\uff19\060\uff19\061\uff19\062" +
- "\uff19\063\uff19\064\uff19\065\uff19\066\uff19\067\uff19\071\uff19" +
- "\073\uff19\074\uff19\075\uff19\100\uff19\101\uff19\102\uff19\107" +
- "\uff19\110\uff19\111\uff19\001\002\000\134\002\uff1a\004\uff1a" +
- "\005\uff1a\006\u0150\007\uff1a\010\uff1a\011\uff1a\012\uff1a\013" +
- "\uff1a\014\uff1a\015\uff1a\016\uff1a\017\uff1a\020\uff1a\021\uff1a" +
- "\022\uff1a\023\uff1a\024\uff1a\025\uff1a\031\uff1a\032\uff1a\035" +
- "\uff1a\053\uff1a\054\uff1a\055\uff1a\056\uff1a\057\uff1a\060\uff1a" +
- "\061\uff1a\062\uff1a\063\uff1a\064\uff1a\065\uff1a\066\uff1a\067" +
- "\uff1a\071\uff1a\073\uff1a\074\uff1a\075\uff1a\100\uff1a\101\uff1a" +
- "\102\uff1a\107\uff1a\110\uff1a\111\uff1a\001\002\000\114\002" +
- "\uffd7\005\uffd7\007\uffd7\010\uffd7\011\uffd7\012\uffd7\013\uffd7" +
- "\014\uffd7\015\uffd7\016\uffd7\017\uffd7\020\uffd7\021\uffd7\022" +
- "\uffd7\023\uffd7\032\uffd7\053\uffd7\054\uffd7\055\uffd7\056\uffd7" +
- "\057\uffd7\060\uffd7\061\uffd7\062\uffd7\063\uffd7\064\uffd7\065" +
- "\uffd7\066\uffd7\067\uffd7\071\u013f\075\uffd7\100\uffd7\101\uffd7" +
- "\102\uffd7\107\uffd7\110\uffd7\111\uffd7\001\002\000\126\002" +
- "\uff9f\004\uff9f\005\uff9f\007\uff9f\010\uff9f\011\uff9f\012\uff9f" +
- "\013\uff9f\014\uff9f\015\uff9f\016\uff9f\017\uff9f\020\uff9f\021" +
- "\uff9f\022\uff9f\023\uff9f\024\uff9f\025\uff9f\032\uff9f\053\uff9f" +
- "\054\uff9f\055\uff9f\056\uff9f\057\uff9f\060\uff9f\061\uff9f\062" +
- "\uff9f\063\uff9f\064\uff9f\065\uff9f\066\uff9f\067\uff9f\071\uff9f" +
- "\073\uff9f\074\uff9f\075\uff9f\100\uff9f\101\uff9f\102\uff9f\107" +
- "\uff9f\110\uff9f\111\uff9f\001\002\000\134\002\uff39\004\uff39" +
- "\005\uff39\006\uff02\007\uff39\010\uff39\011\uff39\012\uff39\013" +
- "\uff39\014\uff39\015\uff39\016\uff39\017\uff39\020\uff39\021\uff39" +
- "\022\uff39\023\uff39\024\uff39\025\uff39\026\u013e\031\uff39\032" +
- "\uff39\053\uff39\054\uff39\055\uff39\056\uff39\057\uff39\060\uff39" +
- "\061\uff39\062\uff39\063\uff39\064\uff39\065\uff39\066\uff39\067" +
- "\uff39\071\uff39\073\uff39\074\uff39\075\uff39\100\uff39\101\uff39" +
- "\102\uff39\107\uff39\110\uff39\111\uff39\001\002\000\024\002" +
- "\uffef\005\uffef\007\uffef\032\uffef\100\uffef\101\uffef\107\uffef" +
- "\110\uffef\111\uffef\001\002\000\132\002\uff15\004\uff15\005" +
- "\uff15\006\ufeea\007\uff15\010\uff15\011\uff15\012\uff15\013\uff15" +
- "\014\uff15\015\uff15\016\uff15\017\uff15\020\uff15\021\uff15\022" +
- "\uff15\023\uff15\024\uff15\025\uff15\031\uff15\032\uff15\053\uff15" +
- "\054\uff15\055\uff15\056\uff15\057\uff15\060\uff15\061\uff15\062" +
- "\uff15\063\uff15\064\uff15\065\uff15\066\uff15\067\uff15\071\uff15" +
- "\073\uff15\074\uff15\075\uff15\100\uff15\101\uff15\102\uff15\107" +
- "\uff15\110\uff15\111\uff15\001\002\000\062\002\uffed\005\uffed" +
- "\007\uffed\014\u0131\015\u0132\016\u0133\017\u012f\020\u012d\021" +
- "\u013a\022\u0137\023\u012c\032\uffed\053\u0136\054\u012b\055\u012a" +
- "\056\u0130\057\u012e\060\u0135\075\u0129\100\uffed\101\uffed\107" +
- "\uffed\110\uffed\111\uffed\001\002\000\126\002\uff9c\004\uff9c" +
- "\005\uff9c\007\uff9c\010\uff9c\011\uff9c\012\uff9c\013\uff9c\014" +
- "\uff9c\015\uff9c\016\uff9c\017\uff9c\020\uff9c\021\uff9c\022\uff9c" +
- "\023\uff9c\024\uff9c\025\uff9c\032\uff9c\053\uff9c\054\uff9c\055" +
- "\uff9c\056\uff9c\057\uff9c\060\uff9c\061\uff9c\062\uff9c\063\uff9c" +
- "\064\uff9c\065\uff9c\066\uff9c\067\uff9c\071\uff9c\073\uff9c\074" +
- "\uff9c\075\uff9c\100\uff9c\101\uff9c\102\uff9c\107\uff9c\110\uff9c" +
- "\111\uff9c\001\002\000\020\002\ufffb\005\ufffb\007\ufffb\032" +
- "\ufffb\100\ufffb\101\ufffb\107\ufffb\001\002\000\134\002\uff3a" +
- "\004\uff3a\005\uff3a\006\uff03\007\uff3a\010\uff3a\011\uff3a\012" +
- "\uff3a\013\uff3a\014\uff3a\015\uff3a\016\uff3a\017\uff3a\020\uff3a" +
- "\021\uff3a\022\uff3a\023\uff3a\024\uff3a\025\uff3a\026\u0128\031" +
- "\uff3a\032\uff3a\053\uff3a\054\uff3a\055\uff3a\056\uff3a\057\uff3a" +
- "\060\uff3a\061\uff3a\062\uff3a\063\uff3a\064\uff3a\065\uff3a\066" +
- "\uff3a\067\uff3a\071\uff3a\073\uff3a\074\uff3a\075\uff3a\100\uff3a" +
- "\101\uff3a\102\uff3a\107\uff3a\110\uff3a\111\uff3a\001\002\000" +
- "\132\002\uff16\004\uff16\005\uff16\006\ufeeb\007\uff16\010\uff16" +
- "\011\uff16\012\uff16\013\uff16\014\uff16\015\uff16\016\uff16\017" +
- "\uff16\020\uff16\021\uff16\022\uff16\023\uff16\024\uff16\025\uff16" +
- "\031\uff16\032\uff16\053\uff16\054\uff16\055\uff16\056\uff16\057" +
- "\uff16\060\uff16\061\uff16\062\uff16\063\uff16\064\uff16\065\uff16" +
- "\066\uff16\067\uff16\071\uff16\073\uff16\074\uff16\075\uff16\100" +
- "\uff16\101\uff16\102\uff16\107\uff16\110\uff16\111\uff16\001\002" +
- "\000\164\012\116\036\246\037\263\040\u0124\041\267\042" +
- "\261\043\257\044\311\045\241\046\310\047\276\050\235" +
- "\051\273\052\275\053\274\054\307\055\252\056\262\057" +
- "\317\060\240\061\260\062\256\063\271\064\277\065\314" +
- "\066\234\067\305\070\264\071\272\072\315\073\303\074" +
- "\233\075\251\076\245\077\254\100\266\101\265\102\302" +
- "\103\236\104\301\105\212\106\306\107\300\110\250\111" +
- "\255\112\141\113\134\114\027\115\021\116\056\117\133" +
- "\120\147\121\064\122\057\123\063\124\160\131\270\001" +
- "\002\000\162\036\246\037\263\040\316\041\267\042\261" +
- "\043\257\044\311\045\241\046\310\047\276\050\235\051" +
- "\273\052\275\053\274\054\307\055\252\056\262\057\317" +
- "\060\240\061\260\062\256\063\271\064\277\065\314\066" +
- "\234\067\305\070\264\071\272\072\315\073\303\074\233" +
- "\075\251\076\245\077\254\100\266\101\265\102\302\103" +
- "\236\104\301\105\212\106\306\107\300\110\250\111\255" +
- "\112\141\113\134\114\320\115\312\116\313\117\243\120" +
- "\247\121\242\122\304\123\253\124\160\131\270\001\002" +
- "\000\132\002\uff36\004\uff36\005\uff36\006\ufeff\007\uff36\010" +
- "\uff36\011\uff36\012\uff36\013\uff36\014\uff36\015\uff36\016\uff36" +
- "\017\uff36\020\uff36\021\uff36\022\uff36\023\uff36\024\uff36\025" +
- "\uff36\031\uff36\032\uff36\053\uff36\054\uff36\055\uff36\056\uff36" +
- "\057\uff36\060\uff36\061\uff36\062\uff36\063\uff36\064\uff36\065" +
- "\uff36\066\uff36\067\uff36\071\uff36\073\uff36\074\uff36\075\uff36" +
- "\100\uff36\101\uff36\102\uff36\107\uff36\110\uff36\111\uff36\001" +
- "\002\000\124\002\uffb6\005\uffb6\007\uffb6\010\uffb6\011\uffb6" +
- "\012\uffb6\013\uffb6\014\uffb6\015\uffb6\016\uffb6\017\uffb6\020" +
- "\uffb6\021\uffb6\022\uffb6\023\uffb6\024\uffb6\025\uffb6\032\uffb6" +
- "\053\uffb6\054\uffb6\055\uffb6\056\uffb6\057\uffb6\060\uffb6\061" +
- "\uffb6\062\uffb6\063\uffb6\064\uffb6\065\uffb6\066\uffb6\067\uffb6" +
- "\071\uffb6\073\uffb6\074\uffb6\075\uffb6\100\uffb6\101\uffb6\102" +
- "\uffb6\107\uffb6\110\uffb6\111\uffb6\001\002\000\130\002\uff71" +
- "\004\uff71\005\uff71\007\uff71\010\uff71\011\uff71\012\uff71\013" +
- "\uff71\014\uff71\015\uff71\016\uff71\017\uff71\020\uff71\021\uff71" +
- "\022\uff71\023\uff71\024\uff71\025\uff71\032\uff71\035\uff71\053" +
- "\uff71\054\uff71\055\uff71\056\uff71\057\uff71\060\uff71\061\uff71" +
- "\062\uff71\063\uff71\064\uff71\065\uff71\066\uff71\067\uff71\071" +
- "\uff71\073\uff71\074\uff71\075\uff71\100\uff71\101\uff71\102\uff71" +
- "\107\uff71\110\uff71\111\uff71\001\002\000\012\002\uffff\005" +
- "\uffff\007\uffff\032\uffff\001\002\000\216\006\110\010\105" +
- "\011\144\012\116\024\024\025\010\027\077\030\125\033" +
- "\100\034\126\036\045\037\163\040\153\041\054\042\004" +
- "\043\046\044\012\045\023\046\014\047\034\050\117\051" +
- "\075\052\067\053\071\054\205\055\037\056\052\057\006" +
- "\060\017\061\120\062\106\063\076\064\111\065\131\066" +
- "\101\067\055\070\162\071\025\072\005\073\142\074\161" +
- "\075\143\076\211\077\150\100\121\101\176\102\202\103" +
- "\213\104\207\105\212\106\060\107\122\110\200\111\152" +
- "\112\141\113\134\114\027\115\021\116\056\117\133\120" +
- "\147\121\064\122\057\123\063\124\160\125\040\126\042" +
- "\127\113\130\174\131\132\001\002\000\132\002\uff22\004" +
- "\uff22\005\uff22\006\ufeec\007\uff22\010\uff22\011\uff22\012\uff22" +
- "\013\uff22\014\uff22\015\uff22\016\uff22\017\uff22\020\uff22\021" +
- "\uff22\022\uff22\023\uff22\024\uff22\025\uff22\031\uff22\032\uff22" +
- "\053\uff22\054\uff22\055\uff22\056\uff22\057\uff22\060\uff22\061" +
- "\uff22\062\uff22\063\uff22\064\uff22\065\uff22\066\uff22\067\uff22" +
- "\071\uff22\073\uff22\074\uff22\075\uff22\100\uff22\101\uff22\102" +
- "\uff22\107\uff22\110\uff22\111\uff22\001\002\000\126\002\uff96" +
- "\004\uff96\005\uff96\007\uff96\010\uff96\011\uff96\012\uff96\013" +
- "\uff96\014\uff96\015\uff96\016\uff96\017\uff96\020\uff96\021\uff96" +
- "\022\uff96\023\uff96\024\uff96\025\uff96\032\uff96\053\uff96\054" +
- "\uff96\055\uff96\056\uff96\057\uff96\060\uff96\061\uff96\062\uff96" +
- "\063\uff96\064\uff96\065\uff96\066\uff96\067\uff96\071\uff96\073" +
- "\uff96\074\uff96\075\uff96\100\uff96\101\uff96\102\uff96\107\uff96" +
- "\110\uff96\111\uff96\001\002\000\220\006\110\007\u011e\010" +
- "\105\011\144\012\116\024\024\025\010\027\077\030\125" +
- "\033\100\034\126\036\045\037\163\040\153\041\054\042" +
- "\004\043\046\044\012\045\023\046\014\047\034\050\117" +
- "\051\075\052\067\053\071\054\205\055\037\056\052\057" +
- "\006\060\017\061\120\062\106\063\076\064\111\065\131" +
- "\066\101\067\055\070\162\071\025\072\005\073\142\074" +
- "\161\075\143\076\115\077\150\100\121\101\176\102\202" +
- "\103\164\104\053\105\155\106\060\107\122\110\200\111" +
- "\152\112\141\113\134\114\027\115\021\116\056\117\133" +
- "\120\147\121\064\122\057\123\063\124\160\125\040\126" +
- "\042\127\113\130\174\131\132\001\002\000\132\002\uff38" +
- "\004\uff38\005\uff38\006\uff01\007\uff38\010\uff38\011\uff38\012" +
- "\uff38\013\uff38\014\uff38\015\uff38\016\uff38\017\uff38\020\uff38" +
- "\021\uff38\022\uff38\023\uff38\024\uff38\025\uff38\031\uff38\032" +
- "\uff38\053\uff38\054\uff38\055\uff38\056\uff38\057\uff38\060\uff38" +
- "\061\uff38\062\uff38\063\uff38\064\uff38\065\uff38\066\uff38\067" +
- "\uff38\071\uff38\073\uff38\074\uff38\075\uff38\100\uff38\101\uff38" +
- "\102\uff38\107\uff38\110\uff38\111\uff38\001\002\000\126\002" +
- "\uff9d\004\uff9d\005\uff9d\007\uff9d\010\uff9d\011\uff9d\012\uff9d" +
- "\013\uff9d\014\uff9d\015\uff9d\016\uff9d\017\uff9d\020\uff9d\021" +
- "\uff9d\022\uff9d\023\uff9d\024\uff9d\025\uff9d\032\uff9d\053\uff9d" +
- "\054\uff9d\055\uff9d\056\uff9d\057\uff9d\060\uff9d\061\uff9d\062" +
- "\uff9d\063\uff9d\064\uff9d\065\uff9d\066\uff9d\067\uff9d\071\uff9d" +
- "\073\uff9d\074\uff9d\075\uff9d\100\uff9d\101\uff9d\102\uff9d\107" +
- "\uff9d\110\uff9d\111\uff9d\001\002\000\126\002\uff51\004\uff51" +
- "\005\uff51\007\uff51\010\uff51\011\uff51\012\uff51\013\uff51\014" +
- "\uff51\015\uff51\016\uff51\017\uff51\020\uff51\021\uff51\022\uff51" +
- "\023\uff51\024\uff51\025\uff51\032\uff51\053\uff51\054\uff51\055" +
- "\uff51\056\uff51\057\uff51\060\uff51\061\uff51\062\uff51\063\uff51" +
- "\064\uff51\065\uff51\066\uff51\067\uff51\071\uff51\073\uff51\074" +
- "\uff51\075\uff51\100\uff51\101\uff51\102\uff51\107\uff51\110\uff51" +
- "\111\uff51\001\002\000\130\002\uff75\004\uff75\005\uff75\007" +
- "\uff75\010\uff75\011\uff75\012\uff75\013\uff75\014\uff75\015\uff75" +
- "\016\uff75\017\uff75\020\uff75\021\uff75\022\uff75\023\uff75\024" +
- "\uff75\025\uff75\032\uff75\035\uff75\053\uff75\054\uff75\055\uff75" +
- "\056\uff75\057\uff75\060\uff75\061\uff75\062\uff75\063\uff75\064" +
- "\uff75\065\uff75\066\uff75\067\uff75\071\uff75\073\uff75\074\uff75" +
- "\075\uff75\100\uff75\101\uff75\102\uff75\107\uff75\110\uff75\111" +
- "\uff75\001\002\000\134\002\uff2e\004\uff2e\005\uff2e\006\ufef7" +
- "\007\uff2e\010\uff2e\011\uff2e\012\uff2e\013\uff2e\014\uff2e\015" +
- "\uff2e\016\uff2e\017\uff2e\020\uff2e\021\uff2e\022\uff2e\023\uff2e" +
- "\024\uff2e\025\uff2e\031\uff2e\032\uff2e\033\u0119\053\uff2e\054" +
- "\uff2e\055\uff2e\056\uff2e\057\uff2e\060\uff2e\061\uff2e\062\uff2e" +
- "\063\uff2e\064\uff2e\065\uff2e\066\uff2e\067\uff2e\071\uff2e\073" +
- "\uff2e\074\uff2e\075\uff2e\100\uff2e\101\uff2e\102\uff2e\107\uff2e" +
- "\110\uff2e\111\uff2e\001\002\000\130\002\uff9b\004\uff9b\005" +
- "\uff9b\007\uff9b\010\uff9b\011\uff9b\012\uff9b\013\uff9b\014\uff9b" +
- "\015\uff9b\016\uff9b\017\uff9b\020\uff9b\021\uff9b\022\uff9b\023" +
- "\uff9b\024\uff9b\025\uff9b\031\u0117\032\uff9b\053\uff9b\054\uff9b" +
- "\055\uff9b\056\uff9b\057\uff9b\060\uff9b\061\uff9b\062\uff9b\063" +
- "\uff9b\064\uff9b\065\uff9b\066\uff9b\067\uff9b\071\uff9b\073\uff9b" +
- "\074\uff9b\075\uff9b\100\uff9b\101\uff9b\102\uff9b\107\uff9b\110" +
- "\uff9b\111\uff9b\001\002\000\134\002\uff3b\004\uff3b\005\uff3b" +
- "\006\uff04\007\uff3b\010\uff3b\011\uff3b\012\uff3b\013\uff3b\014" +
- "\uff3b\015\uff3b\016\uff3b\017\uff3b\020\uff3b\021\uff3b\022\uff3b" +
- "\023\uff3b\024\uff3b\025\uff3b\026\u0116\031\uff3b\032\uff3b\053" +
- "\uff3b\054\uff3b\055\uff3b\056\uff3b\057\uff3b\060\uff3b\061\uff3b" +
- "\062\uff3b\063\uff3b\064\uff3b\065\uff3b\066\uff3b\067\uff3b\071" +
- "\uff3b\073\uff3b\074\uff3b\075\uff3b\100\uff3b\101\uff3b\102\uff3b" +
- "\107\uff3b\110\uff3b\111\uff3b\001\002\000\132\002\uff23\004" +
- "\uff23\005\uff23\006\ufeed\007\uff23\010\uff23\011\uff23\012\uff23" +
- "\013\uff23\014\uff23\015\uff23\016\uff23\017\uff23\020\uff23\021" +
- "\uff23\022\uff23\023\uff23\024\uff23\025\uff23\031\uff23\032\uff23" +
- "\053\uff23\054\uff23\055\uff23\056\uff23\057\uff23\060\uff23\061" +
- "\uff23\062\uff23\063\uff23\064\uff23\065\uff23\066\uff23\067\uff23" +
- "\071\uff23\073\uff23\074\uff23\075\uff23\100\uff23\101\uff23\102" +
- "\uff23\107\uff23\110\uff23\111\uff23\001\002\000\132\002\uff2c" +
- "\004\uff2c\005\uff2c\006\ufef5\007\uff2c\010\uff2c\011\uff2c\012" +
- "\uff2c\013\uff2c\014\uff2c\015\uff2c\016\uff2c\017\uff2c\020\uff2c" +
- "\021\uff2c\022\uff2c\023\uff2c\024\uff2c\025\uff2c\031\uff2c\032" +
- "\uff2c\053\uff2c\054\uff2c\055\uff2c\056\uff2c\057\uff2c\060\uff2c" +
- "\061\uff2c\062\uff2c\063\uff2c\064\uff2c\065\uff2c\066\uff2c\067" +
- "\uff2c\071\uff2c\073\uff2c\074\uff2c\075\uff2c\100\uff2c\101\uff2c" +
- "\102\uff2c\107\uff2c\110\uff2c\111\uff2c\001\002\000\132\002" +
- "\uff26\004\uff26\005\uff26\006\ufef0\007\uff26\010\uff26\011\uff26" +
- "\012\uff26\013\uff26\014\uff26\015\uff26\016\uff26\017\uff26\020" +
- "\uff26\021\uff26\022\uff26\023\uff26\024\uff26\025\uff26\031\uff26" +
- "\032\uff26\053\uff26\054\uff26\055\uff26\056\uff26\057\uff26\060" +
- "\uff26\061\uff26\062\uff26\063\uff26\064\uff26\065\uff26\066\uff26" +
- "\067\uff26\071\uff26\073\uff26\074\uff26\075\uff26\100\uff26\101" +
- "\uff26\102\uff26\107\uff26\110\uff26\111\uff26\001\002\000\126" +
- "\002\uff93\004\uff93\005\uff93\007\uff93\010\uff93\011\uff93\012" +
- "\uff93\013\uff93\014\uff93\015\uff93\016\uff93\017\uff93\020\uff93" +
- "\021\uff93\022\uff93\023\uff93\024\uff93\025\uff93\032\uff93\053" +
- "\uff93\054\uff93\055\uff93\056\uff93\057\uff93\060\uff93\061\uff93" +
- "\062\uff93\063\uff93\064\uff93\065\uff93\066\uff93\067\uff93\071" +
- "\uff93\073\uff93\074\uff93\075\uff93\100\uff93\101\uff93\102\uff93" +
- "\107\uff93\110\uff93\111\uff93\001\002\000\020\002\ufffd\005" +
- "\ufffd\007\ufffd\032\ufffd\100\ufffd\101\ufffd\107\ufffd\001\002" +
- "\000\126\002\uffa0\004\uffa0\005\uffa0\007\uffa0\010\uffa0\011" +
- "\uffa0\012\uffa0\013\uffa0\014\uffa0\015\uffa0\016\uffa0\017\uffa0" +
- "\020\uffa0\021\uffa0\022\uffa0\023\uffa0\024\uffa0\025\uffa0\032" +
- "\uffa0\053\uffa0\054\uffa0\055\uffa0\056\uffa0\057\uffa0\060\uffa0" +
- "\061\uffa0\062\uffa0\063\uffa0\064\uffa0\065\uffa0\066\uffa0\067" +
- "\uffa0\071\uffa0\073\uffa0\074\uffa0\075\uffa0\100\uffa0\101\uffa0" +
- "\102\uffa0\107\uffa0\110\uffa0\111\uffa0\001\002\000\126\002" +
- "\uff87\004\uff87\005\uff87\007\uff87\010\uff87\011\uff87\012\uff87" +
- "\013\uff87\014\uff87\015\uff87\016\uff87\017\uff87\020\uff87\021" +
- "\uff87\022\uff87\023\uff87\024\uff87\025\uff87\032\uff87\053\uff87" +
- "\054\uff87\055\uff87\056\uff87\057\uff87\060\uff87\061\uff87\062" +
- "\uff87\063\uff87\064\uff87\065\uff87\066\uff87\067\uff87\071\uff87" +
- "\073\uff87\074\uff87\075\uff87\100\uff87\101\uff87\102\uff87\107" +
- "\uff87\110\uff87\111\uff87\001\002\000\130\002\uff73\004\uff73" +
- "\005\uff73\007\uff73\010\uff73\011\uff73\012\uff73\013\uff73\014" +
- "\uff73\015\uff73\016\uff73\017\uff73\020\uff73\021\uff73\022\uff73" +
- "\023\uff73\024\uff73\025\uff73\032\uff73\035\uff73\053\uff73\054" +
- "\uff73\055\uff73\056\uff73\057\uff73\060\uff73\061\uff73\062\uff73" +
- "\063\uff73\064\uff73\065\uff73\066\uff73\067\uff73\071\uff73\073" +
- "\uff73\074\uff73\075\uff73\100\uff73\101\uff73\102\uff73\107\uff73" +
- "\110\uff73\111\uff73\001\002\000\130\002\uff74\004\uff74\005" +
- "\uff74\007\uff74\010\uff74\011\uff74\012\uff74\013\uff74\014\uff74" +
- "\015\uff74\016\uff74\017\uff74\020\uff74\021\uff74\022\uff74\023" +
- "\uff74\024\uff74\025\uff74\032\uff74\035\uff74\053\uff74\054\uff74" +
- "\055\uff74\056\uff74\057\uff74\060\uff74\061\uff74\062\uff74\063" +
- "\uff74\064\uff74\065\uff74\066\uff74\067\uff74\071\uff74\073\uff74" +
- "\074\uff74\075\uff74\100\uff74\101\uff74\102\uff74\107\uff74\110" +
- "\uff74\111\uff74\001\002\000\132\002\uff37\004\uff37\005\uff37" +
- "\006\uff00\007\uff37\010\uff37\011\uff37\012\uff37\013\uff37\014" +
- "\uff37\015\uff37\016\uff37\017\uff37\020\uff37\021\uff37\022\uff37" +
- "\023\uff37\024\uff37\025\uff37\031\uff37\032\uff37\053\uff37\054" +
- "\uff37\055\uff37\056\uff37\057\uff37\060\uff37\061\uff37\062\uff37" +
- "\063\uff37\064\uff37\065\uff37\066\uff37\067\uff37\071\uff37\073" +
- "\uff37\074\uff37\075\uff37\100\uff37\101\uff37\102\uff37\107\uff37" +
- "\110\uff37\111\uff37\001\002\000\132\002\uff47\004\uff47\005" +
- "\uff47\006\uff0f\007\uff47\010\uff47\011\uff47\012\uff47\013\uff47" +
- "\014\uff47\015\uff47\016\uff47\017\uff47\020\uff47\021\uff47\022" +
- "\uff47\023\uff47\024\uff47\025\uff47\031\uff47\032\uff47\053\uff47" +
- "\054\uff47\055\uff47\056\uff47\057\uff47\060\uff47\061\uff47\062" +
- "\uff47\063\uff47\064\uff47\065\uff47\066\uff47\067\uff47\071\uff47" +
- "\073\uff47\074\uff47\075\uff47\100\uff47\101\uff47\102\uff47\107" +
- "\uff47\110\uff47\111\uff47\001\002\000\134\002\uff21\004\uff21" +
- "\005\uff21\006\u0114\007\uff21\010\uff21\011\uff21\012\uff21\013" +
- "\uff21\014\uff21\015\uff21\016\uff21\017\uff21\020\uff21\021\uff21" +
- "\022\uff21\023\uff21\024\uff21\025\uff21\031\uff21\032\uff21\035" +
- "\uff21\053\uff21\054\uff21\055\uff21\056\uff21\057\uff21\060\uff21" +
- "\061\uff21\062\uff21\063\uff21\064\uff21\065\uff21\066\uff21\067" +
- "\uff21\071\uff21\073\uff21\074\uff21\075\uff21\100\uff21\101\uff21" +
- "\102\uff21\107\uff21\110\uff21\111\uff21\001\002\000\136\002" +
- "\uff1d\004\uff1d\005\uff1d\006\uff1d\007\uff1d\010\uff1d\011\uff1d" +
- "\012\uff1d\013\uff1d\014\uff1d\015\uff1d\016\uff1d\017\uff1d\020" +
- "\uff1d\021\uff1d\022\uff1d\023\uff1d\024\uff1d\025\uff1d\031\uff1d" +
- "\032\uff1d\035\uff1d\053\uff1d\054\uff1d\055\uff1d\056\uff1d\057" +
- "\uff1d\060\uff1d\061\uff1d\062\uff1d\063\uff1d\064\uff1d\065\uff1d" +
- "\066\uff1d\067\uff1d\071\uff1d\073\uff1d\074\uff1d\075\uff1d\077" +
- "\uff1d\100\uff1d\101\uff1d\102\uff1d\107\uff1d\110\uff1d\111\uff1d" +
- "\001\002\000\100\002\uffe7\005\uffe7\007\uffe7\010\uffe7\011" +
- "\uffe7\012\u0108\014\uffe7\015\uffe7\016\uffe7\017\uffe7\020\uffe7" +
- "\021\uffe7\022\uffe7\023\uffe7\032\uffe7\053\uffe7\054\uffe7\055" +
- "\uffe7\056\uffe7\057\uffe7\060\uffe7\061\u010a\062\u010b\063\u0109" +
- "\075\uffe7\100\uffe7\101\uffe7\102\uffe7\107\uffe7\110\uffe7\111" +
- "\uffe7\001\002\000\124\002\uffbb\005\uffbb\007\uffbb\010\uffbb" +
- "\011\uffbb\012\uffbb\013\uffbb\014\uffbb\015\uffbb\016\uffbb\017" +
- "\uffbb\020\uffbb\021\uffbb\022\uffbb\023\uffbb\024\u0104\025\u0105" +
- "\032\uffbb\053\uffbb\054\uffbb\055\uffbb\056\uffbb\057\uffbb\060" +
- "\uffbb\061\uffbb\062\uffbb\063\uffbb\064\uffbb\065\uffbb\066\uffbb" +
- "\067\uffbb\071\uffbb\073\uffbb\074\uffbb\075\uffbb\100\uffbb\101" +
- "\uffbb\102\uffbb\107\uffbb\110\uffbb\111\uffbb\001\002\000\004" +
- "\006\375\001\002\000\130\002\uff72\004\uff72\005\uff72\007" +
- "\uff72\010\uff72\011\uff72\012\uff72\013\uff72\014\uff72\015\uff72" +
- "\016\uff72\017\uff72\020\uff72\021\uff72\022\uff72\023\uff72\024" +
- "\uff72\025\uff72\032\uff72\035\uff72\053\uff72\054\uff72\055\uff72" +
- "\056\uff72\057\uff72\060\uff72\061\uff72\062\uff72\063\uff72\064" +
- "\uff72\065\uff72\066\uff72\067\uff72\071\uff72\073\uff72\074\uff72" +
- "\075\uff72\100\uff72\101\uff72\102\uff72\107\uff72\110\uff72\111" +
- "\uff72\001\002\000\136\002\uff1e\004\uff1e\005\uff1e\006\uff1e" +
- "\007\uff1e\010\uff1e\011\uff1e\012\uff1e\013\uff1e\014\uff1e\015" +
- "\uff1e\016\uff1e\017\uff1e\020\uff1e\021\uff1e\022\uff1e\023\uff1e" +
- "\024\uff1e\025\uff1e\031\uff1e\032\uff1e\035\uff1e\053\uff1e\054" +
- "\uff1e\055\uff1e\056\uff1e\057\uff1e\060\uff1e\061\uff1e\062\uff1e" +
- "\063\uff1e\064\uff1e\065\uff1e\066\uff1e\067\uff1e\071\uff1e\073" +
- "\uff1e\074\uff1e\075\uff1e\077\uff1e\100\uff1e\101\uff1e\102\uff1e" +
- "\107\uff1e\110\uff1e\111\uff1e\001\002\000\132\002\uff31\004" +
- "\uff31\005\uff31\006\ufefa\007\uff31\010\uff31\011\uff31\012\uff31" +
- "\013\uff31\014\uff31\015\uff31\016\uff31\017\uff31\020\uff31\021" +
- "\uff31\022\uff31\023\uff31\024\uff31\025\uff31\031\uff31\032\uff31" +
- "\053\uff31\054\uff31\055\uff31\056\uff31\057\uff31\060\uff31\061" +
- "\uff31\062\uff31\063\uff31\064\uff31\065\uff31\066\uff31\067\uff31" +
- "\071\uff31\073\uff31\074\uff31\075\uff31\100\uff31\101\uff31\102" +
- "\uff31\107\uff31\110\uff31\111\uff31\001\002\000\132\002\uff2f" +
- "\004\uff2f\005\uff2f\006\ufef8\007\uff2f\010\uff2f\011\uff2f\012" +
- "\uff2f\013\uff2f\014\uff2f\015\uff2f\016\uff2f\017\uff2f\020\uff2f" +
- "\021\uff2f\022\uff2f\023\uff2f\024\uff2f\025\uff2f\031\uff2f\032" +
- "\uff2f\053\uff2f\054\uff2f\055\uff2f\056\uff2f\057\uff2f\060\uff2f" +
- "\061\uff2f\062\uff2f\063\uff2f\064\uff2f\065\uff2f\066\uff2f\067" +
- "\uff2f\071\uff2f\073\uff2f\074\uff2f\075\uff2f\100\uff2f\101\uff2f" +
- "\102\uff2f\107\uff2f\110\uff2f\111\uff2f\001\002\000\216\006" +
- "\110\010\105\011\144\012\116\024\024\025\010\027\077" +
- "\030\125\033\100\034\126\036\045\037\163\040\153\041" +
- "\054\042\004\043\046\044\012\045\023\046\014\047\034" +
- "\050\117\051\075\052\067\053\071\054\205\055\037\056" +
- "\052\057\006\060\017\061\120\062\106\063\076\064\111" +
- "\065\131\066\101\067\055\070\162\071\025\072\005\073" +
- "\142\074\161\075\143\076\211\077\150\100\121\101\176" +
- "\102\202\103\213\104\207\105\212\106\060\107\122\110" +
- "\200\111\152\112\141\113\134\114\027\115\021\116\056" +
- "\117\133\120\147\121\064\122\057\123\063\124\160\125" +
- "\040\126\042\127\113\130\174\131\132\001\002\000\126" +
- "\002\uff92\004\uff92\005\uff92\007\uff92\010\uff92\011\uff92\012" +
- "\uff92\013\uff92\014\uff92\015\uff92\016\uff92\017\uff92\020\uff92" +
- "\021\uff92\022\uff92\023\uff92\024\uff92\025\uff92\032\uff92\053" +
- "\uff92\054\uff92\055\uff92\056\uff92\057\uff92\060\uff92\061\uff92" +
- "\062\uff92\063\uff92\064\uff92\065\uff92\066\uff92\067\uff92\071" +
- "\uff92\073\uff92\074\uff92\075\uff92\100\uff92\101\uff92\102\uff92" +
- "\107\uff92\110\uff92\111\uff92\001\002\000\126\002\uffa6\004" +
- "\uffa6\005\uffa6\007\uffa6\010\uffa6\011\uffa6\012\uffa6\013\uffa6" +
- "\014\uffa6\015\uffa6\016\uffa6\017\uffa6\020\uffa6\021\uffa6\022" +
- "\uffa6\023\uffa6\024\uffa6\025\uffa6\032\uffa6\053\uffa6\054\uffa6" +
- "\055\uffa6\056\uffa6\057\uffa6\060\uffa6\061\uffa6\062\uffa6\063" +
- "\uffa6\064\uffa6\065\uffa6\066\uffa6\067\uffa6\071\uffa6\073\uffa6" +
- "\074\uffa6\075\uffa6\100\uffa6\101\uffa6\102\uffa6\107\uffa6\110" +
- "\uffa6\111\uffa6\001\002\000\134\002\uff1b\004\uff1b\005\uff1b" +
- "\006\366\007\uff1b\010\uff1b\011\uff1b\012\uff1b\013\uff1b\014" +
- "\uff1b\015\uff1b\016\uff1b\017\uff1b\020\uff1b\021\uff1b\022\uff1b" +
- "\023\uff1b\024\uff1b\025\uff1b\031\uff1b\032\uff1b\035\uff1b\053" +
- "\uff1b\054\uff1b\055\uff1b\056\uff1b\057\uff1b\060\uff1b\061\uff1b" +
- "\062\uff1b\063\uff1b\064\uff1b\065\uff1b\066\uff1b\067\uff1b\071" +
- "\uff1b\073\uff1b\074\uff1b\075\uff1b\100\uff1b\101\uff1b\102\uff1b" +
- "\107\uff1b\110\uff1b\111\uff1b\001\002\000\132\002\uff2d\004" +
- "\uff2d\005\uff2d\006\ufef6\007\uff2d\010\uff2d\011\uff2d\012\uff2d" +
- "\013\uff2d\014\uff2d\015\uff2d\016\uff2d\017\uff2d\020\uff2d\021" +
- "\uff2d\022\uff2d\023\uff2d\024\uff2d\025\uff2d\031\uff2d\032\uff2d" +
- "\053\uff2d\054\uff2d\055\uff2d\056\uff2d\057\uff2d\060\uff2d\061" +
- "\uff2d\062\uff2d\063\uff2d\064\uff2d\065\uff2d\066\uff2d\067\uff2d" +
- "\071\uff2d\073\uff2d\074\uff2d\075\uff2d\100\uff2d\101\uff2d\102" +
- "\uff2d\107\uff2d\110\uff2d\111\uff2d\001\002\000\126\002\uff94" +
- "\004\uff94\005\uff94\007\uff94\010\uff94\011\uff94\012\uff94\013" +
- "\uff94\014\uff94\015\uff94\016\uff94\017\uff94\020\uff94\021\uff94" +
- "\022\uff94\023\uff94\024\uff94\025\uff94\032\uff94\053\uff94\054" +
- "\uff94\055\uff94\056\uff94\057\uff94\060\uff94\061\uff94\062\uff94" +
- "\063\uff94\064\uff94\065\uff94\066\uff94\067\uff94\071\uff94\073" +
- "\uff94\074\uff94\075\uff94\100\uff94\101\uff94\102\uff94\107\uff94" +
- "\110\uff94\111\uff94\001\002\000\132\002\uff24\004\uff24\005" +
- "\uff24\006\ufeee\007\uff24\010\uff24\011\uff24\012\uff24\013\uff24" +
- "\014\uff24\015\uff24\016\uff24\017\uff24\020\uff24\021\uff24\022" +
- "\uff24\023\uff24\024\uff24\025\uff24\031\uff24\032\uff24\053\uff24" +
- "\054\uff24\055\uff24\056\uff24\057\uff24\060\uff24\061\uff24\062" +
- "\uff24\063\uff24\064\uff24\065\uff24\066\uff24\067\uff24\071\uff24" +
- "\073\uff24\074\uff24\075\uff24\100\uff24\101\uff24\102\uff24\107" +
- "\uff24\110\uff24\111\uff24\001\002\000\134\002\uff43\004\uff43" +
- "\005\uff43\006\353\007\uff43\010\uff43\011\uff43\012\uff43\013" +
- "\uff43\014\uff43\015\uff43\016\uff43\017\uff43\020\uff43\021\uff43" +
- "\022\uff43\023\uff43\024\uff43\025\uff43\026\352\031\uff43\032" +
- "\uff43\053\uff43\054\uff43\055\uff43\056\uff43\057\uff43\060\uff43" +
- "\061\uff43\062\uff43\063\uff43\064\uff43\065\uff43\066\uff43\067" +
- "\uff43\071\uff43\073\uff43\074\uff43\075\uff43\100\uff43\101\uff43" +
- "\102\uff43\107\uff43\110\uff43\111\uff43\001\002\000\120\002" +
- "\uffd1\005\uffd1\007\uffd1\010\uffd1\011\uffd1\012\uffd1\013\uffd1" +
- "\014\uffd1\015\uffd1\016\uffd1\017\uffd1\020\uffd1\021\uffd1\022" +
- "\uffd1\023\uffd1\032\uffd1\053\uffd1\054\uffd1\055\uffd1\056\uffd1" +
- "\057\uffd1\060\uffd1\061\uffd1\062\uffd1\063\uffd1\064\uffd1\065" +
- "\uffd1\066\uffd1\067\uffd1\071\uffd1\073\uffd1\074\uffd1\075\uffd1" +
- "\100\uffd1\101\uffd1\102\uffd1\107\uffd1\110\uffd1\111\uffd1\001" +
- "\002\000\132\002\uff28\004\uff28\005\uff28\006\343\007\uff28" +
- "\010\uff28\011\uff28\012\uff28\013\uff28\014\uff28\015\uff28\016" +
- "\uff28\017\uff28\020\uff28\021\uff28\022\uff28\023\uff28\024\uff28" +
- "\025\uff28\031\uff28\032\uff28\053\uff28\054\uff28\055\uff28\056" +
- "\uff28\057\uff28\060\uff28\061\uff28\062\uff28\063\uff28\064\uff28" +
- "\065\uff28\066\uff28\067\uff28\071\uff28\073\uff28\074\uff28\075" +
- "\uff28\100\uff28\101\uff28\102\uff28\107\uff28\110\uff28\111\uff28" +
- "\001\002\000\130\002\uff6f\004\uff6f\005\uff6f\007\uff6f\010" +
- "\uff6f\011\uff6f\012\uff6f\013\uff6f\014\uff6f\015\uff6f\016\uff6f" +
- "\017\uff6f\020\uff6f\021\uff6f\022\uff6f\023\uff6f\024\uff6f\025" +
- "\uff6f\032\uff6f\035\uff6f\053\uff6f\054\uff6f\055\uff6f\056\uff6f" +
- "\057\uff6f\060\uff6f\061\uff6f\062\uff6f\063\uff6f\064\uff6f\065" +
- "\uff6f\066\uff6f\067\uff6f\071\uff6f\073\uff6f\074\uff6f\075\uff6f" +
- "\100\uff6f\101\uff6f\102\uff6f\107\uff6f\110\uff6f\111\uff6f\001" +
- "\002\000\120\002\uffce\005\uffce\007\uffce\010\uffce\011\uffce" +
- "\012\uffce\013\uffce\014\uffce\015\uffce\016\uffce\017\uffce\020" +
- "\uffce\021\uffce\022\uffce\023\uffce\032\uffce\053\uffce\054\uffce" +
- "\055\uffce\056\uffce\057\uffce\060\uffce\061\uffce\062\uffce\063" +
- "\uffce\064\uffce\065\uffce\066\uffce\067\uffce\071\uffce\073\uffce" +
- "\074\uffce\075\uffce\100\uffce\101\uffce\102\uffce\107\uffce\110" +
- "\uffce\111\uffce\001\002\000\136\002\uff17\004\uff17\005\uff17" +
- "\006\uff17\007\uff17\010\uff17\011\uff17\012\uff17\013\uff17\014" +
- "\uff17\015\uff17\016\uff17\017\uff17\020\uff17\021\uff17\022\uff17" +
- "\023\uff17\024\uff17\025\uff17\031\uff17\032\uff17\035\uff17\053" +
- "\uff17\054\uff17\055\uff17\056\uff17\057\uff17\060\uff17\061\uff17" +
- "\062\uff17\063\uff17\064\uff17\065\uff17\066\uff17\067\uff17\071" +
- "\uff17\073\uff17\074\uff17\075\uff17\077\uff17\100\uff17\101\uff17" +
- "\102\uff17\107\uff17\110\uff17\111\uff17\001\002\000\132\002" +
- "\uff30\004\uff30\005\uff30\006\ufef9\007\uff30\010\uff30\011\uff30" +
- "\012\uff30\013\uff30\014\uff30\015\uff30\016\uff30\017\uff30\020" +
- "\uff30\021\uff30\022\uff30\023\uff30\024\uff30\025\uff30\031\uff30" +
- "\032\uff30\053\uff30\054\uff30\055\uff30\056\uff30\057\uff30\060" +
- "\uff30\061\uff30\062\uff30\063\uff30\064\uff30\065\uff30\066\uff30" +
- "\067\uff30\071\uff30\073\uff30\074\uff30\075\uff30\100\uff30\101" +
- "\uff30\102\uff30\107\uff30\110\uff30\111\uff30\001\002\000\132" +
- "\002\uff34\004\uff34\005\uff34\006\ufefd\007\uff34\010\uff34\011" +
- "\uff34\012\uff34\013\uff34\014\uff34\015\uff34\016\uff34\017\uff34" +
- "\020\uff34\021\uff34\022\uff34\023\uff34\024\uff34\025\uff34\031" +
- "\uff34\032\uff34\053\uff34\054\uff34\055\uff34\056\uff34\057\uff34" +
- "\060\uff34\061\uff34\062\uff34\063\uff34\064\uff34\065\uff34\066" +
- "\uff34\067\uff34\071\uff34\073\uff34\074\uff34\075\uff34\100\uff34" +
- "\101\uff34\102\uff34\107\uff34\110\uff34\111\uff34\001\002\000" +
- "\134\002\uff44\004\uff44\005\uff44\006\uff0c\007\uff44\010\uff44" +
- "\011\uff44\012\uff44\013\uff44\014\uff44\015\uff44\016\uff44\017" +
- "\uff44\020\uff44\021\uff44\022\uff44\023\uff44\024\uff44\025\uff44" +
- "\026\342\031\uff44\032\uff44\053\uff44\054\uff44\055\uff44\056" +
- "\uff44\057\uff44\060\uff44\061\uff44\062\uff44\063\uff44\064\uff44" +
- "\065\uff44\066\uff44\067\uff44\071\uff44\073\uff44\074\uff44\075" +
- "\uff44\100\uff44\101\uff44\102\uff44\107\uff44\110\uff44\111\uff44" +
- "\001\002\000\134\002\uff2a\004\uff2a\005\uff2a\006\ufef3\007" +
- "\uff2a\010\uff2a\011\uff2a\012\uff2a\013\uff2a\014\uff2a\015\uff2a" +
- "\016\uff2a\017\uff2a\020\uff2a\021\uff2a\022\uff2a\023\uff2a\024" +
- "\uff2a\025\uff2a\031\uff2a\032\uff2a\033\326\053\uff2a\054\uff2a" +
- "\055\uff2a\056\uff2a\057\uff2a\060\uff2a\061\uff2a\062\uff2a\063" +
- "\uff2a\064\uff2a\065\uff2a\066\uff2a\067\uff2a\071\uff2a\073\uff2a" +
- "\074\uff2a\075\uff2a\100\uff2a\101\uff2a\102\uff2a\107\uff2a\110" +
- "\uff2a\111\uff2a\001\002\000\006\032\227\100\230\001\002" +
- "\000\126\002\uff9e\004\uff9e\005\uff9e\007\uff9e\010\uff9e\011" +
- "\uff9e\012\uff9e\013\uff9e\014\uff9e\015\uff9e\016\uff9e\017\uff9e" +
- "\020\uff9e\021\uff9e\022\uff9e\023\uff9e\024\uff9e\025\uff9e\032" +
- "\uff9e\053\uff9e\054\uff9e\055\uff9e\056\uff9e\057\uff9e\060\uff9e" +
- "\061\uff9e\062\uff9e\063\uff9e\064\uff9e\065\uff9e\066\uff9e\067" +
- "\uff9e\071\uff9e\073\uff9e\074\uff9e\075\uff9e\100\uff9e\101\uff9e" +
- "\102\uff9e\107\uff9e\110\uff9e\111\uff9e\001\002\000\126\002" +
- "\uff96\004\uff96\005\uff96\007\uff96\010\uff96\011\uff96\012\uff96" +
- "\013\uff96\014\uff96\015\uff96\016\uff96\017\uff96\020\uff96\021" +
- "\uff96\022\uff96\023\uff96\024\uff96\025\uff96\032\uff96\053\uff96" +
- "\054\uff96\055\uff96\056\uff96\057\uff96\060\uff96\061\uff96\062" +
- "\uff96\063\uff96\064\uff96\065\uff96\066\uff96\067\uff96\071\uff96" +
- "\073\uff96\074\uff96\075\uff96\100\uff96\101\uff96\102\uff96\107" +
- "\uff96\110\uff96\111\uff96\001\002\000\130\002\uff6e\004\uff6e" +
- "\005\uff6e\007\uff6e\010\uff6e\011\uff6e\012\uff6e\013\uff6e\014" +
- "\uff6e\015\uff6e\016\uff6e\017\uff6e\020\uff6e\021\uff6e\022\uff6e" +
- "\023\uff6e\024\uff6e\025\uff6e\032\uff6e\035\uff6e\053\uff6e\054" +
- "\uff6e\055\uff6e\056\uff6e\057\uff6e\060\uff6e\061\uff6e\062\uff6e" +
- "\063\uff6e\064\uff6e\065\uff6e\066\uff6e\067\uff6e\071\uff6e\073" +
- "\uff6e\074\uff6e\075\uff6e\100\uff6e\101\uff6e\102\uff6e\107\uff6e" +
- "\110\uff6e\111\uff6e\001\002\000\126\002\uff8d\004\uff8d\005" +
- "\uff8d\007\uff8d\010\uff8d\011\uff8d\012\uff8d\013\uff8d\014\uff8d" +
- "\015\uff8d\016\uff8d\017\uff8d\020\uff8d\021\uff8d\022\uff8d\023" +
- "\uff8d\024\uff8d\025\uff8d\032\uff8d\053\uff8d\054\uff8d\055\uff8d" +
- "\056\uff8d\057\uff8d\060\uff8d\061\uff8d\062\uff8d\063\uff8d\064" +
- "\uff8d\065\uff8d\066\uff8d\067\uff8d\071\uff8d\073\uff8d\074\uff8d" +
- "\075\uff8d\100\uff8d\101\uff8d\102\uff8d\107\uff8d\110\uff8d\111" +
- "\uff8d\001\002\000\126\002\uffb2\004\uffb2\005\uffb2\007\uffb2" +
- "\010\uffb2\011\uffb2\012\uffb2\013\uffb2\014\uffb2\015\uffb2\016" +
- "\uffb2\017\uffb2\020\uffb2\021\uffb2\022\uffb2\023\uffb2\024\uffb2" +
- "\025\uffb2\032\uffb2\053\uffb2\054\uffb2\055\uffb2\056\uffb2\057" +
- "\uffb2\060\uffb2\061\uffb2\062\uffb2\063\uffb2\064\uffb2\065\uffb2" +
- "\066\uffb2\067\uffb2\071\uffb2\073\uffb2\074\uffb2\075\uffb2\100" +
- "\uffb2\101\uffb2\102\uffb2\107\uffb2\110\uffb2\111\uffb2\001\002" +
- "\000\126\002\uff8f\004\uff8f\005\uff8f\007\uff8f\010\uff8f\011" +
- "\uff8f\012\uff8f\013\uff8f\014\uff8f\015\uff8f\016\uff8f\017\uff8f" +
- "\020\uff8f\021\uff8f\022\uff8f\023\uff8f\024\uff8f\025\uff8f\032" +
- "\uff8f\053\uff8f\054\uff8f\055\uff8f\056\uff8f\057\uff8f\060\uff8f" +
- "\061\uff8f\062\uff8f\063\uff8f\064\uff8f\065\uff8f\066\uff8f\067" +
- "\uff8f\071\uff8f\073\uff8f\074\uff8f\075\uff8f\100\uff8f\101\uff8f" +
- "\102\uff8f\107\uff8f\110\uff8f\111\uff8f\001\002\000\126\002" +
- "\uff4f\004\uff4f\005\uff4f\007\uff4f\010\uff4f\011\uff4f\012\uff4f" +
- "\013\uff4f\014\uff4f\015\uff4f\016\uff4f\017\uff4f\020\uff4f\021" +
- "\uff4f\022\uff4f\023\uff4f\024\uff4f\025\uff4f\032\uff4f\053\uff4f" +
- "\054\uff4f\055\uff4f\056\uff4f\057\uff4f\060\uff4f\061\uff4f\062" +
- "\uff4f\063\uff4f\064\uff4f\065\uff4f\066\uff4f\067\uff4f\071\uff4f" +
- "\073\uff4f\074\uff4f\075\uff4f\100\uff4f\101\uff4f\102\uff4f\107" +
- "\uff4f\110\uff4f\111\uff4f\001\002\000\126\002\uffa8\004\uffa8" +
- "\005\uffa8\007\uffa8\010\uffa8\011\uffa8\012\uffa8\013\uffa8\014" +
- "\uffa8\015\uffa8\016\uffa8\017\uffa8\020\uffa8\021\uffa8\022\uffa8" +
- "\023\uffa8\024\uffa8\025\uffa8\032\uffa8\053\uffa8\054\uffa8\055" +
- "\uffa8\056\uffa8\057\uffa8\060\uffa8\061\uffa8\062\uffa8\063\uffa8" +
- "\064\uffa8\065\uffa8\066\uffa8\067\uffa8\071\uffa8\073\uffa8\074" +
- "\uffa8\075\uffa8\100\uffa8\101\uffa8\102\uffa8\107\uffa8\110\uffa8" +
- "\111\uffa8\001\002\000\132\002\uff2b\004\uff2b\005\uff2b\006" +
- "\ufef4\007\uff2b\010\uff2b\011\uff2b\012\uff2b\013\uff2b\014\uff2b" +
- "\015\uff2b\016\uff2b\017\uff2b\020\uff2b\021\uff2b\022\uff2b\023" +
- "\uff2b\024\uff2b\025\uff2b\031\uff2b\032\uff2b\053\uff2b\054\uff2b" +
- "\055\uff2b\056\uff2b\057\uff2b\060\uff2b\061\uff2b\062\uff2b\063" +
- "\uff2b\064\uff2b\065\uff2b\066\uff2b\067\uff2b\071\uff2b\073\uff2b" +
- "\074\uff2b\075\uff2b\100\uff2b\101\uff2b\102\uff2b\107\uff2b\110" +
- "\uff2b\111\uff2b\001\002\000\110\002\uffdf\005\uffdf\007\uffdf" +
- "\010\uffdf\011\uffdf\012\uffdf\013\uffdf\014\uffdf\015\uffdf\016" +
- "\uffdf\017\uffdf\020\uffdf\021\uffdf\022\uffdf\023\uffdf\032\uffdf" +
- "\053\uffdf\054\uffdf\055\uffdf\056\uffdf\057\uffdf\060\uffdf\061" +
- "\uffdf\062\uffdf\063\uffdf\064\uffdf\065\215\066\214\075\uffdf" +
- "\100\uffdf\101\uffdf\102\uffdf\107\uffdf\110\uffdf\111\uffdf\001" +
- "\002\000\132\002\uff25\004\uff25\005\uff25\006\ufeef\007\uff25" +
- "\010\uff25\011\uff25\012\uff25\013\uff25\014\uff25\015\uff25\016" +
- "\uff25\017\uff25\020\uff25\021\uff25\022\uff25\023\uff25\024\uff25" +
- "\025\uff25\031\uff25\032\uff25\053\uff25\054\uff25\055\uff25\056" +
- "\uff25\057\uff25\060\uff25\061\uff25\062\uff25\063\uff25\064\uff25" +
- "\065\uff25\066\uff25\067\uff25\071\uff25\073\uff25\074\uff25\075" +
- "\uff25\100\uff25\101\uff25\102\uff25\107\uff25\110\uff25\111\uff25" +
- "\001\002\000\126\002\uff8e\004\uff8e\005\uff8e\007\uff8e\010" +
- "\uff8e\011\uff8e\012\uff8e\013\uff8e\014\uff8e\015\uff8e\016\uff8e" +
- "\017\uff8e\020\uff8e\021\uff8e\022\uff8e\023\uff8e\024\uff8e\025" +
- "\uff8e\032\uff8e\053\uff8e\054\uff8e\055\uff8e\056\uff8e\057\uff8e" +
- "\060\uff8e\061\uff8e\062\uff8e\063\uff8e\064\uff8e\065\uff8e\066" +
- "\uff8e\067\uff8e\071\uff8e\073\uff8e\074\uff8e\075\uff8e\100\uff8e" +
- "\101\uff8e\102\uff8e\107\uff8e\110\uff8e\111\uff8e\001\002\000" +
- "\132\002\uff46\004\uff46\005\uff46\006\uff0e\007\uff46\010\uff46" +
- "\011\uff46\012\uff46\013\uff46\014\uff46\015\uff46\016\uff46\017" +
- "\uff46\020\uff46\021\uff46\022\uff46\023\uff46\024\uff46\025\uff46" +
- "\031\uff46\032\uff46\053\uff46\054\uff46\055\uff46\056\uff46\057" +
- "\uff46\060\uff46\061\uff46\062\uff46\063\uff46\064\uff46\065\uff46" +
- "\066\uff46\067\uff46\071\uff46\073\uff46\074\uff46\075\uff46\100" +
- "\uff46\101\uff46\102\uff46\107\uff46\110\uff46\111\uff46\001\002" +
- "\000\024\002\ufff1\005\ufff1\007\ufff1\032\ufff1\100\ufff1\101" +
- "\ufff1\107\ufff1\110\206\111\ufff1\001\002\000\124\002\uffba" +
- "\005\uffba\007\uffba\010\uffba\011\uffba\012\uffba\013\uffba\014" +
- "\uffba\015\uffba\016\uffba\017\uffba\020\uffba\021\uffba\022\uffba" +
- "\023\uffba\024\uffba\025\uffba\032\uffba\053\uffba\054\uffba\055" +
- "\uffba\056\uffba\057\uffba\060\uffba\061\uffba\062\uffba\063\uffba" +
- "\064\uffba\065\uffba\066\uffba\067\uffba\071\uffba\073\uffba\074" +
- "\uffba\075\uffba\100\uffba\101\uffba\102\uffba\107\uffba\110\uffba" +
- "\111\uffba\001\002\000\132\002\uff14\004\uff14\005\uff14\006" +
- "\ufee9\007\uff14\010\uff14\011\uff14\012\uff14\013\uff14\014\uff14" +
- "\015\uff14\016\uff14\017\uff14\020\uff14\021\uff14\022\uff14\023" +
- "\uff14\024\uff14\025\uff14\031\uff14\032\uff14\053\uff14\054\uff14" +
- "\055\uff14\056\uff14\057\uff14\060\uff14\061\uff14\062\uff14\063" +
- "\uff14\064\uff14\065\uff14\066\uff14\067\uff14\071\uff14\073\uff14" +
- "\074\uff14\075\uff14\100\uff14\101\uff14\102\uff14\107\uff14\110" +
- "\uff14\111\uff14\001\002\000\216\006\110\010\105\011\144" +
- "\012\116\024\024\025\010\027\077\030\125\033\100\034" +
- "\126\036\045\037\163\040\153\041\054\042\004\043\046" +
- "\044\012\045\023\046\014\047\034\050\117\051\075\052" +
- "\067\053\071\054\205\055\037\056\052\057\006\060\017" +
- "\061\120\062\106\063\076\064\111\065\131\066\101\067" +
- "\055\070\162\071\025\072\005\073\142\074\161\075\143" +
- "\076\211\077\150\100\121\101\176\102\202\103\213\104" +
- "\207\105\212\106\060\107\122\110\200\111\152\112\141" +
- "\113\134\114\027\115\021\116\056\117\133\120\147\121" +
- "\064\122\057\123\063\124\160\125\040\126\042\127\113" +
- "\130\174\131\132\001\002\000\132\002\uff29\004\uff29\005" +
- "\uff29\006\ufef2\007\uff29\010\uff29\011\uff29\012\uff29\013\uff29" +
- "\014\uff29\015\uff29\016\uff29\017\uff29\020\uff29\021\uff29\022" +
- "\uff29\023\uff29\024\uff29\025\uff29\031\uff29\032\uff29\053\uff29" +
- "\054\uff29\055\uff29\056\uff29\057\uff29\060\uff29\061\uff29\062" +
- "\uff29\063\uff29\064\uff29\065\uff29\066\uff29\067\uff29\071\uff29" +
- "\073\uff29\074\uff29\075\uff29\100\uff29\101\uff29\102\uff29\107" +
- "\uff29\110\uff29\111\uff29\001\002\000\024\002\uffee\005\uffee" +
- "\007\uffee\032\uffee\100\uffee\101\uffee\107\uffee\110\uffee\111" +
- "\uffee\001\002\000\132\002\uff2e\004\uff2e\005\uff2e\006\ufef7" +
- "\007\uff2e\010\uff2e\011\uff2e\012\uff2e\013\uff2e\014\uff2e\015" +
- "\uff2e\016\uff2e\017\uff2e\020\uff2e\021\uff2e\022\uff2e\023\uff2e" +
- "\024\uff2e\025\uff2e\031\uff2e\032\uff2e\053\uff2e\054\uff2e\055" +
- "\uff2e\056\uff2e\057\uff2e\060\uff2e\061\uff2e\062\uff2e\063\uff2e" +
- "\064\uff2e\065\uff2e\066\uff2e\067\uff2e\071\uff2e\073\uff2e\074" +
- "\uff2e\075\uff2e\100\uff2e\101\uff2e\102\uff2e\107\uff2e\110\uff2e" +
- "\111\uff2e\001\002\000\136\002\uff28\004\uff28\005\uff28\006" +
- "\uff28\007\uff28\010\uff28\011\uff28\012\uff28\013\uff28\014\uff28" +
- "\015\uff28\016\uff28\017\uff28\020\uff28\021\uff28\022\uff28\023" +
- "\uff28\024\uff28\025\uff28\031\uff28\032\uff28\035\uff28\053\uff28" +
- "\054\uff28\055\uff28\056\uff28\057\uff28\060\uff28\061\uff28\062" +
- "\uff28\063\uff28\064\uff28\065\uff28\066\uff28\067\uff28\071\uff28" +
- "\073\uff28\074\uff28\075\uff28\077\uff28\100\uff28\101\uff28\102" +
- "\uff28\107\uff28\110\uff28\111\uff28\001\002\000\132\002\uff2a" +
- "\004\uff2a\005\uff2a\006\ufef3\007\uff2a\010\uff2a\011\uff2a\012" +
- "\uff2a\013\uff2a\014\uff2a\015\uff2a\016\uff2a\017\uff2a\020\uff2a" +
- "\021\uff2a\022\uff2a\023\uff2a\024\uff2a\025\uff2a\031\uff2a\032" +
- "\uff2a\053\uff2a\054\uff2a\055\uff2a\056\uff2a\057\uff2a\060\uff2a" +
- "\061\uff2a\062\uff2a\063\uff2a\064\uff2a\065\uff2a\066\uff2a\067" +
- "\uff2a\071\uff2a\073\uff2a\074\uff2a\075\uff2a\100\uff2a\101\uff2a" +
- "\102\uff2a\107\uff2a\110\uff2a\111\uff2a\001\002\000\216\006" +
- "\110\010\105\011\144\012\116\024\024\025\010\027\077" +
- "\030\125\033\100\034\126\036\045\037\163\040\153\041" +
- "\054\042\004\043\046\044\012\045\023\046\014\047\034" +
- "\050\117\051\075\052\067\053\071\054\205\055\037\056" +
- "\052\057\006\060\017\061\120\062\106\063\076\064\111" +
- "\065\131\066\101\067\055\070\162\071\025\072\005\073" +
- "\142\074\161\075\143\076\211\077\150\100\121\101\176" +
- "\102\202\103\213\104\207\105\212\106\060\107\122\110" +
- "\200\111\152\112\141\113\134\114\027\115\021\116\056" +
- "\117\133\120\147\121\064\122\057\123\063\124\160\125" +
- "\040\126\042\127\113\130\174\131\132\001\002\000\216" +
- "\006\110\010\105\011\144\012\116\024\024\025\010\027" +
- "\077\030\125\033\100\034\126\036\045\037\163\040\153" +
- "\041\054\042\004\043\046\044\012\045\023\046\014\047" +
- "\034\050\117\051\075\052\067\053\071\054\205\055\037" +
- "\056\052\057\006\060\017\061\120\062\106\063\076\064" +
- "\111\065\131\066\101\067\055\070\162\071\025\072\005" +
- "\073\142\074\161\075\143\076\211\077\150\100\121\101" +
- "\176\102\202\103\213\104\207\105\212\106\060\107\122" +
- "\110\200\111\152\112\141\113\134\114\027\115\021\116" +
- "\056\117\133\120\147\121\064\122\057\123\063\124\160" +
- "\125\040\126\042\127\113\130\174\131\132\001\002\000" +
- "\110\002\uffdb\005\uffdb\007\uffdb\010\uffdb\011\uffdb\012\uffdb" +
- "\013\uffdb\014\uffdb\015\uffdb\016\uffdb\017\uffdb\020\uffdb\021" +
- "\uffdb\022\uffdb\023\uffdb\032\uffdb\053\uffdb\054\uffdb\055\uffdb" +
- "\056\uffdb\057\uffdb\060\uffdb\061\uffdb\062\uffdb\063\uffdb\064" +
- "\uffdb\065\uffdb\066\uffdb\075\uffdb\100\uffdb\101\uffdb\102\uffdb" +
- "\107\uffdb\110\uffdb\111\uffdb\001\002\000\110\002\uffda\005" +
- "\uffda\007\uffda\010\uffda\011\uffda\012\uffda\013\uffda\014\uffda" +
- "\015\uffda\016\uffda\017\uffda\020\uffda\021\uffda\022\uffda\023" +
- "\uffda\032\uffda\053\uffda\054\uffda\055\uffda\056\uffda\057\uffda" +
- "\060\uffda\061\uffda\062\uffda\063\uffda\064\uffda\065\uffda\066" +
- "\uffda\075\uffda\100\uffda\101\uffda\102\uffda\107\uffda\110\uffda" +
- "\111\uffda\001\002\000\126\002\uff98\004\222\005\uff98\007" +
- "\uff98\010\uff98\011\uff98\012\uff98\013\uff98\014\uff98\015\uff98" +
- "\016\uff98\017\uff98\020\uff98\021\uff98\022\uff98\023\uff98\024" +
- "\uff98\025\uff98\032\uff98\053\uff98\054\uff98\055\uff98\056\uff98" +
- "\057\uff98\060\uff98\061\uff98\062\uff98\063\uff98\064\uff98\065" +
- "\uff98\066\uff98\067\uff98\071\uff98\073\uff98\074\uff98\075\uff98" +
- "\100\uff98\101\uff98\102\uff98\107\uff98\110\uff98\111\uff98\001" +
- "\002\000\126\002\uff97\004\uff97\005\uff97\007\uff97\010\uff97" +
- "\011\uff97\012\uff97\013\uff97\014\uff97\015\uff97\016\uff97\017" +
- "\uff97\020\uff97\021\uff97\022\uff97\023\uff97\024\uff97\025\uff97" +
- "\032\uff97\053\uff97\054\uff97\055\uff97\056\uff97\057\uff97\060" +
- "\uff97\061\uff97\062\uff97\063\uff97\064\uff97\065\uff97\066\uff97" +
- "\067\uff97\071\uff97\073\uff97\074\uff97\075\uff97\100\uff97\101" +
- "\uff97\102\uff97\107\uff97\110\uff97\111\uff97\001\002\000\216" +
- "\006\110\010\105\011\144\012\116\024\024\025\010\027" +
- "\077\030\125\033\100\034\126\036\045\037\163\040\153" +
- "\041\054\042\004\043\046\044\012\045\023\046\014\047" +
- "\034\050\117\051\075\052\067\053\071\054\205\055\037" +
- "\056\052\057\006\060\017\061\120\062\106\063\076\064" +
- "\111\065\131\066\101\067\055\070\162\071\025\072\005" +
- "\073\142\074\161\075\143\076\115\077\150\100\121\101" +
- "\176\102\202\103\164\104\053\105\155\106\060\107\122" +
- "\110\200\111\152\112\141\113\134\114\027\115\021\116" +
- "\056\117\133\120\147\121\064\122\057\123\063\124\160" +
- "\125\040\126\042\127\113\130\174\131\132\001\002\000" +
- "\006\005\225\032\224\001\002\000\216\006\110\010\105" +
- "\011\144\012\116\024\024\025\010\027\077\030\125\033" +
- "\100\034\126\036\045\037\163\040\153\041\054\042\004" +
- "\043\046\044\012\045\023\046\014\047\034\050\117\051" +
- "\075\052\067\053\071\054\205\055\037\056\052\057\006" +
- "\060\017\061\120\062\106\063\076\064\111\065\131\066" +
- "\101\067\055\070\162\071\025\072\005\073\142\074\161" +
- "\075\143\076\115\077\150\100\121\101\176\102\202\103" +
- "\164\104\053\105\155\106\060\107\122\110\200\111\152" +
- "\112\141\113\134\114\027\115\021\116\056\117\133\120" +
- "\147\121\064\122\057\123\063\124\160\125\040\126\042" +
- "\127\113\130\174\131\132\001\002\000\126\002\uff95\004" +
- "\uff95\005\uff95\007\uff95\010\uff95\011\uff95\012\uff95\013\uff95" +
- "\014\uff95\015\uff95\016\uff95\017\uff95\020\uff95\021\uff95\022" +
- "\uff95\023\uff95\024\uff95\025\uff95\032\uff95\053\uff95\054\uff95" +
- "\055\uff95\056\uff95\057\uff95\060\uff95\061\uff95\062\uff95\063" +
- "\uff95\064\uff95\065\uff95\066\uff95\067\uff95\071\uff95\073\uff95" +
- "\074\uff95\075\uff95\100\uff95\101\uff95\102\uff95\107\uff95\110" +
- "\uff95\111\uff95\001\002\000\012\002\ufffe\005\ufffe\007\ufffe" +
- "\032\ufffe\001\002\000\004\033\232\001\002\000\216\006" +
- "\110\010\105\011\144\012\116\024\024\025\010\027\077" +
- "\030\125\033\100\034\126\036\045\037\163\040\153\041" +
- "\054\042\004\043\046\044\012\045\023\046\014\047\034" +
- "\050\117\051\075\052\067\053\071\054\205\055\037\056" +
- "\052\057\006\060\017\061\120\062\106\063\076\064\111" +
- "\065\131\066\101\067\055\070\162\071\025\072\005\073" +
- "\142\074\161\075\143\076\115\077\150\100\121\101\176" +
- "\102\202\103\164\104\053\105\155\106\060\107\122\110" +
- "\200\111\152\112\141\113\134\114\027\115\021\116\056" +
- "\117\133\120\147\121\064\122\057\123\063\124\160\125" +
- "\040\126\042\127\113\130\174\131\132\001\002\000\020" +
- "\002\ufff9\005\ufff9\007\ufff9\032\ufff9\100\ufff9\101\ufff9\107" +
- "\ufff9\001\002\000\162\036\246\037\263\040\316\041\267" +
- "\042\261\043\257\044\311\045\241\046\310\047\276\050" +
- "\235\051\273\052\275\053\274\054\307\055\252\056\262" +
- "\057\317\060\240\061\260\062\256\063\271\064\277\065" +
- "\314\066\234\067\305\070\264\071\272\072\315\073\303" +
- "\074\233\075\251\076\245\077\254\100\266\101\265\102" +
- "\302\103\236\104\301\105\212\106\306\107\300\110\250" +
- "\111\255\112\141\113\134\114\320\115\312\116\313\117" +
- "\243\120\247\121\242\122\304\123\253\124\160\131\270" +
- "\001\002\000\136\002\uff30\004\uff30\005\uff30\006\uff30\007" +
- "\uff30\010\uff30\011\uff30\012\uff30\013\uff30\014\uff30\015\uff30" +
- "\016\uff30\017\uff30\020\uff30\021\uff30\022\uff30\023\uff30\024" +
- "\uff30\025\uff30\031\uff30\032\uff30\035\uff30\053\uff30\054\uff30" +
- "\055\uff30\056\uff30\057\uff30\060\uff30\061\uff30\062\uff30\063" +
- "\uff30\064\uff30\065\uff30\066\uff30\067\uff30\071\uff30\073\uff30" +
- "\074\uff30\075\uff30\077\uff30\100\uff30\101\uff30\102\uff30\107" +
- "\uff30\110\uff30\111\uff30\001\002\000\136\002\uff36\004\uff36" +
- "\005\uff36\006\uff36\007\uff36\010\uff36\011\uff36\012\uff36\013" +
- "\uff36\014\uff36\015\uff36\016\uff36\017\uff36\020\uff36\021\uff36" +
- "\022\uff36\023\uff36\024\uff36\025\uff36\031\uff36\032\uff36\035" +
- "\uff36\053\uff36\054\uff36\055\uff36\056\uff36\057\uff36\060\uff36" +
- "\061\uff36\062\uff36\063\uff36\064\uff36\065\uff36\066\uff36\067" +
- "\uff36\071\uff36\073\uff36\074\uff36\075\uff36\077\uff36\100\uff36" +
- "\101\uff36\102\uff36\107\uff36\110\uff36\111\uff36\001\002\000" +
- "\136\002\uff3b\004\uff3b\005\uff3b\006\uff3b\007\uff3b\010\uff3b" +
- "\011\uff3b\012\uff3b\013\uff3b\014\uff3b\015\uff3b\016\uff3b\017" +
- "\uff3b\020\uff3b\021\uff3b\022\uff3b\023\uff3b\024\uff3b\025\uff3b" +
- "\031\uff3b\032\uff3b\035\uff3b\053\uff3b\054\uff3b\055\uff3b\056" +
- "\uff3b\057\uff3b\060\uff3b\061\uff3b\062\uff3b\063\uff3b\064\uff3b" +
- "\065\uff3b\066\uff3b\067\uff3b\071\uff3b\073\uff3b\074\uff3b\075" +
- "\uff3b\077\uff3b\100\uff3b\101\uff3b\102\uff3b\107\uff3b\110\uff3b" +
- "\111\uff3b\001\002\000\136\002\uff2a\004\uff2a\005\uff2a\006" +
- "\uff2a\007\uff2a\010\uff2a\011\uff2a\012\uff2a\013\uff2a\014\uff2a" +
- "\015\uff2a\016\uff2a\017\uff2a\020\uff2a\021\uff2a\022\uff2a\023" +
- "\uff2a\024\uff2a\025\uff2a\031\uff2a\032\uff2a\035\uff2a\053\uff2a" +
- "\054\uff2a\055\uff2a\056\uff2a\057\uff2a\060\uff2a\061\uff2a\062" +
- "\uff2a\063\uff2a\064\uff2a\065\uff2a\066\uff2a\067\uff2a\071\uff2a" +
- "\073\uff2a\074\uff2a\075\uff2a\077\uff2a\100\uff2a\101\uff2a\102" +
- "\uff2a\107\uff2a\110\uff2a\111\uff2a\001\002\000\134\002\uff4d" +
- "\004\uff4d\005\uff4d\007\uff4d\010\uff4d\011\uff4d\012\uff4d\013" +
- "\uff4d\014\uff4d\015\uff4d\016\uff4d\017\uff4d\020\uff4d\021\uff4d" +
- "\022\uff4d\023\uff4d\024\uff4d\025\uff4d\031\324\032\uff4d\035" +
- "\uff4d\053\uff4d\054\uff4d\055\uff4d\056\uff4d\057\uff4d\060\uff4d" +
- "\061\uff4d\062\uff4d\063\uff4d\064\uff4d\065\uff4d\066\uff4d\067" +
- "\uff4d\071\uff4d\073\uff4d\074\uff4d\075\uff4d\077\uff4d\100\uff4d" +
- "\101\uff4d\102\uff4d\107\uff4d\110\uff4d\111\uff4d\001\002\000" +
- "\136\002\uff10\004\uff10\005\uff10\006\uff10\007\uff10\010\uff10" +
- "\011\uff10\012\uff10\013\uff10\014\uff10\015\uff10\016\uff10\017" +
- "\uff10\020\uff10\021\uff10\022\uff10\023\uff10\024\uff10\025\uff10" +
- "\031\uff10\032\uff10\035\uff10\053\uff10\054\uff10\055\uff10\056" +
- "\uff10\057\uff10\060\uff10\061\uff10\062\uff10\063\uff10\064\uff10" +
- "\065\uff10\066\uff10\067\uff10\071\uff10\073\uff10\074\uff10\075" +
- "\uff10\077\uff10\100\uff10\101\uff10\102\uff10\107\uff10\110\uff10" +
- "\111\uff10\001\002\000\136\002\uff3e\004\uff3e\005\uff3e\006" +
- "\uff3e\007\uff3e\010\uff3e\011\uff3e\012\uff3e\013\uff3e\014\uff3e" +
- "\015\uff3e\016\uff3e\017\uff3e\020\uff3e\021\uff3e\022\uff3e\023" +
- "\uff3e\024\uff3e\025\uff3e\031\uff3e\032\uff3e\035\uff3e\053\uff3e" +
- "\054\uff3e\055\uff3e\056\uff3e\057\uff3e\060\uff3e\061\uff3e\062" +
- "\uff3e\063\uff3e\064\uff3e\065\uff3e\066\uff3e\067\uff3e\071\uff3e" +
- "\073\uff3e\074\uff3e\075\uff3e\077\uff3e\100\uff3e\101\uff3e\102" +
- "\uff3e\107\uff3e\110\uff3e\111\uff3e\001\002\000\136\002\uff1a" +
- "\004\uff1a\005\uff1a\006\uff1a\007\uff1a\010\uff1a\011\uff1a\012" +
- "\uff1a\013\uff1a\014\uff1a\015\uff1a\016\uff1a\017\uff1a\020\uff1a" +
- "\021\uff1a\022\uff1a\023\uff1a\024\uff1a\025\uff1a\031\uff1a\032" +
- "\uff1a\035\uff1a\053\uff1a\054\uff1a\055\uff1a\056\uff1a\057\uff1a" +
- "\060\uff1a\061\uff1a\062\uff1a\063\uff1a\064\uff1a\065\uff1a\066" +
- "\uff1a\067\uff1a\071\uff1a\073\uff1a\074\uff1a\075\uff1a\077\uff1a" +
- "\100\uff1a\101\uff1a\102\uff1a\107\uff1a\110\uff1a\111\uff1a\001" +
- "\002\000\136\002\uff21\004\uff21\005\uff21\006\uff21\007\uff21" +
- "\010\uff21\011\uff21\012\uff21\013\uff21\014\uff21\015\uff21\016" +
- "\uff21\017\uff21\020\uff21\021\uff21\022\uff21\023\uff21\024\uff21" +
- "\025\uff21\031\uff21\032\uff21\035\uff21\053\uff21\054\uff21\055" +
- "\uff21\056\uff21\057\uff21\060\uff21\061\uff21\062\uff21\063\uff21" +
- "\064\uff21\065\uff21\066\uff21\067\uff21\071\uff21\073\uff21\074" +
- "\uff21\075\uff21\077\uff21\100\uff21\101\uff21\102\uff21\107\uff21" +
- "\110\uff21\111\uff21\001\002\000\004\077\322\001\002\000" +
- "\136\002\uff2e\004\uff2e\005\uff2e\006\uff2e\007\uff2e\010\uff2e" +
- "\011\uff2e\012\uff2e\013\uff2e\014\uff2e\015\uff2e\016\uff2e\017" +
- "\uff2e\020\uff2e\021\uff2e\022\uff2e\023\uff2e\024\uff2e\025\uff2e" +
- "\031\uff2e\032\uff2e\035\uff2e\053\uff2e\054\uff2e\055\uff2e\056" +
- "\uff2e\057\uff2e\060\uff2e\061\uff2e\062\uff2e\063\uff2e\064\uff2e" +
- "\065\uff2e\066\uff2e\067\uff2e\071\uff2e\073\uff2e\074\uff2e\075" +
- "\uff2e\077\uff2e\100\uff2e\101\uff2e\102\uff2e\107\uff2e\110\uff2e" +
- "\111\uff2e\001\002\000\136\002\uff45\004\uff45\005\uff45\006" +
- "\uff45\007\uff45\010\uff45\011\uff45\012\uff45\013\uff45\014\uff45" +
- "\015\uff45\016\uff45\017\uff45\020\uff45\021\uff45\022\uff45\023" +
- "\uff45\024\uff45\025\uff45\031\uff45\032\uff45\035\uff45\053\uff45" +
- "\054\uff45\055\uff45\056\uff45\057\uff45\060\uff45\061\uff45\062" +
- "\uff45\063\uff45\064\uff45\065\uff45\066\uff45\067\uff45\071\uff45" +
- "\073\uff45\074\uff45\075\uff45\077\uff45\100\uff45\101\uff45\102" +
- "\uff45\107\uff45\110\uff45\111\uff45\001\002\000\136\002\uff1b" +
- "\004\uff1b\005\uff1b\006\uff1b\007\uff1b\010\uff1b\011\uff1b\012" +
- "\uff1b\013\uff1b\014\uff1b\015\uff1b\016\uff1b\017\uff1b\020\uff1b" +
- "\021\uff1b\022\uff1b\023\uff1b\024\uff1b\025\uff1b\031\uff1b\032" +
- "\uff1b\035\uff1b\053\uff1b\054\uff1b\055\uff1b\056\uff1b\057\uff1b" +
- "\060\uff1b\061\uff1b\062\uff1b\063\uff1b\064\uff1b\065\uff1b\066" +
- "\uff1b\067\uff1b\071\uff1b\073\uff1b\074\uff1b\075\uff1b\077\uff1b" +
- "\100\uff1b\101\uff1b\102\uff1b\107\uff1b\110\uff1b\111\uff1b\001" +
- "\002\000\136\002\uff25\004\uff25\005\uff25\006\uff25\007\uff25" +
- "\010\uff25\011\uff25\012\uff25\013\uff25\014\uff25\015\uff25\016" +
- "\uff25\017\uff25\020\uff25\021\uff25\022\uff25\023\uff25\024\uff25" +
- "\025\uff25\031\uff25\032\uff25\035\uff25\053\uff25\054\uff25\055" +
- "\uff25\056\uff25\057\uff25\060\uff25\061\uff25\062\uff25\063\uff25" +
- "\064\uff25\065\uff25\066\uff25\067\uff25\071\uff25\073\uff25\074" +
- "\uff25\075\uff25\077\uff25\100\uff25\101\uff25\102\uff25\107\uff25" +
- "\110\uff25\111\uff25\001\002\000\136\002\uff2f\004\uff2f\005" +
- "\uff2f\006\uff2f\007\uff2f\010\uff2f\011\uff2f\012\uff2f\013\uff2f" +
- "\014\uff2f\015\uff2f\016\uff2f\017\uff2f\020\uff2f\021\uff2f\022" +
- "\uff2f\023\uff2f\024\uff2f\025\uff2f\031\uff2f\032\uff2f\035\uff2f" +
- "\053\uff2f\054\uff2f\055\uff2f\056\uff2f\057\uff2f\060\uff2f\061" +
- "\uff2f\062\uff2f\063\uff2f\064\uff2f\065\uff2f\066\uff2f\067\uff2f" +
- "\071\uff2f\073\uff2f\074\uff2f\075\uff2f\077\uff2f\100\uff2f\101" +
- "\uff2f\102\uff2f\107\uff2f\110\uff2f\111\uff2f\001\002\000\136" +
- "\002\uff13\004\uff13\005\uff13\006\uff13\007\uff13\010\uff13\011" +
- "\uff13\012\uff13\013\uff13\014\uff13\015\uff13\016\uff13\017\uff13" +
- "\020\uff13\021\uff13\022\uff13\023\uff13\024\uff13\025\uff13\031" +
- "\uff13\032\uff13\035\uff13\053\uff13\054\uff13\055\uff13\056\uff13" +
- "\057\uff13\060\uff13\061\uff13\062\uff13\063\uff13\064\uff13\065" +
- "\uff13\066\uff13\067\uff13\071\uff13\073\uff13\074\uff13\075\uff13" +
- "\077\uff13\100\uff13\101\uff13\102\uff13\107\uff13\110\uff13\111" +
- "\uff13\001\002\000\136\002\uff19\004\uff19\005\uff19\006\uff19" +
- "\007\uff19\010\uff19\011\uff19\012\uff19\013\uff19\014\uff19\015" +
- "\uff19\016\uff19\017\uff19\020\uff19\021\uff19\022\uff19\023\uff19" +
- "\024\uff19\025\uff19\031\uff19\032\uff19\035\uff19\053\uff19\054" +
- "\uff19\055\uff19\056\uff19\057\uff19\060\uff19\061\uff19\062\uff19" +
- "\063\uff19\064\uff19\065\uff19\066\uff19\067\uff19\071\uff19\073" +
- "\uff19\074\uff19\075\uff19\077\uff19\100\uff19\101\uff19\102\uff19" +
- "\107\uff19\110\uff19\111\uff19\001\002\000\136\002\uff2d\004" +
- "\uff2d\005\uff2d\006\uff2d\007\uff2d\010\uff2d\011\uff2d\012\uff2d" +
- "\013\uff2d\014\uff2d\015\uff2d\016\uff2d\017\uff2d\020\uff2d\021" +
- "\uff2d\022\uff2d\023\uff2d\024\uff2d\025\uff2d\031\uff2d\032\uff2d" +
- "\035\uff2d\053\uff2d\054\uff2d\055\uff2d\056\uff2d\057\uff2d\060" +
- "\uff2d\061\uff2d\062\uff2d\063\uff2d\064\uff2d\065\uff2d\066\uff2d" +
- "\067\uff2d\071\uff2d\073\uff2d\074\uff2d\075\uff2d\077\uff2d\100" +
- "\uff2d\101\uff2d\102\uff2d\107\uff2d\110\uff2d\111\uff2d\001\002" +
- "\000\136\002\uff24\004\uff24\005\uff24\006\uff24\007\uff24\010" +
- "\uff24\011\uff24\012\uff24\013\uff24\014\uff24\015\uff24\016\uff24" +
- "\017\uff24\020\uff24\021\uff24\022\uff24\023\uff24\024\uff24\025" +
- "\uff24\031\uff24\032\uff24\035\uff24\053\uff24\054\uff24\055\uff24" +
- "\056\uff24\057\uff24\060\uff24\061\uff24\062\uff24\063\uff24\064" +
- "\uff24\065\uff24\066\uff24\067\uff24\071\uff24\073\uff24\074\uff24" +
- "\075\uff24\077\uff24\100\uff24\101\uff24\102\uff24\107\uff24\110" +
- "\uff24\111\uff24\001\002\000\136\002\uff22\004\uff22\005\uff22" +
- "\006\uff22\007\uff22\010\uff22\011\uff22\012\uff22\013\uff22\014" +
- "\uff22\015\uff22\016\uff22\017\uff22\020\uff22\021\uff22\022\uff22" +
- "\023\uff22\024\uff22\025\uff22\031\uff22\032\uff22\035\uff22\053" +
- "\uff22\054\uff22\055\uff22\056\uff22\057\uff22\060\uff22\061\uff22" +
- "\062\uff22\063\uff22\064\uff22\065\uff22\066\uff22\067\uff22\071" +
- "\uff22\073\uff22\074\uff22\075\uff22\077\uff22\100\uff22\101\uff22" +
- "\102\uff22\107\uff22\110\uff22\111\uff22\001\002\000\136\002" +
- "\uff40\004\uff40\005\uff40\006\uff40\007\uff40\010\uff40\011\uff40" +
- "\012\uff40\013\uff40\014\uff40\015\uff40\016\uff40\017\uff40\020" +
- "\uff40\021\uff40\022\uff40\023\uff40\024\uff40\025\uff40\031\uff40" +
- "\032\uff40\035\uff40\053\uff40\054\uff40\055\uff40\056\uff40\057" +
- "\uff40\060\uff40\061\uff40\062\uff40\063\uff40\064\uff40\065\uff40" +
- "\066\uff40\067\uff40\071\uff40\073\uff40\074\uff40\075\uff40\077" +
- "\uff40\100\uff40\101\uff40\102\uff40\107\uff40\110\uff40\111\uff40" +
- "\001\002\000\136\002\uff23\004\uff23\005\uff23\006\uff23\007" +
- "\uff23\010\uff23\011\uff23\012\uff23\013\uff23\014\uff23\015\uff23" +
- "\016\uff23\017\uff23\020\uff23\021\uff23\022\uff23\023\uff23\024" +
- "\uff23\025\uff23\031\uff23\032\uff23\035\uff23\053\uff23\054\uff23" +
- "\055\uff23\056\uff23\057\uff23\060\uff23\061\uff23\062\uff23\063" +
- "\uff23\064\uff23\065\uff23\066\uff23\067\uff23\071\uff23\073\uff23" +
- "\074\uff23\075\uff23\077\uff23\100\uff23\101\uff23\102\uff23\107" +
- "\uff23\110\uff23\111\uff23\001\002\000\136\002\uff41\004\uff41" +
- "\005\uff41\006\uff41\007\uff41\010\uff41\011\uff41\012\uff41\013" +
- "\uff41\014\uff41\015\uff41\016\uff41\017\uff41\020\uff41\021\uff41" +
- "\022\uff41\023\uff41\024\uff41\025\uff41\031\uff41\032\uff41\035" +
- "\uff41\053\uff41\054\uff41\055\uff41\056\uff41\057\uff41\060\uff41" +
- "\061\uff41\062\uff41\063\uff41\064\uff41\065\uff41\066\uff41\067" +
- "\uff41\071\uff41\073\uff41\074\uff41\075\uff41\077\uff41\100\uff41" +
- "\101\uff41\102\uff41\107\uff41\110\uff41\111\uff41\001\002\000" +
- "\136\002\uff12\004\uff12\005\uff12\006\uff12\007\uff12\010\uff12" +
- "\011\uff12\012\uff12\013\uff12\014\uff12\015\uff12\016\uff12\017" +
- "\uff12\020\uff12\021\uff12\022\uff12\023\uff12\024\uff12\025\uff12" +
- "\031\uff12\032\uff12\035\uff12\053\uff12\054\uff12\055\uff12\056" +
- "\uff12\057\uff12\060\uff12\061\uff12\062\uff12\063\uff12\064\uff12" +
- "\065\uff12\066\uff12\067\uff12\071\uff12\073\uff12\074\uff12\075" +
- "\uff12\077\uff12\100\uff12\101\uff12\102\uff12\107\uff12\110\uff12" +
- "\111\uff12\001\002\000\136\002\uff44\004\uff44\005\uff44\006" +
- "\uff44\007\uff44\010\uff44\011\uff44\012\uff44\013\uff44\014\uff44" +
- "\015\uff44\016\uff44\017\uff44\020\uff44\021\uff44\022\uff44\023" +
- "\uff44\024\uff44\025\uff44\031\uff44\032\uff44\035\uff44\053\uff44" +
- "\054\uff44\055\uff44\056\uff44\057\uff44\060\uff44\061\uff44\062" +
- "\uff44\063\uff44\064\uff44\065\uff44\066\uff44\067\uff44\071\uff44" +
- "\073\uff44\074\uff44\075\uff44\077\uff44\100\uff44\101\uff44\102" +
- "\uff44\107\uff44\110\uff44\111\uff44\001\002\000\136\002\uff34" +
- "\004\uff34\005\uff34\006\uff34\007\uff34\010\uff34\011\uff34\012" +
- "\uff34\013\uff34\014\uff34\015\uff34\016\uff34\017\uff34\020\uff34" +
- "\021\uff34\022\uff34\023\uff34\024\uff34\025\uff34\031\uff34\032" +
- "\uff34\035\uff34\053\uff34\054\uff34\055\uff34\056\uff34\057\uff34" +
- "\060\uff34\061\uff34\062\uff34\063\uff34\064\uff34\065\uff34\066" +
- "\uff34\067\uff34\071\uff34\073\uff34\074\uff34\075\uff34\077\uff34" +
- "\100\uff34\101\uff34\102\uff34\107\uff34\110\uff34\111\uff34\001" +
- "\002\000\136\002\uff2b\004\uff2b\005\uff2b\006\uff2b\007\uff2b" +
- "\010\uff2b\011\uff2b\012\uff2b\013\uff2b\014\uff2b\015\uff2b\016" +
- "\uff2b\017\uff2b\020\uff2b\021\uff2b\022\uff2b\023\uff2b\024\uff2b" +
- "\025\uff2b\031\uff2b\032\uff2b\035\uff2b\053\uff2b\054\uff2b\055" +
- "\uff2b\056\uff2b\057\uff2b\060\uff2b\061\uff2b\062\uff2b\063\uff2b" +
- "\064\uff2b\065\uff2b\066\uff2b\067\uff2b\071\uff2b\073\uff2b\074" +
- "\uff2b\075\uff2b\077\uff2b\100\uff2b\101\uff2b\102\uff2b\107\uff2b" +
- "\110\uff2b\111\uff2b\001\002\000\136\002\uff2c\004\uff2c\005" +
- "\uff2c\006\uff2c\007\uff2c\010\uff2c\011\uff2c\012\uff2c\013\uff2c" +
- "\014\uff2c\015\uff2c\016\uff2c\017\uff2c\020\uff2c\021\uff2c\022" +
- "\uff2c\023\uff2c\024\uff2c\025\uff2c\031\uff2c\032\uff2c\035\uff2c" +
- "\053\uff2c\054\uff2c\055\uff2c\056\uff2c\057\uff2c\060\uff2c\061" +
- "\uff2c\062\uff2c\063\uff2c\064\uff2c\065\uff2c\066\uff2c\067\uff2c" +
- "\071\uff2c\073\uff2c\074\uff2c\075\uff2c\077\uff2c\100\uff2c\101" +
- "\uff2c\102\uff2c\107\uff2c\110\uff2c\111\uff2c\001\002\000\136" +
- "\002\uff42\004\uff42\005\uff42\006\uff42\007\uff42\010\uff42\011" +
- "\uff42\012\uff42\013\uff42\014\uff42\015\uff42\016\uff42\017\uff42" +
- "\020\uff42\021\uff42\022\uff42\023\uff42\024\uff42\025\uff42\031" +
- "\uff42\032\uff42\035\uff42\053\uff42\054\uff42\055\uff42\056\uff42" +
- "\057\uff42\060\uff42\061\uff42\062\uff42\063\uff42\064\uff42\065" +
- "\uff42\066\uff42\067\uff42\071\uff42\073\uff42\074\uff42\075\uff42" +
- "\077\uff42\100\uff42\101\uff42\102\uff42\107\uff42\110\uff42\111" +
- "\uff42\001\002\000\136\002\uff47\004\uff47\005\uff47\006\uff47" +
- "\007\uff47\010\uff47\011\uff47\012\uff47\013\uff47\014\uff47\015" +
- "\uff47\016\uff47\017\uff47\020\uff47\021\uff47\022\uff47\023\uff47" +
- "\024\uff47\025\uff47\031\uff47\032\uff47\035\uff47\053\uff47\054" +
- "\uff47\055\uff47\056\uff47\057\uff47\060\uff47\061\uff47\062\uff47" +
- "\063\uff47\064\uff47\065\uff47\066\uff47\067\uff47\071\uff47\073" +
- "\uff47\074\uff47\075\uff47\077\uff47\100\uff47\101\uff47\102\uff47" +
- "\107\uff47\110\uff47\111\uff47\001\002\000\136\002\uff16\004" +
- "\uff16\005\uff16\006\uff16\007\uff16\010\uff16\011\uff16\012\uff16" +
- "\013\uff16\014\uff16\015\uff16\016\uff16\017\uff16\020\uff16\021" +
- "\uff16\022\uff16\023\uff16\024\uff16\025\uff16\031\uff16\032\uff16" +
- "\035\uff16\053\uff16\054\uff16\055\uff16\056\uff16\057\uff16\060" +
- "\uff16\061\uff16\062\uff16\063\uff16\064\uff16\065\uff16\066\uff16" +
- "\067\uff16\071\uff16\073\uff16\074\uff16\075\uff16\077\uff16\100" +
- "\uff16\101\uff16\102\uff16\107\uff16\110\uff16\111\uff16\001\002" +
- "\000\136\002\uff32\004\uff32\005\uff32\006\uff32\007\uff32\010" +
- "\uff32\011\uff32\012\uff32\013\uff32\014\uff32\015\uff32\016\uff32" +
- "\017\uff32\020\uff32\021\uff32\022\uff32\023\uff32\024\uff32\025" +
- "\uff32\031\uff32\032\uff32\035\uff32\053\uff32\054\uff32\055\uff32" +
- "\056\uff32\057\uff32\060\uff32\061\uff32\062\uff32\063\uff32\064" +
- "\uff32\065\uff32\066\uff32\067\uff32\071\uff32\073\uff32\074\uff32" +
- "\075\uff32\077\uff32\100\uff32\101\uff32\102\uff32\107\uff32\110" +
- "\uff32\111\uff32\001\002\000\136\002\uff3a\004\uff3a\005\uff3a" +
- "\006\uff3a\007\uff3a\010\uff3a\011\uff3a\012\uff3a\013\uff3a\014" +
- "\uff3a\015\uff3a\016\uff3a\017\uff3a\020\uff3a\021\uff3a\022\uff3a" +
- "\023\uff3a\024\uff3a\025\uff3a\031\uff3a\032\uff3a\035\uff3a\053" +
- "\uff3a\054\uff3a\055\uff3a\056\uff3a\057\uff3a\060\uff3a\061\uff3a" +
- "\062\uff3a\063\uff3a\064\uff3a\065\uff3a\066\uff3a\067\uff3a\071" +
- "\uff3a\073\uff3a\074\uff3a\075\uff3a\077\uff3a\100\uff3a\101\uff3a" +
- "\102\uff3a\107\uff3a\110\uff3a\111\uff3a\001\002\000\136\002" +
- "\uff15\004\uff15\005\uff15\006\uff15\007\uff15\010\uff15\011\uff15" +
- "\012\uff15\013\uff15\014\uff15\015\uff15\016\uff15\017\uff15\020" +
- "\uff15\021\uff15\022\uff15\023\uff15\024\uff15\025\uff15\031\uff15" +
- "\032\uff15\035\uff15\053\uff15\054\uff15\055\uff15\056\uff15\057" +
- "\uff15\060\uff15\061\uff15\062\uff15\063\uff15\064\uff15\065\uff15" +
- "\066\uff15\067\uff15\071\uff15\073\uff15\074\uff15\075\uff15\077" +
- "\uff15\100\uff15\101\uff15\102\uff15\107\uff15\110\uff15\111\uff15" +
- "\001\002\000\136\002\uff39\004\uff39\005\uff39\006\uff39\007" +
- "\uff39\010\uff39\011\uff39\012\uff39\013\uff39\014\uff39\015\uff39" +
- "\016\uff39\017\uff39\020\uff39\021\uff39\022\uff39\023\uff39\024" +
- "\uff39\025\uff39\031\uff39\032\uff39\035\uff39\053\uff39\054\uff39" +
- "\055\uff39\056\uff39\057\uff39\060\uff39\061\uff39\062\uff39\063" +
- "\uff39\064\uff39\065\uff39\066\uff39\067\uff39\071\uff39\073\uff39" +
- "\074\uff39\075\uff39\077\uff39\100\uff39\101\uff39\102\uff39\107" +
- "\uff39\110\uff39\111\uff39\001\002\000\136\002\uff3c\004\uff3c" +
- "\005\uff3c\006\uff3c\007\uff3c\010\uff3c\011\uff3c\012\uff3c\013" +
- "\uff3c\014\uff3c\015\uff3c\016\uff3c\017\uff3c\020\uff3c\021\uff3c" +
- "\022\uff3c\023\uff3c\024\uff3c\025\uff3c\031\uff3c\032\uff3c\035" +
- "\uff3c\053\uff3c\054\uff3c\055\uff3c\056\uff3c\057\uff3c\060\uff3c" +
- "\061\uff3c\062\uff3c\063\uff3c\064\uff3c\065\uff3c\066\uff3c\067" +
- "\uff3c\071\uff3c\073\uff3c\074\uff3c\075\uff3c\077\uff3c\100\uff3c" +
- "\101\uff3c\102\uff3c\107\uff3c\110\uff3c\111\uff3c\001\002\000" +
- "\136\002\uff38\004\uff38\005\uff38\006\uff38\007\uff38\010\uff38" +
- "\011\uff38\012\uff38\013\uff38\014\uff38\015\uff38\016\uff38\017" +
- "\uff38\020\uff38\021\uff38\022\uff38\023\uff38\024\uff38\025\uff38" +
- "\031\uff38\032\uff38\035\uff38\053\uff38\054\uff38\055\uff38\056" +
- "\uff38\057\uff38\060\uff38\061\uff38\062\uff38\063\uff38\064\uff38" +
- "\065\uff38\066\uff38\067\uff38\071\uff38\073\uff38\074\uff38\075" +
- "\uff38\077\uff38\100\uff38\101\uff38\102\uff38\107\uff38\110\uff38" +
- "\111\uff38\001\002\000\136\002\uff26\004\uff26\005\uff26\006" +
- "\uff26\007\uff26\010\uff26\011\uff26\012\uff26\013\uff26\014\uff26" +
- "\015\uff26\016\uff26\017\uff26\020\uff26\021\uff26\022\uff26\023" +
- "\uff26\024\uff26\025\uff26\031\uff26\032\uff26\035\uff26\053\uff26" +
- "\054\uff26\055\uff26\056\uff26\057\uff26\060\uff26\061\uff26\062" +
- "\uff26\063\uff26\064\uff26\065\uff26\066\uff26\067\uff26\071\uff26" +
- "\073\uff26\074\uff26\075\uff26\077\uff26\100\uff26\101\uff26\102" +
- "\uff26\107\uff26\110\uff26\111\uff26\001\002\000\136\002\uff29" +
- "\004\uff29\005\uff29\006\uff29\007\uff29\010\uff29\011\uff29\012" +
- "\uff29\013\uff29\014\uff29\015\uff29\016\uff29\017\uff29\020\uff29" +
- "\021\uff29\022\uff29\023\uff29\024\uff29\025\uff29\031\uff29\032" +
- "\uff29\035\uff29\053\uff29\054\uff29\055\uff29\056\uff29\057\uff29" +
- "\060\uff29\061\uff29\062\uff29\063\uff29\064\uff29\065\uff29\066" +
- "\uff29\067\uff29\071\uff29\073\uff29\074\uff29\075\uff29\077\uff29" +
- "\100\uff29\101\uff29\102\uff29\107\uff29\110\uff29\111\uff29\001" +
- "\002\000\136\002\uff46\004\uff46\005\uff46\006\uff46\007\uff46" +
- "\010\uff46\011\uff46\012\uff46\013\uff46\014\uff46\015\uff46\016" +
- "\uff46\017\uff46\020\uff46\021\uff46\022\uff46\023\uff46\024\uff46" +
- "\025\uff46\031\uff46\032\uff46\035\uff46\053\uff46\054\uff46\055" +
- "\uff46\056\uff46\057\uff46\060\uff46\061\uff46\062\uff46\063\uff46" +
- "\064\uff46\065\uff46\066\uff46\067\uff46\071\uff46\073\uff46\074" +
- "\uff46\075\uff46\077\uff46\100\uff46\101\uff46\102\uff46\107\uff46" +
- "\110\uff46\111\uff46\001\002\000\136\002\uff31\004\uff31\005" +
- "\uff31\006\uff31\007\uff31\010\uff31\011\uff31\012\uff31\013\uff31" +
- "\014\uff31\015\uff31\016\uff31\017\uff31\020\uff31\021\uff31\022" +
- "\uff31\023\uff31\024\uff31\025\uff31\031\uff31\032\uff31\035\uff31" +
- "\053\uff31\054\uff31\055\uff31\056\uff31\057\uff31\060\uff31\061" +
- "\uff31\062\uff31\063\uff31\064\uff31\065\uff31\066\uff31\067\uff31" +
- "\071\uff31\073\uff31\074\uff31\075\uff31\077\uff31\100\uff31\101" +
- "\uff31\102\uff31\107\uff31\110\uff31\111\uff31\001\002\000\136" +
- "\002\uff1f\004\uff1f\005\uff1f\006\uff1f\007\uff1f\010\uff1f\011" +
- "\uff1f\012\uff1f\013\uff1f\014\uff1f\015\uff1f\016\uff1f\017\uff1f" +
- "\020\uff1f\021\uff1f\022\uff1f\023\uff1f\024\uff1f\025\uff1f\031" +
- "\uff1f\032\uff1f\035\uff1f\053\uff1f\054\uff1f\055\uff1f\056\uff1f" +
- "\057\uff1f\060\uff1f\061\uff1f\062\uff1f\063\uff1f\064\uff1f\065" +
- "\uff1f\066\uff1f\067\uff1f\071\uff1f\073\uff1f\074\uff1f\075\uff1f" +
- "\077\uff1f\100\uff1f\101\uff1f\102\uff1f\107\uff1f\110\uff1f\111" +
- "\uff1f\001\002\000\136\002\uff35\004\uff35\005\uff35\006\uff35" +
- "\007\uff35\010\uff35\011\uff35\012\uff35\013\uff35\014\uff35\015" +
- "\uff35\016\uff35\017\uff35\020\uff35\021\uff35\022\uff35\023\uff35" +
- "\024\uff35\025\uff35\031\uff35\032\uff35\035\uff35\053\uff35\054" +
- "\uff35\055\uff35\056\uff35\057\uff35\060\uff35\061\uff35\062\uff35" +
- "\063\uff35\064\uff35\065\uff35\066\uff35\067\uff35\071\uff35\073" +
- "\uff35\074\uff35\075\uff35\077\uff35\100\uff35\101\uff35\102\uff35" +
- "\107\uff35\110\uff35\111\uff35\001\002\000\136\002\uff27\004" +
- "\uff27\005\uff27\006\uff27\007\uff27\010\uff27\011\uff27\012\uff27" +
- "\013\uff27\014\uff27\015\uff27\016\uff27\017\uff27\020\uff27\021" +
- "\uff27\022\uff27\023\uff27\024\uff27\025\uff27\031\uff27\032\uff27" +
- "\035\uff27\053\uff27\054\uff27\055\uff27\056\uff27\057\uff27\060" +
- "\uff27\061\uff27\062\uff27\063\uff27\064\uff27\065\uff27\066\uff27" +
- "\067\uff27\071\uff27\073\uff27\074\uff27\075\uff27\077\uff27\100" +
- "\uff27\101\uff27\102\uff27\107\uff27\110\uff27\111\uff27\001\002" +
- "\000\136\002\uff14\004\uff14\005\uff14\006\uff14\007\uff14\010" +
- "\uff14\011\uff14\012\uff14\013\uff14\014\uff14\015\uff14\016\uff14" +
- "\017\uff14\020\uff14\021\uff14\022\uff14\023\uff14\024\uff14\025" +
- "\uff14\031\uff14\032\uff14\035\uff14\053\uff14\054\uff14\055\uff14" +
- "\056\uff14\057\uff14\060\uff14\061\uff14\062\uff14\063\uff14\064" +
- "\uff14\065\uff14\066\uff14\067\uff14\071\uff14\073\uff14\074\uff14" +
- "\075\uff14\077\uff14\100\uff14\101\uff14\102\uff14\107\uff14\110" +
- "\uff14\111\uff14\001\002\000\136\002\uff3d\004\uff3d\005\uff3d" +
- "\006\uff3d\007\uff3d\010\uff3d\011\uff3d\012\uff3d\013\uff3d\014" +
- "\uff3d\015\uff3d\016\uff3d\017\uff3d\020\uff3d\021\uff3d\022\uff3d" +
- "\023\uff3d\024\uff3d\025\uff3d\031\uff3d\032\uff3d\035\uff3d\053" +
- "\uff3d\054\uff3d\055\uff3d\056\uff3d\057\uff3d\060\uff3d\061\uff3d" +
- "\062\uff3d\063\uff3d\064\uff3d\065\uff3d\066\uff3d\067\uff3d\071" +
- "\uff3d\073\uff3d\074\uff3d\075\uff3d\077\uff3d\100\uff3d\101\uff3d" +
- "\102\uff3d\107\uff3d\110\uff3d\111\uff3d\001\002\000\136\002" +
- "\uff3f\004\uff3f\005\uff3f\006\uff3f\007\uff3f\010\uff3f\011\uff3f" +
- "\012\uff3f\013\uff3f\014\uff3f\015\uff3f\016\uff3f\017\uff3f\020" +
- "\uff3f\021\uff3f\022\uff3f\023\uff3f\024\uff3f\025\uff3f\031\uff3f" +
- "\032\uff3f\035\uff3f\053\uff3f\054\uff3f\055\uff3f\056\uff3f\057" +
- "\uff3f\060\uff3f\061\uff3f\062\uff3f\063\uff3f\064\uff3f\065\uff3f" +
- "\066\uff3f\067\uff3f\071\uff3f\073\uff3f\074\uff3f\075\uff3f\077" +
- "\uff3f\100\uff3f\101\uff3f\102\uff3f\107\uff3f\110\uff3f\111\uff3f" +
- "\001\002\000\136\002\uff20\004\uff20\005\uff20\006\uff20\007" +
- "\uff20\010\uff20\011\uff20\012\uff20\013\uff20\014\uff20\015\uff20" +
- "\016\uff20\017\uff20\020\uff20\021\uff20\022\uff20\023\uff20\024" +
- "\uff20\025\uff20\031\uff20\032\uff20\035\uff20\053\uff20\054\uff20" +
- "\055\uff20\056\uff20\057\uff20\060\uff20\061\uff20\062\uff20\063" +
- "\uff20\064\uff20\065\uff20\066\uff20\067\uff20\071\uff20\073\uff20" +
- "\074\uff20\075\uff20\077\uff20\100\uff20\101\uff20\102\uff20\107" +
- "\uff20\110\uff20\111\uff20\001\002\000\136\002\uff18\004\uff18" +
- "\005\uff18\006\uff18\007\uff18\010\uff18\011\uff18\012\uff18\013" +
- "\uff18\014\uff18\015\uff18\016\uff18\017\uff18\020\uff18\021\uff18" +
- "\022\uff18\023\uff18\024\uff18\025\uff18\031\uff18\032\uff18\035" +
- "\uff18\053\uff18\054\uff18\055\uff18\056\uff18\057\uff18\060\uff18" +
- "\061\uff18\062\uff18\063\uff18\064\uff18\065\uff18\066\uff18\067" +
- "\uff18\071\uff18\073\uff18\074\uff18\075\uff18\077\uff18\100\uff18" +
- "\101\uff18\102\uff18\107\uff18\110\uff18\111\uff18\001\002\000" +
- "\136\002\uff37\004\uff37\005\uff37\006\uff37\007\uff37\010\uff37" +
- "\011\uff37\012\uff37\013\uff37\014\uff37\015\uff37\016\uff37\017" +
- "\uff37\020\uff37\021\uff37\022\uff37\023\uff37\024\uff37\025\uff37" +
- "\031\uff37\032\uff37\035\uff37\053\uff37\054\uff37\055\uff37\056" +
- "\uff37\057\uff37\060\uff37\061\uff37\062\uff37\063\uff37\064\uff37" +
- "\065\uff37\066\uff37\067\uff37\071\uff37\073\uff37\074\uff37\075" +
- "\uff37\077\uff37\100\uff37\101\uff37\102\uff37\107\uff37\110\uff37" +
- "\111\uff37\001\002\000\136\002\uff33\004\uff33\005\uff33\006" +
- "\uff33\007\uff33\010\uff33\011\uff33\012\uff33\013\uff33\014\uff33" +
- "\015\uff33\016\uff33\017\uff33\020\uff33\021\uff33\022\uff33\023" +
- "\uff33\024\uff33\025\uff33\031\uff33\032\uff33\035\uff33\053\uff33" +
- "\054\uff33\055\uff33\056\uff33\057\uff33\060\uff33\061\uff33\062" +
- "\uff33\063\uff33\064\uff33\065\uff33\066\uff33\067\uff33\071\uff33" +
- "\073\uff33\074\uff33\075\uff33\077\uff33\100\uff33\101\uff33\102" +
- "\uff33\107\uff33\110\uff33\111\uff33\001\002\000\136\002\uff43" +
- "\004\uff43\005\uff43\006\uff43\007\uff43\010\uff43\011\uff43\012" +
- "\uff43\013\uff43\014\uff43\015\uff43\016\uff43\017\uff43\020\uff43" +
- "\021\uff43\022\uff43\023\uff43\024\uff43\025\uff43\031\uff43\032" +
- "\uff43\035\uff43\053\uff43\054\uff43\055\uff43\056\uff43\057\uff43" +
- "\060\uff43\061\uff43\062\uff43\063\uff43\064\uff43\065\uff43\066" +
- "\uff43\067\uff43\071\uff43\073\uff43\074\uff43\075\uff43\077\uff43" +
- "\100\uff43\101\uff43\102\uff43\107\uff43\110\uff43\111\uff43\001" +
- "\002\000\136\002\uff11\004\uff11\005\uff11\006\uff11\007\uff11" +
- "\010\uff11\011\uff11\012\uff11\013\uff11\014\uff11\015\uff11\016" +
- "\uff11\017\uff11\020\uff11\021\uff11\022\uff11\023\uff11\024\uff11" +
- "\025\uff11\031\uff11\032\uff11\035\uff11\053\uff11\054\uff11\055" +
- "\uff11\056\uff11\057\uff11\060\uff11\061\uff11\062\uff11\063\uff11" +
- "\064\uff11\065\uff11\066\uff11\067\uff11\071\uff11\073\uff11\074" +
- "\uff11\075\uff11\077\uff11\100\uff11\101\uff11\102\uff11\107\uff11" +
- "\110\uff11\111\uff11\001\002\000\136\002\uff1c\004\uff1c\005" +
- "\uff1c\006\uff1c\007\uff1c\010\uff1c\011\uff1c\012\uff1c\013\uff1c" +
- "\014\uff1c\015\uff1c\016\uff1c\017\uff1c\020\uff1c\021\uff1c\022" +
- "\uff1c\023\uff1c\024\uff1c\025\uff1c\031\uff1c\032\uff1c\035\uff1c" +
- "\053\uff1c\054\uff1c\055\uff1c\056\uff1c\057\uff1c\060\uff1c\061" +
- "\uff1c\062\uff1c\063\uff1c\064\uff1c\065\uff1c\066\uff1c\067\uff1c" +
- "\071\uff1c\073\uff1c\074\uff1c\075\uff1c\077\uff1c\100\uff1c\101" +
- "\uff1c\102\uff1c\107\uff1c\110\uff1c\111\uff1c\001\002\000\130" +
- "\002\uff4e\004\uff4e\005\uff4e\007\uff4e\010\uff4e\011\uff4e\012" +
- "\uff4e\013\uff4e\014\uff4e\015\uff4e\016\uff4e\017\uff4e\020\uff4e" +
- "\021\uff4e\022\uff4e\023\uff4e\024\uff4e\025\uff4e\032\uff4e\053" +
- "\uff4e\054\uff4e\055\uff4e\056\uff4e\057\uff4e\060\uff4e\061\uff4e" +
- "\062\uff4e\063\uff4e\064\uff4e\065\uff4e\066\uff4e\067\uff4e\071" +
- "\uff4e\073\uff4e\074\uff4e\075\uff4e\077\uff4e\100\uff4e\101\uff4e" +
- "\102\uff4e\107\uff4e\110\uff4e\111\uff4e\001\002\000\216\006" +
- "\110\010\105\011\144\012\116\024\024\025\010\027\077" +
- "\030\125\033\100\034\126\036\045\037\163\040\153\041" +
- "\054\042\004\043\046\044\012\045\023\046\014\047\034" +
- "\050\117\051\075\052\067\053\071\054\205\055\037\056" +
- "\052\057\006\060\017\061\120\062\106\063\076\064\111" +
- "\065\131\066\101\067\055\070\162\071\025\072\005\073" +
- "\142\074\161\075\143\076\115\077\150\100\121\101\176" +
- "\102\202\103\164\104\053\105\155\106\060\107\122\110" +
- "\200\111\152\112\141\113\134\114\027\115\021\116\056" +
- "\117\133\120\147\121\064\122\057\123\063\124\160\125" +
- "\040\126\042\127\113\130\174\131\132\001\002\000\006" +
- "\032\ufff7\100\ufff7\001\002\000\162\036\246\037\263\040" +
- "\316\041\267\042\261\043\257\044\311\045\241\046\310" +
- "\047\276\050\235\051\273\052\275\053\274\054\307\055" +
- "\252\056\262\057\317\060\240\061\260\062\256\063\271" +
- "\064\277\065\314\066\234\067\305\070\264\071\272\072" +
- "\315\073\303\074\233\075\251\076\245\077\254\100\266" +
- "\101\265\102\302\103\236\104\301\105\212\106\306\107" +
- "\300\110\250\111\255\112\141\113\134\114\320\115\312" +
- "\116\313\117\243\120\247\121\242\122\304\123\253\124" +
- "\160\131\270\001\002\000\132\002\uff4c\004\uff4c\005\uff4c" +
- "\007\uff4c\010\uff4c\011\uff4c\012\uff4c\013\uff4c\014\uff4c\015" +
- "\uff4c\016\uff4c\017\uff4c\020\uff4c\021\uff4c\022\uff4c\023\uff4c" +
- "\024\uff4c\025\uff4c\032\uff4c\035\uff4c\053\uff4c\054\uff4c\055" +
- "\uff4c\056\uff4c\057\uff4c\060\uff4c\061\uff4c\062\uff4c\063\uff4c" +
- "\064\uff4c\065\uff4c\066\uff4c\067\uff4c\071\uff4c\073\uff4c\074" +
- "\uff4c\075\uff4c\077\uff4c\100\uff4c\101\uff4c\102\uff4c\107\uff4c" +
- "\110\uff4c\111\uff4c\001\002\000\162\036\246\037\263\040" +
- "\316\041\267\042\261\043\257\044\311\045\241\046\310" +
- "\047\276\050\235\051\273\052\275\053\274\054\307\055" +
- "\252\056\262\057\317\060\240\061\260\062\256\063\271" +
- "\064\277\065\314\066\234\067\305\070\264\071\272\072" +
- "\315\073\303\074\233\075\251\076\245\077\254\100\266" +
- "\101\265\102\302\103\236\104\301\105\212\106\306\107" +
- "\300\110\250\111\255\112\141\113\134\114\320\115\312" +
- "\116\313\117\243\120\247\121\242\122\304\123\253\124" +
- "\160\131\270\001\002\000\006\032\333\101\334\001\002" +
- "\000\004\077\331\001\002\000\216\006\110\010\105\011" +
- "\144\012\116\024\024\025\010\027\077\030\125\033\100" +
- "\034\126\036\045\037\163\040\153\041\054\042\004\043" +
- "\046\044\012\045\023\046\014\047\034\050\117\051\075" +
- "\052\067\053\071\054\205\055\037\056\052\057\006\060" +
- "\017\061\120\062\106\063\076\064\111\065\131\066\101" +
- "\067\055\070\162\071\025\072\005\073\142\074\161\075" +
- "\143\076\115\077\150\100\121\101\176\102\202\103\164" +
- "\104\053\105\155\106\060\107\122\110\200\111\152\112" +
- "\141\113\134\114\027\115\021\116\056\117\133\120\147" +
- "\121\064\122\057\123\063\124\160\125\040\126\042\127" +
- "\113\130\174\131\132\001\002\000\006\032\ufff4\101\ufff4" +
- "\001\002\000\004\033\336\001\002\000\216\006\110\010" +
- "\105\011\144\012\116\024\024\025\010\027\077\030\125" +
- "\033\100\034\126\036\045\037\163\040\153\041\054\042" +
- "\004\043\046\044\012\045\023\046\014\047\034\050\117" +
- "\051\075\052\067\053\071\054\205\055\037\056\052\057" +
- "\006\060\017\061\120\062\106\063\076\064\111\065\131" +
- "\066\101\067\055\070\162\071\025\072\005\073\142\074" +
- "\161\075\143\076\115\077\150\100\121\101\176\102\202" +
- "\103\164\104\053\105\155\106\060\107\122\110\200\111" +
- "\152\112\141\113\134\114\027\115\021\116\056\117\133" +
- "\120\147\121\064\122\057\123\063\124\160\125\040\126" +
- "\042\127\113\130\174\131\132\001\002\000\020\002\ufff6" +
- "\005\ufff6\007\ufff6\032\ufff6\100\ufff6\101\ufff6\107\ufff6\001" +
- "\002\000\162\036\246\037\263\040\316\041\267\042\261" +
- "\043\257\044\311\045\241\046\310\047\276\050\235\051" +
- "\273\052\275\053\274\054\307\055\252\056\262\057\317" +
- "\060\240\061\260\062\256\063\271\064\277\065\314\066" +
- "\234\067\305\070\264\071\272\072\315\073\303\074\233" +
- "\075\251\076\245\077\254\100\266\101\265\102\302\103" +
- "\236\104\301\105\212\106\306\107\300\110\250\111\255" +
- "\112\141\113\134\114\320\115\312\116\313\117\243\120" +
- "\247\121\242\122\304\123\253\124\160\131\270\001\002" +
- "\000\004\077\340\001\002\000\216\006\110\010\105\011" +
- "\144\012\116\024\024\025\010\027\077\030\125\033\100" +
- "\034\126\036\045\037\163\040\153\041\054\042\004\043" +
- "\046\044\012\045\023\046\014\047\034\050\117\051\075" +
- "\052\067\053\071\054\205\055\037\056\052\057\006\060" +
- "\017\061\120\062\106\063\076\064\111\065\131\066\101" +
- "\067\055\070\162\071\025\072\005\073\142\074\161\075" +
- "\143\076\115\077\150\100\121\101\176\102\202\103\164" +
- "\104\053\105\155\106\060\107\122\110\200\111\152\112" +
- "\141\113\134\114\027\115\021\116\056\117\133\120\147" +
- "\121\064\122\057\123\063\124\160\125\040\126\042\127" +
- "\113\130\174\131\132\001\002\000\006\032\ufff3\101\ufff3" +
- "\001\002\000\164\012\uffb0\036\uffb0\037\uffb0\040\uffb0\041" +
- "\uffb0\042\uffb0\043\uffb0\044\uffb0\045\uffb0\046\uffb0\047\uffb0" +
- "\050\uffb0\051\uffb0\052\uffb0\053\uffb0\054\uffb0\055\uffb0\056" +
- "\uffb0\057\uffb0\060\uffb0\061\uffb0\062\uffb0\063\uffb0\064\uffb0" +
- "\065\uffb0\066\uffb0\067\uffb0\070\uffb0\071\uffb0\072\uffb0\073" +
- "\uffb0\074\uffb0\075\uffb0\076\uffb0\077\uffb0\100\uffb0\101\uffb0" +
- "\102\uffb0\103\uffb0\104\uffb0\105\uffb0\106\uffb0\107\uffb0\110" +
- "\uffb0\111\uffb0\112\uffb0\113\uffb0\114\uffb0\115\uffb0\116\uffb0" +
- "\117\uffb0\120\uffb0\121\uffb0\122\uffb0\123\uffb0\124\uffb0\131" +
- "\uffb0\001\002\000\216\006\110\010\105\011\144\012\116" +
- "\024\024\025\010\027\077\030\125\033\100\034\126\036" +
- "\045\037\163\040\153\041\054\042\004\043\046\044\012" +
- "\045\023\046\014\047\034\050\117\051\075\052\067\053" +
- "\071\054\205\055\037\056\052\057\006\060\017\061\120" +
- "\062\106\063\076\064\111\065\131\066\101\067\055\070" +
- "\162\071\025\072\005\073\142\074\161\075\143\076\115" +
- "\077\150\100\121\101\176\102\202\103\164\104\053\105" +
- "\155\106\060\107\122\110\200\111\152\112\141\113\134" +
- "\114\027\115\021\116\056\117\133\120\147\121\064\122" +
- "\057\123\063\124\160\125\040\126\042\127\113\130\174" +
- "\131\132\001\002\000\006\007\345\032\224\001\002\000" +
- "\004\106\346\001\002\000\216\006\110\010\105\011\144" +
- "\012\116\024\024\025\010\027\077\030\125\033\100\034" +
- "\126\036\045\037\163\040\153\041\054\042\004\043\046" +
- "\044\012\045\023\046\014\047\034\050\117\051\075\052" +
- "\067\053\071\054\205\055\037\056\052\057\006\060\017" +
- "\061\120\062\106\063\076\064\111\065\131\066\101\067" +
- "\055\070\162\071\025\072\005\073\142\074\161\075\143" +
- "\076\115\077\150\100\121\101\176\102\202\103\164\104" +
- "\053\105\155\106\060\107\122\110\200\111\152\112\141" +
- "\113\134\114\027\115\021\116\056\117\133\120\147\121" +
- "\064\122\057\123\063\124\160\125\040\126\042\127\113" +
- "\130\174\131\132\001\002\000\004\107\350\001\002\000" +
- "\216\006\110\010\105\011\144\012\116\024\024\025\010" +
- "\027\077\030\125\033\100\034\126\036\045\037\163\040" +
- "\153\041\054\042\004\043\046\044\012\045\023\046\014" +
- "\047\034\050\117\051\075\052\067\053\071\054\205\055" +
- "\037\056\052\057\006\060\017\061\120\062\106\063\076" +
- "\064\111\065\131\066\101\067\055\070\162\071\025\072" +
- "\005\073\142\074\161\075\143\076\115\077\150\100\121" +
- "\101\176\102\202\103\164\104\053\105\155\106\060\107" +
- "\122\110\200\111\152\112\141\113\134\114\027\115\021" +
- "\116\056\117\133\120\147\121\064\122\057\123\063\124" +
- "\160\125\040\126\042\127\113\130\174\131\132\001\002" +
- "\000\020\002\ufff2\005\ufff2\007\ufff2\032\ufff2\100\ufff2\101" +
- "\ufff2\107\ufff2\001\002\000\164\012\uffaf\036\uffaf\037\uffaf" +
- "\040\uffaf\041\uffaf\042\uffaf\043\uffaf\044\uffaf\045\uffaf\046" +
- "\uffaf\047\uffaf\050\uffaf\051\uffaf\052\uffaf\053\uffaf\054\uffaf" +
- "\055\uffaf\056\uffaf\057\uffaf\060\uffaf\061\uffaf\062\uffaf\063" +
- "\uffaf\064\uffaf\065\uffaf\066\uffaf\067\uffaf\070\uffaf\071\uffaf" +
- "\072\uffaf\073\uffaf\074\uffaf\075\uffaf\076\uffaf\077\uffaf\100" +
- "\uffaf\101\uffaf\102\uffaf\103\uffaf\104\uffaf\105\uffaf\106\uffaf" +
- "\107\uffaf\110\uffaf\111\uffaf\112\uffaf\113\uffaf\114\uffaf\115" +
- "\uffaf\116\uffaf\117\uffaf\120\uffaf\121\uffaf\122\uffaf\123\uffaf" +
- "\124\uffaf\131\uffaf\001\002\000\166\007\355\012\354\036" +
- "\246\037\263\040\316\041\267\042\261\043\257\044\311" +
- "\045\241\046\310\047\276\050\235\051\273\052\275\053" +
- "\274\054\307\055\252\056\262\057\317\060\240\061\260" +
- "\062\256\063\271\064\277\065\314\066\234\067\305\070" +
- "\264\071\272\072\315\073\303\074\233\075\251\076\245" +
- "\077\254\100\266\101\265\102\302\103\236\104\301\105" +
- "\212\106\306\107\300\110\250\111\255\112\141\113\134" +
- "\114\320\115\312\116\313\117\243\120\247\121\242\122" +
- "\304\123\253\124\160\131\270\001\002\000\006\007\uff60" +
- "\032\uff60\001\002\000\130\002\uff64\004\uff64\005\uff64\007" +
- "\uff64\010\uff64\011\uff64\012\uff64\013\uff64\014\uff64\015\uff64" +
- "\016\uff64\017\uff64\020\uff64\021\uff64\022\uff64\023\uff64\024" +
- "\uff64\025\uff64\032\uff64\035\uff64\053\uff64\054\uff64\055\uff64" +
- "\056\uff64\057\uff64\060\uff64\061\uff64\062\uff64\063\uff64\064" +
- "\uff64\065\uff64\066\uff64\067\uff64\071\uff64\073\uff64\074\uff64" +
- "\075\uff64\100\uff64\101\uff64\102\uff64\107\uff64\110\uff64\111" +
- "\uff64\001\002\000\006\007\uff61\032\uff61\001\002\000\006" +
- "\007\362\032\361\001\002\000\006\007\uff55\032\uff55\001" +
- "\002\000\162\036\246\037\263\040\316\041\267\042\261" +
- "\043\257\044\311\045\241\046\310\047\276\050\235\051" +
- "\273\052\275\053\274\054\307\055\252\056\262\057\317" +
- "\060\240\061\260\062\256\063\271\064\277\065\314\066" +
- "\234\067\305\070\264\071\272\072\315\073\303\074\233" +
- "\075\251\076\245\077\254\100\266\101\265\102\302\103" +
- "\236\104\301\105\212\106\306\107\300\110\250\111\255" +
- "\112\141\113\134\114\320\115\312\116\313\117\243\120" +
- "\247\121\242\122\304\123\253\124\160\131\270\001\002" +
- "\000\130\002\uff63\004\uff63\005\uff63\007\uff63\010\uff63\011" +
- "\uff63\012\uff63\013\uff63\014\uff63\015\uff63\016\uff63\017\uff63" +
- "\020\uff63\021\uff63\022\uff63\023\uff63\024\uff63\025\uff63\032" +
- "\uff63\035\uff63\053\uff63\054\uff63\055\uff63\056\uff63\057\uff63" +
- "\060\uff63\061\uff63\062\uff63\063\uff63\064\uff63\065\uff63\066" +
- "\uff63\067\uff63\071\uff63\073\uff63\074\uff63\075\uff63\100\uff63" +
- "\101\uff63\102\uff63\107\uff63\110\uff63\111\uff63\001\002\000" +
- "\004\007\365\001\002\000\006\007\uff53\035\uff53\001\002" +
- "\000\130\002\uff62\004\uff62\005\uff62\007\uff62\010\uff62\011" +
- "\uff62\012\uff62\013\uff62\014\uff62\015\uff62\016\uff62\017\uff62" +
- "\020\uff62\021\uff62\022\uff62\023\uff62\024\uff62\025\uff62\032" +
- "\uff62\035\uff62\053\uff62\054\uff62\055\uff62\056\uff62\057\uff62" +
- "\060\uff62\061\uff62\062\uff62\063\uff62\064\uff62\065\uff62\066" +
- "\uff62\067\uff62\071\uff62\073\uff62\074\uff62\075\uff62\100\uff62" +
- "\101\uff62\102\uff62\107\uff62\110\uff62\111\uff62\001\002\000" +
- "\166\007\371\036\246\037\263\040\316\041\267\042\261" +
- "\043\257\044\311\045\241\046\310\047\276\050\235\051" +
- "\273\052\275\053\274\054\307\055\252\056\262\057\317" +
- "\060\240\061\260\062\256\063\271\064\277\065\314\066" +
- "\234\067\305\070\264\071\272\072\315\073\303\074\233" +
- "\075\251\076\245\077\254\100\266\101\265\102\302\103" +
- "\236\104\301\105\212\106\306\107\300\110\250\111\255" +
- "\112\141\113\134\114\320\115\312\116\313\117\243\120" +
- "\247\121\242\122\304\123\253\124\160\130\174\131\270" +
- "\001\002\000\004\007\373\001\002\000\004\007\372\001" +
- "\002\000\130\002\uff67\004\uff67\005\uff67\007\uff67\010\uff67" +
- "\011\uff67\012\uff67\013\uff67\014\uff67\015\uff67\016\uff67\017" +
- "\uff67\020\uff67\021\uff67\022\uff67\023\uff67\024\uff67\025\uff67" +
- "\032\uff67\035\uff67\053\uff67\054\uff67\055\uff67\056\uff67\057" +
- "\uff67\060\uff67\061\uff67\062\uff67\063\uff67\064\uff67\065\uff67" +
- "\066\uff67\067\uff67\071\uff67\073\uff67\074\uff67\075\uff67\100" +
- "\uff67\101\uff67\102\uff67\107\uff67\110\uff67\111\uff67\001\002" +
- "\000\130\002\uff65\004\uff65\005\uff65\007\uff65\010\uff65\011" +
- "\uff65\012\uff65\013\uff65\014\uff65\015\uff65\016\uff65\017\uff65" +
- "\020\uff65\021\uff65\022\uff65\023\uff65\024\uff65\025\uff65\032" +
- "\uff65\035\uff65\053\uff65\054\uff65\055\uff65\056\uff65\057\uff65" +
- "\060\uff65\061\uff65\062\uff65\063\uff65\064\uff65\065\uff65\066" +
- "\uff65\067\uff65\071\uff65\073\uff65\074\uff65\075\uff65\100\uff65" +
- "\101\uff65\102\uff65\107\uff65\110\uff65\111\uff65\001\002\000" +
- "\130\002\uff66\004\uff66\005\uff66\007\uff66\010\uff66\011\uff66" +
- "\012\uff66\013\uff66\014\uff66\015\uff66\016\uff66\017\uff66\020" +
- "\uff66\021\uff66\022\uff66\023\uff66\024\uff66\025\uff66\032\uff66" +
- "\035\uff66\053\uff66\054\uff66\055\uff66\056\uff66\057\uff66\060" +
- "\uff66\061\uff66\062\uff66\063\uff66\064\uff66\065\uff66\066\uff66" +
- "\067\uff66\071\uff66\073\uff66\074\uff66\075\uff66\100\uff66\101" +
- "\uff66\102\uff66\107\uff66\110\uff66\111\uff66\001\002\000\120" +
- "\002\uffd0\005\uffd0\007\uffd0\010\uffd0\011\uffd0\012\uffd0\013" +
- "\uffd0\014\uffd0\015\uffd0\016\uffd0\017\uffd0\020\uffd0\021\uffd0" +
- "\022\uffd0\023\uffd0\032\uffd0\053\uffd0\054\uffd0\055\uffd0\056" +
- "\uffd0\057\uffd0\060\uffd0\061\uffd0\062\uffd0\063\uffd0\064\uffd0" +
- "\065\uffd0\066\uffd0\067\uffd0\071\uffd0\073\uffd0\074\uffd0\075" +
- "\uffd0\100\uffd0\101\uffd0\102\uffd0\107\uffd0\110\uffd0\111\uffd0" +
- "\001\002\000\220\006\110\007\u0100\010\105\011\144\012" +
- "\116\024\024\025\010\027\077\030\125\033\100\034\126" +
- "\036\045\037\163\040\153\041\054\042\004\043\046\044" +
- "\012\045\023\046\014\047\034\050\117\051\075\052\067" +
- "\053\071\054\205\055\037\056\052\057\006\060\017\061" +
- "\120\062\106\063\076\064\111\065\131\066\101\067\055" +
- "\070\162\071\025\072\005\073\142\074\161\075\143\076" +
- "\115\077\150\100\121\101\176\102\202\103\164\104\053" +
- "\105\155\106\060\107\122\110\200\111\152\112\141\113" +
- "\134\114\027\115\021\116\056\117\133\120\147\121\064" +
- "\122\057\123\063\124\160\125\040\126\042\127\113\130" +
- "\174\131\132\001\002\000\006\007\u0102\032\u0101\001\002" +
- "\000\006\007\uff84\032\uff84\001\002\000\126\002\uff86\004" +
- "\uff86\005\uff86\007\uff86\010\uff86\011\uff86\012\uff86\013\uff86" +
- "\014\uff86\015\uff86\016\uff86\017\uff86\020\uff86\021\uff86\022" +
- "\uff86\023\uff86\024\uff86\025\uff86\032\uff86\053\uff86\054\uff86" +
- "\055\uff86\056\uff86\057\uff86\060\uff86\061\uff86\062\uff86\063" +
- "\uff86\064\uff86\065\uff86\066\uff86\067\uff86\071\uff86\073\uff86" +
- "\074\uff86\075\uff86\100\uff86\101\uff86\102\uff86\107\uff86\110" +
- "\uff86\111\uff86\001\002\000\216\006\110\010\105\011\144" +
- "\012\116\024\024\025\010\027\077\030\125\033\100\034" +
- "\126\036\045\037\163\040\153\041\054\042\004\043\046" +
- "\044\012\045\023\046\014\047\034\050\117\051\075\052" +
- "\067\053\071\054\205\055\037\056\052\057\006\060\017" +
- "\061\120\062\106\063\076\064\111\065\131\066\101\067" +
- "\055\070\162\071\025\072\005\073\142\074\161\075\143" +
- "\076\115\077\150\100\121\101\176\102\202\103\164\104" +
- "\053\105\155\106\060\107\122\110\200\111\152\112\141" +
- "\113\134\114\027\115\021\116\056\117\133\120\147\121" +
- "\064\122\057\123\063\124\160\125\040\126\042\127\113" +
- "\130\174\131\132\001\002\000\126\002\uff85\004\uff85\005" +
- "\uff85\007\uff85\010\uff85\011\uff85\012\uff85\013\uff85\014\uff85" +
- "\015\uff85\016\uff85\017\uff85\020\uff85\021\uff85\022\uff85\023" +
- "\uff85\024\uff85\025\uff85\032\uff85\053\uff85\054\uff85\055\uff85" +
- "\056\uff85\057\uff85\060\uff85\061\uff85\062\uff85\063\uff85\064" +
- "\uff85\065\uff85\066\uff85\067\uff85\071\uff85\073\uff85\074\uff85" +
- "\075\uff85\100\uff85\101\uff85\102\uff85\107\uff85\110\uff85\111" +
- "\uff85\001\002\000\006\007\uff83\032\uff83\001\002\000\206" +
- "\006\110\012\116\027\077\030\125\033\100\034\126\036" +
- "\045\037\163\040\153\041\054\042\004\043\046\044\012" +
- "\045\023\046\014\047\034\050\117\051\075\052\067\053" +
- "\071\054\205\055\037\056\052\057\006\060\017\061\120" +
- "\062\106\063\076\064\111\065\131\066\101\067\055\070" +
- "\162\071\025\072\005\073\142\074\161\075\143\076\211" +
- "\077\150\100\121\101\176\102\202\103\213\104\207\105" +
- "\212\106\060\107\122\110\200\111\152\112\141\113\134" +
- "\114\027\115\021\116\056\117\133\120\147\121\064\122" +
- "\057\123\063\124\160\125\040\126\042\127\113\130\174" +
- "\131\132\001\002\000\206\006\110\012\116\027\077\030" +
- "\125\033\100\034\126\036\045\037\163\040\153\041\054" +
- "\042\004\043\046\044\012\045\023\046\014\047\034\050" +
- "\117\051\075\052\067\053\071\054\205\055\037\056\052" +
- "\057\006\060\017\061\120\062\106\063\076\064\111\065" +
- "\131\066\101\067\055\070\162\071\025\072\005\073\142" +
- "\074\161\075\143\076\211\077\150\100\121\101\176\102" +
- "\202\103\213\104\207\105\212\106\060\107\122\110\200" +
- "\111\152\112\141\113\134\114\027\115\021\116\056\117" +
- "\133\120\147\121\064\122\057\123\063\124\160\125\040" +
- "\126\042\127\113\130\174\131\132\001\002\000\124\002" +
- "\uffb8\005\uffb8\007\uffb8\010\uffb8\011\uffb8\012\uffb8\013\uffb8" +
- "\014\uffb8\015\uffb8\016\uffb8\017\uffb8\020\uffb8\021\uffb8\022" +
- "\uffb8\023\uffb8\024\uffb8\025\uffb8\032\uffb8\053\uffb8\054\uffb8" +
- "\055\uffb8\056\uffb8\057\uffb8\060\uffb8\061\uffb8\062\uffb8\063" +
- "\uffb8\064\uffb8\065\uffb8\066\uffb8\067\uffb8\071\uffb8\073\uffb8" +
- "\074\uffb8\075\uffb8\100\uffb8\101\uffb8\102\uffb8\107\uffb8\110" +
- "\uffb8\111\uffb8\001\002\000\124\002\uffb9\005\uffb9\007\uffb9" +
- "\010\uffb9\011\uffb9\012\uffb9\013\uffb9\014\uffb9\015\uffb9\016" +
- "\uffb9\017\uffb9\020\uffb9\021\uffb9\022\uffb9\023\uffb9\024\uffb9" +
- "\025\uffb9\032\uffb9\053\uffb9\054\uffb9\055\uffb9\056\uffb9\057" +
- "\uffb9\060\uffb9\061\uffb9\062\uffb9\063\uffb9\064\uffb9\065\uffb9" +
- "\066\uffb9\067\uffb9\071\uffb9\073\uffb9\074\uffb9\075\uffb9\100" +
- "\uffb9\101\uffb9\102\uffb9\107\uffb9\110\uffb9\111\uffb9\001\002" +
- "\000\216\006\110\010\105\011\144\012\116\024\024\025" +
- "\010\027\077\030\125\033\100\034\126\036\045\037\163" +
- "\040\153\041\054\042\004\043\046\044\012\045\023\046" +
- "\014\047\034\050\117\051\075\052\067\053\071\054\205" +
- "\055\037\056\052\057\006\060\017\061\120\062\106\063" +
- "\076\064\111\065\131\066\101\067\055\070\162\071\025" +
- "\072\005\073\142\074\161\075\143\076\211\077\150\100" +
- "\121\101\176\102\202\103\213\104\207\105\212\106\060" +
- "\107\122\110\200\111\152\112\141\113\134\114\027\115" +
- "\021\116\056\117\133\120\147\121\064\122\057\123\063" +
- "\124\160\125\040\126\042\127\113\130\174\131\132\001" +
- "\002\000\216\006\110\010\105\011\144\012\116\024\024" +
- "\025\010\027\077\030\125\033\100\034\126\036\045\037" +
- "\163\040\153\041\054\042\004\043\046\044\012\045\023" +
- "\046\014\047\034\050\117\051\075\052\067\053\071\054" +
- "\205\055\037\056\052\057\006\060\017\061\120\062\106" +
- "\063\076\064\111\065\131\066\101\067\055\070\162\071" +
- "\025\072\005\073\142\074\161\075\143\076\211\077\150" +
- "\100\121\101\176\102\202\103\213\104\207\105\212\106" +
- "\060\107\122\110\200\111\152\112\141\113\134\114\027" +
- "\115\021\116\056\117\133\120\147\121\064\122\057\123" +
- "\063\124\160\125\040\126\042\127\113\130\174\131\132" +
- "\001\002\000\216\006\110\010\105\011\144\012\116\024" +
- "\024\025\010\027\077\030\125\033\100\034\126\036\045" +
- "\037\163\040\153\041\054\042\004\043\046\044\012\045" +
- "\023\046\014\047\034\050\117\051\075\052\067\053\071" +
- "\054\205\055\037\056\052\057\006\060\017\061\120\062" +
- "\106\063\076\064\111\065\131\066\101\067\055\070\162" +
- "\071\025\072\005\073\142\074\161\075\143\076\211\077" +
- "\150\100\121\101\176\102\202\103\213\104\207\105\212" +
- "\106\060\107\122\110\200\111\152\112\141\113\134\114" +
- "\027\115\021\116\056\117\133\120\147\121\064\122\057" +
- "\123\063\124\160\125\040\126\042\127\113\130\174\131" +
- "\132\001\002\000\216\006\110\010\105\011\144\012\116" +
- "\024\024\025\010\027\077\030\125\033\100\034\126\036" +
- "\045\037\163\040\153\041\054\042\004\043\046\044\012" +
- "\045\023\046\014\047\034\050\117\051\075\052\067\053" +
- "\071\054\205\055\037\056\052\057\006\060\017\061\120" +
- "\062\106\063\076\064\111\065\131\066\101\067\055\070" +
- "\162\071\025\072\005\073\142\074\161\075\143\076\211" +
- "\077\150\100\121\101\176\102\202\103\213\104\207\105" +
- "\212\106\060\107\122\110\200\111\152\112\141\113\134" +
- "\114\027\115\021\116\056\117\133\120\147\121\064\122" +
- "\057\123\063\124\160\125\040\126\042\127\113\130\174" +
- "\131\132\001\002\000\104\002\uffe1\005\uffe1\007\uffe1\010" +
- "\uffe1\011\uffe1\012\uffe1\013\u010e\014\uffe1\015\uffe1\016\uffe1" +
- "\017\uffe1\020\uffe1\021\uffe1\022\uffe1\023\uffe1\032\uffe1\053" +
- "\uffe1\054\uffe1\055\uffe1\056\uffe1\057\uffe1\060\uffe1\061\uffe1" +
- "\062\uffe1\063\uffe1\064\u010d\075\uffe1\100\uffe1\101\uffe1\102" +
- "\uffe1\107\uffe1\110\uffe1\111\uffe1\001\002\000\216\006\110" +
- "\010\105\011\144\012\116\024\024\025\010\027\077\030" +
- "\125\033\100\034\126\036\045\037\163\040\153\041\054" +
- "\042\004\043\046\044\012\045\023\046\014\047\034\050" +
- "\117\051\075\052\067\053\071\054\205\055\037\056\052" +
- "\057\006\060\017\061\120\062\106\063\076\064\111\065" +
- "\131\066\101\067\055\070\162\071\025\072\005\073\142" +
- "\074\161\075\143\076\211\077\150\100\121\101\176\102" +
- "\202\103\213\104\207\105\212\106\060\107\122\110\200" +
- "\111\152\112\141\113\134\114\027\115\021\116\056\117" +
- "\133\120\147\121\064\122\057\123\063\124\160\125\040" +
- "\126\042\127\113\130\174\131\132\001\002\000\216\006" +
- "\110\010\105\011\144\012\116\024\024\025\010\027\077" +
- "\030\125\033\100\034\126\036\045\037\163\040\153\041" +
- "\054\042\004\043\046\044\012\045\023\046\014\047\034" +
- "\050\117\051\075\052\067\053\071\054\205\055\037\056" +
- "\052\057\006\060\017\061\120\062\106\063\076\064\111" +
- "\065\131\066\101\067\055\070\162\071\025\072\005\073" +
- "\142\074\161\075\143\076\211\077\150\100\121\101\176" +
- "\102\202\103\213\104\207\105\212\106\060\107\122\110" +
- "\200\111\152\112\141\113\134\114\027\115\021\116\056" +
- "\117\133\120\147\121\064\122\057\123\063\124\160\125" +
- "\040\126\042\127\113\130\174\131\132\001\002\000\110" +
- "\002\uffdd\005\uffdd\007\uffdd\010\uffdd\011\uffdd\012\uffdd\013" +
- "\uffdd\014\uffdd\015\uffdd\016\uffdd\017\uffdd\020\uffdd\021\uffdd" +
- "\022\uffdd\023\uffdd\032\uffdd\053\uffdd\054\uffdd\055\uffdd\056" +
- "\uffdd\057\uffdd\060\uffdd\061\uffdd\062\uffdd\063\uffdd\064\uffdd" +
- "\065\215\066\214\075\uffdd\100\uffdd\101\uffdd\102\uffdd\107" +
- "\uffdd\110\uffdd\111\uffdd\001\002\000\110\002\uffde\005\uffde" +
- "\007\uffde\010\uffde\011\uffde\012\uffde\013\uffde\014\uffde\015" +
- "\uffde\016\uffde\017\uffde\020\uffde\021\uffde\022\uffde\023\uffde" +
- "\032\uffde\053\uffde\054\uffde\055\uffde\056\uffde\057\uffde\060" +
- "\uffde\061\uffde\062\uffde\063\uffde\064\uffde\065\215\066\214" +
- "\075\uffde\100\uffde\101\uffde\102\uffde\107\uffde\110\uffde\111" +
- "\uffde\001\002\000\104\002\uffe2\005\uffe2\007\uffe2\010\uffe2" +
- "\011\uffe2\012\uffe2\013\u010e\014\uffe2\015\uffe2\016\uffe2\017" +
- "\uffe2\020\uffe2\021\uffe2\022\uffe2\023\uffe2\032\uffe2\053\uffe2" +
- "\054\uffe2\055\uffe2\056\uffe2\057\uffe2\060\uffe2\061\uffe2\062" +
- "\uffe2\063\uffe2\064\u010d\075\uffe2\100\uffe2\101\uffe2\102\uffe2" +
- "\107\uffe2\110\uffe2\111\uffe2\001\002\000\104\002\uffe0\005" +
- "\uffe0\007\uffe0\010\uffe0\011\uffe0\012\uffe0\013\u010e\014\uffe0" +
- "\015\uffe0\016\uffe0\017\uffe0\020\uffe0\021\uffe0\022\uffe0\023" +
- "\uffe0\032\uffe0\053\uffe0\054\uffe0\055\uffe0\056\uffe0\057\uffe0" +
- "\060\uffe0\061\uffe0\062\uffe0\063\uffe0\064\u010d\075\uffe0\100" +
- "\uffe0\101\uffe0\102\uffe0\107\uffe0\110\uffe0\111\uffe0\001\002" +
- "\000\104\002\uffe3\005\uffe3\007\uffe3\010\uffe3\011\uffe3\012" +
- "\uffe3\013\u010e\014\uffe3\015\uffe3\016\uffe3\017\uffe3\020\uffe3" +
- "\021\uffe3\022\uffe3\023\uffe3\032\uffe3\053\uffe3\054\uffe3\055" +
- "\uffe3\056\uffe3\057\uffe3\060\uffe3\061\uffe3\062\uffe3\063\uffe3" +
- "\064\u010d\075\uffe3\100\uffe3\101\uffe3\102\uffe3\107\uffe3\110" +
- "\uffe3\111\uffe3\001\002\000\004\007\u0115\001\002\000\130" +
- "\002\uff68\004\uff68\005\uff68\007\uff68\010\uff68\011\uff68\012" +
- "\uff68\013\uff68\014\uff68\015\uff68\016\uff68\017\uff68\020\uff68" +
- "\021\uff68\022\uff68\023\uff68\024\uff68\025\uff68\032\uff68\035" +
- "\uff68\053\uff68\054\uff68\055\uff68\056\uff68\057\uff68\060\uff68" +
- "\061\uff68\062\uff68\063\uff68\064\uff68\065\uff68\066\uff68\067" +
- "\uff68\071\uff68\073\uff68\074\uff68\075\uff68\100\uff68\101\uff68" +
- "\102\uff68\107\uff68\110\uff68\111\uff68\001\002\000\164\012" +
- "\uffa3\036\uffa3\037\uffa3\040\uffa3\041\uffa3\042\uffa3\043\uffa3" +
- "\044\uffa3\045\uffa3\046\uffa3\047\uffa3\050\uffa3\051\uffa3\052" +
- "\uffa3\053\uffa3\054\uffa3\055\uffa3\056\uffa3\057\uffa3\060\uffa3" +
- "\061\uffa3\062\uffa3\063\uffa3\064\uffa3\065\uffa3\066\uffa3\067" +
- "\uffa3\070\uffa3\071\uffa3\072\uffa3\073\uffa3\074\uffa3\075\uffa3" +
- "\076\uffa3\077\uffa3\100\uffa3\101\uffa3\102\uffa3\103\uffa3\104" +
- "\uffa3\105\uffa3\106\uffa3\107\uffa3\110\uffa3\111\uffa3\112\uffa3" +
- "\113\uffa3\114\uffa3\115\uffa3\116\uffa3\117\uffa3\120\uffa3\121" +
- "\uffa3\122\uffa3\123\uffa3\124\uffa3\131\uffa3\001\002\000\162" +
- "\036\246\037\263\040\316\041\267\042\261\043\257\044" +
- "\311\045\241\046\310\047\276\050\235\051\273\052\275" +
- "\053\274\054\307\055\252\056\262\057\317\060\240\061" +
- "\260\062\256\063\271\064\277\065\314\066\234\067\305" +
- "\070\264\071\272\072\315\073\303\074\233\075\251\076" +
- "\245\077\254\100\266\101\265\102\302\103\236\104\301" +
- "\105\212\106\306\107\300\110\250\111\255\112\141\113" +
- "\134\114\320\115\312\116\313\117\243\120\247\121\242" +
- "\122\304\123\253\124\160\131\270\001\002\000\126\002" +
- "\uff99\004\uff99\005\uff99\007\uff99\010\uff99\011\uff99\012\uff99" +
- "\013\uff99\014\uff99\015\uff99\016\uff99\017\uff99\020\uff99\021" +
- "\uff99\022\uff99\023\uff99\024\uff99\025\uff99\032\uff99\053\uff99" +
- "\054\uff99\055\uff99\056\uff99\057\uff99\060\uff99\061\uff99\062" +
- "\uff99\063\uff99\064\uff99\065\uff99\066\uff99\067\uff99\071\uff99" +
- "\073\uff99\074\uff99\075\uff99\100\uff99\101\uff99\102\uff99\107" +
- "\uff99\110\uff99\111\uff99\001\002\000\162\036\246\037\263" +
- "\040\316\041\267\042\261\043\257\044\311\045\241\046" +
- "\310\047\276\050\235\051\273\052\275\053\274\054\307" +
- "\055\252\056\262\057\317\060\240\061\260\062\256\063" +
- "\271\064\277\065\314\066\234\067\305\070\264\071\272" +
- "\072\315\073\303\074\233\075\251\076\245\077\254\100" +
- "\266\101\265\102\302\103\236\104\301\105\212\106\306" +
- "\107\300\110\250\111\255\112\141\113\134\114\320\115" +
- "\312\116\313\117\243\120\247\121\242\122\304\123\253" +
- "\124\160\131\270\001\002\000\004\077\u011b\001\002\000" +
- "\216\006\110\010\105\011\144\012\116\024\024\025\010" +
- "\027\077\030\125\033\100\034\126\036\045\037\163\040" +
- "\153\041\054\042\004\043\046\044\012\045\023\046\014" +
- "\047\034\050\117\051\075\052\067\053\071\054\205\055" +
- "\037\056\052\057\006\060\017\061\120\062\106\063\076" +
- "\064\111\065\131\066\101\067\055\070\162\071\025\072" +
- "\005\073\142\074\161\075\143\076\115\077\150\100\121" +
- "\101\176\102\202\103\164\104\053\105\155\106\060\107" +
- "\122\110\200\111\152\112\141\113\134\114\027\115\021" +
- "\116\056\117\133\120\147\121\064\122\057\123\063\124" +
- "\160\125\040\126\042\127\113\130\174\131\132\001\002" +
- "\000\006\032\ufff8\100\ufff8\001\002\000\006\007\u011f\032" +
- "\224\001\002\000\126\002\uff89\004\uff89\005\uff89\007\uff89" +
- "\010\uff89\011\uff89\012\uff89\013\uff89\014\uff89\015\uff89\016" +
- "\uff89\017\uff89\020\uff89\021\uff89\022\uff89\023\uff89\024\uff89" +
- "\025\uff89\032\uff89\053\uff89\054\uff89\055\uff89\056\uff89\057" +
- "\uff89\060\uff89\061\uff89\062\uff89\063\uff89\064\uff89\065\uff89" +
- "\066\uff89\067\uff89\071\uff89\073\uff89\074\uff89\075\uff89\100" +
- "\uff89\101\uff89\102\uff89\107\uff89\110\uff89\111\uff89\001\002" +
- "\000\126\002\uff88\004\uff88\005\uff88\007\uff88\010\uff88\011" +
- "\uff88\012\uff88\013\uff88\014\uff88\015\uff88\016\uff88\017\uff88" +
- "\020\uff88\021\uff88\022\uff88\023\uff88\024\uff88\025\uff88\032" +
- "\uff88\053\uff88\054\uff88\055\uff88\056\uff88\057\uff88\060\uff88" +
- "\061\uff88\062\uff88\063\uff88\064\uff88\065\uff88\066\uff88\067" +
- "\uff88\071\uff88\073\uff88\074\uff88\075\uff88\100\uff88\101\uff88" +
- "\102\uff88\107\uff88\110\uff88\111\uff88\001\002\000\126\002" +
- "\uffb5\004\222\005\uffb5\007\uffb5\010\uffb5\011\uffb5\012\uffb5" +
- "\013\uffb5\014\uffb5\015\uffb5\016\uffb5\017\uffb5\020\uffb5\021" +
- "\uffb5\022\uffb5\023\uffb5\024\uffb5\025\uffb5\032\uffb5\053\uffb5" +
- "\054\uffb5\055\uffb5\056\uffb5\057\uffb5\060\uffb5\061\uffb5\062" +
- "\uffb5\063\uffb5\064\uffb5\065\uffb5\066\uffb5\067\uffb5\071\uffb5" +
- "\073\uffb5\074\uffb5\075\uffb5\100\uffb5\101\uffb5\102\uffb5\107" +
- "\uffb5\110\uffb5\111\uffb5\001\002\000\120\002\uffcf\005\uffcf" +
- "\007\uffcf\010\uffcf\011\uffcf\012\uffcf\013\uffcf\014\uffcf\015" +
- "\uffcf\016\uffcf\017\uffcf\020\uffcf\021\uffcf\022\uffcf\023\uffcf" +
- "\032\uffcf\053\uffcf\054\uffcf\055\uffcf\056\uffcf\057\uffcf\060" +
- "\uffcf\061\uffcf\062\uffcf\063\uffcf\064\uffcf\065\uffcf\066\uffcf" +
- "\067\uffcf\071\uffcf\073\uffcf\074\uffcf\075\uffcf\100\uffcf\101" +
- "\uffcf\102\uffcf\107\uffcf\110\uffcf\111\uffcf\001\002\000\126" +
- "\002\uff8a\004\uff8a\005\uff8a\007\uff8a\010\uff8a\011\uff8a\012" +
- "\uff8a\013\uff8a\014\uff8a\015\uff8a\016\uff8a\017\uff8a\020\uff8a" +
- "\021\uff8a\022\uff8a\023\uff8a\024\uff8a\025\uff8a\032\uff8a\053" +
- "\uff8a\054\uff8a\055\uff8a\056\uff8a\057\uff8a\060\uff8a\061\uff8a" +
- "\062\uff8a\063\uff8a\064\uff8a\065\uff8a\066\uff8a\067\uff8a\071" +
- "\uff8a\073\uff8a\074\uff8a\075\uff8a\100\uff8a\101\uff8a\102\uff8a" +
- "\107\uff8a\110\uff8a\111\uff8a\001\002\000\130\002\uff4d\004" +
- "\uff4d\005\uff4d\007\uff4d\010\uff4d\011\uff4d\012\uff4d\013\uff4d" +
- "\014\uff4d\015\uff4d\016\uff4d\017\uff4d\020\uff4d\021\uff4d\022" +
- "\uff4d\023\uff4d\024\uff4d\025\uff4d\031\u0126\032\uff4d\053\uff4d" +
- "\054\uff4d\055\uff4d\056\uff4d\057\uff4d\060\uff4d\061\uff4d\062" +
- "\uff4d\063\uff4d\064\uff4d\065\uff4d\066\uff4d\067\uff4d\071\uff4d" +
- "\073\uff4d\074\uff4d\075\uff4d\100\uff4d\101\uff4d\102\uff4d\107" +
- "\uff4d\110\uff4d\111\uff4d\001\002\000\134\002\uff43\004\uff43" +
- "\005\uff43\006\353\007\uff43\010\uff43\011\uff43\012\uff43\013" +
- "\uff43\014\uff43\015\uff43\016\uff43\017\uff43\020\uff43\021\uff43" +
- "\022\uff43\023\uff43\024\uff43\025\uff43\031\uff43\032\uff43\035" +
- "\uff43\053\uff43\054\uff43\055\uff43\056\uff43\057\uff43\060\uff43" +
- "\061\uff43\062\uff43\063\uff43\064\uff43\065\uff43\066\uff43\067" +
- "\uff43\071\uff43\073\uff43\074\uff43\075\uff43\100\uff43\101\uff43" +
- "\102\uff43\107\uff43\110\uff43\111\uff43\001\002\000\126\002" +
- "\uffa9\004\uffa9\005\uffa9\007\uffa9\010\uffa9\011\uffa9\012\uffa9" +
- "\013\uffa9\014\uffa9\015\uffa9\016\uffa9\017\uffa9\020\uffa9\021" +
- "\uffa9\022\uffa9\023\uffa9\024\uffa9\025\uffa9\032\uffa9\053\uffa9" +
- "\054\uffa9\055\uffa9\056\uffa9\057\uffa9\060\uffa9\061\uffa9\062" +
- "\uffa9\063\uffa9\064\uffa9\065\uffa9\066\uffa9\067\uffa9\071\uffa9" +
- "\073\uffa9\074\uffa9\075\uffa9\100\uffa9\101\uffa9\102\uffa9\107" +
- "\uffa9\110\uffa9\111\uffa9\001\002\000\164\012\u0127\036\246" +
- "\037\263\040\316\041\267\042\261\043\257\044\311\045" +
- "\241\046\310\047\276\050\235\051\273\052\275\053\274" +
- "\054\307\055\252\056\262\057\317\060\240\061\260\062" +
- "\256\063\271\064\277\065\314\066\234\067\305\070\264" +
- "\071\272\072\315\073\303\074\233\075\251\076\245\077" +
- "\254\100\266\101\265\102\302\103\236\104\301\105\212" +
- "\106\306\107\300\110\250\111\255\112\141\113\134\114" +
- "\320\115\312\116\313\117\243\120\247\121\242\122\304" +
- "\123\253\124\160\131\270\001\002\000\126\002\uff9a\004" +
- "\uff9a\005\uff9a\007\uff9a\010\uff9a\011\uff9a\012\uff9a\013\uff9a" +
- "\014\uff9a\015\uff9a\016\uff9a\017\uff9a\020\uff9a\021\uff9a\022" +
- "\uff9a\023\uff9a\024\uff9a\025\uff9a\032\uff9a\053\uff9a\054\uff9a" +
- "\055\uff9a\056\uff9a\057\uff9a\060\uff9a\061\uff9a\062\uff9a\063" +
- "\uff9a\064\uff9a\065\uff9a\066\uff9a\067\uff9a\071\uff9a\073\uff9a" +
- "\074\uff9a\075\uff9a\100\uff9a\101\uff9a\102\uff9a\107\uff9a\110" +
- "\uff9a\111\uff9a\001\002\000\164\012\uffa2\036\uffa2\037\uffa2" +
- "\040\uffa2\041\uffa2\042\uffa2\043\uffa2\044\uffa2\045\uffa2\046" +
- "\uffa2\047\uffa2\050\uffa2\051\uffa2\052\uffa2\053\uffa2\054\uffa2" +
- "\055\uffa2\056\uffa2\057\uffa2\060\uffa2\061\uffa2\062\uffa2\063" +
- "\uffa2\064\uffa2\065\uffa2\066\uffa2\067\uffa2\070\uffa2\071\uffa2" +
- "\072\uffa2\073\uffa2\074\uffa2\075\uffa2\076\uffa2\077\uffa2\100" +
- "\uffa2\101\uffa2\102\uffa2\103\uffa2\104\uffa2\105\uffa2\106\uffa2" +
- "\107\uffa2\110\uffa2\111\uffa2\112\uffa2\113\uffa2\114\uffa2\115" +
- "\uffa2\116\uffa2\117\uffa2\120\uffa2\121\uffa2\122\uffa2\123\uffa2" +
- "\124\uffa2\131\uffa2\001\002\000\216\006\uffc1\010\uffc1\011" +
- "\uffc1\012\uffc1\024\uffc1\025\uffc1\027\uffc1\030\uffc1\033\uffc1" +
- "\034\uffc1\036\uffc1\037\uffc1\040\uffc1\041\uffc1\042\uffc1\043" +
- "\uffc1\044\uffc1\045\uffc1\046\uffc1\047\uffc1\050\uffc1\051\uffc1" +
- "\052\uffc1\053\uffc1\054\uffc1\055\uffc1\056\uffc1\057\uffc1\060" +
- "\uffc1\061\uffc1\062\uffc1\063\uffc1\064\uffc1\065\uffc1\066\uffc1" +
- "\067\uffc1\070\uffc1\071\uffc1\072\uffc1\073\uffc1\074\uffc1\075" +
- "\uffc1\076\uffc1\077\uffc1\100\uffc1\101\uffc1\102\uffc1\103\uffc1" +
- "\104\uffc1\105\uffc1\106\uffc1\107\uffc1\110\uffc1\111\uffc1\112" +
- "\uffc1\113\uffc1\114\uffc1\115\uffc1\116\uffc1\117\uffc1\120\uffc1" +
- "\121\uffc1\122\uffc1\123\uffc1\124\uffc1\125\uffc1\126\uffc1\127" +
- "\uffc1\130\uffc1\131\uffc1\001\002\000\216\006\uffc5\010\uffc5" +
- "\011\uffc5\012\uffc5\024\uffc5\025\uffc5\027\uffc5\030\uffc5\033" +
- "\uffc5\034\uffc5\036\uffc5\037\uffc5\040\uffc5\041\uffc5\042\uffc5" +
- "\043\uffc5\044\uffc5\045\uffc5\046\uffc5\047\uffc5\050\uffc5\051" +
- "\uffc5\052\uffc5\053\uffc5\054\uffc5\055\uffc5\056\uffc5\057\uffc5" +
- "\060\uffc5\061\uffc5\062\uffc5\063\uffc5\064\uffc5\065\uffc5\066" +
- "\uffc5\067\uffc5\070\uffc5\071\uffc5\072\uffc5\073\uffc5\074\uffc5" +
- "\075\uffc5\076\uffc5\077\uffc5\100\uffc5\101\uffc5\102\uffc5\103" +
- "\uffc5\104\uffc5\105\uffc5\106\uffc5\107\uffc5\110\uffc5\111\uffc5" +
- "\112\uffc5\113\uffc5\114\uffc5\115\uffc5\116\uffc5\117\uffc5\120" +
- "\uffc5\121\uffc5\122\uffc5\123\uffc5\124\uffc5\125\uffc5\126\uffc5" +
- "\127\uffc5\130\uffc5\131\uffc5\001\002\000\216\006\uffc6\010" +
- "\uffc6\011\uffc6\012\uffc6\024\uffc6\025\uffc6\027\uffc6\030\uffc6" +
- "\033\uffc6\034\uffc6\036\uffc6\037\uffc6\040\uffc6\041\uffc6\042" +
- "\uffc6\043\uffc6\044\uffc6\045\uffc6\046\uffc6\047\uffc6\050\uffc6" +
- "\051\uffc6\052\uffc6\053\uffc6\054\uffc6\055\uffc6\056\uffc6\057" +
- "\uffc6\060\uffc6\061\uffc6\062\uffc6\063\uffc6\064\uffc6\065\uffc6" +
- "\066\uffc6\067\uffc6\070\uffc6\071\uffc6\072\uffc6\073\uffc6\074" +
- "\uffc6\075\uffc6\076\uffc6\077\uffc6\100\uffc6\101\uffc6\102\uffc6" +
- "\103\uffc6\104\uffc6\105\uffc6\106\uffc6\107\uffc6\110\uffc6\111" +
- "\uffc6\112\uffc6\113\uffc6\114\uffc6\115\uffc6\116\uffc6\117\uffc6" +
- "\120\uffc6\121\uffc6\122\uffc6\123\uffc6\124\uffc6\125\uffc6\126" +
- "\uffc6\127\uffc6\130\uffc6\131\uffc6\001\002\000\216\006\uffbf" +
- "\010\uffbf\011\uffbf\012\uffbf\024\uffbf\025\uffbf\027\uffbf\030" +
- "\uffbf\033\uffbf\034\uffbf\036\uffbf\037\uffbf\040\uffbf\041\uffbf" +
- "\042\uffbf\043\uffbf\044\uffbf\045\uffbf\046\uffbf\047\uffbf\050" +
- "\uffbf\051\uffbf\052\uffbf\053\uffbf\054\uffbf\055\uffbf\056\uffbf" +
- "\057\uffbf\060\uffbf\061\uffbf\062\uffbf\063\uffbf\064\uffbf\065" +
- "\uffbf\066\uffbf\067\uffbf\070\uffbf\071\uffbf\072\uffbf\073\uffbf" +
- "\074\uffbf\075\uffbf\076\uffbf\077\uffbf\100\uffbf\101\uffbf\102" +
- "\uffbf\103\uffbf\104\uffbf\105\uffbf\106\uffbf\107\uffbf\110\uffbf" +
- "\111\uffbf\112\uffbf\113\uffbf\114\uffbf\115\uffbf\116\uffbf\117" +
- "\uffbf\120\uffbf\121\uffbf\122\uffbf\123\uffbf\124\uffbf\125\uffbf" +
- "\126\uffbf\127\uffbf\130\uffbf\131\uffbf\001\002\000\216\006" +
- "\uffc9\010\uffc9\011\uffc9\012\uffc9\024\uffc9\025\uffc9\027\uffc9" +
- "\030\uffc9\033\uffc9\034\uffc9\036\uffc9\037\uffc9\040\uffc9\041" +
- "\uffc9\042\uffc9\043\uffc9\044\uffc9\045\uffc9\046\uffc9\047\uffc9" +
- "\050\uffc9\051\uffc9\052\uffc9\053\uffc9\054\uffc9\055\uffc9\056" +
- "\uffc9\057\uffc9\060\uffc9\061\uffc9\062\uffc9\063\uffc9\064\uffc9" +
- "\065\uffc9\066\uffc9\067\uffc9\070\uffc9\071\uffc9\072\uffc9\073" +
- "\uffc9\074\uffc9\075\uffc9\076\uffc9\077\uffc9\100\uffc9\101\uffc9" +
- "\102\uffc9\103\uffc9\104\uffc9\105\uffc9\106\uffc9\107\uffc9\110" +
- "\uffc9\111\uffc9\112\uffc9\113\uffc9\114\uffc9\115\uffc9\116\uffc9" +
- "\117\uffc9\120\uffc9\121\uffc9\122\uffc9\123\uffc9\124\uffc9\125" +
- "\uffc9\126\uffc9\127\uffc9\130\uffc9\131\uffc9\001\002\000\216" +
- "\006\uffc3\010\uffc3\011\uffc3\012\uffc3\024\uffc3\025\uffc3\027" +
- "\uffc3\030\uffc3\033\uffc3\034\uffc3\036\uffc3\037\uffc3\040\uffc3" +
- "\041\uffc3\042\uffc3\043\uffc3\044\uffc3\045\uffc3\046\uffc3\047" +
- "\uffc3\050\uffc3\051\uffc3\052\uffc3\053\uffc3\054\uffc3\055\uffc3" +
- "\056\uffc3\057\uffc3\060\uffc3\061\uffc3\062\uffc3\063\uffc3\064" +
- "\uffc3\065\uffc3\066\uffc3\067\uffc3\070\uffc3\071\uffc3\072\uffc3" +
- "\073\uffc3\074\uffc3\075\uffc3\076\uffc3\077\uffc3\100\uffc3\101" +
- "\uffc3\102\uffc3\103\uffc3\104\uffc3\105\uffc3\106\uffc3\107\uffc3" +
- "\110\uffc3\111\uffc3\112\uffc3\113\uffc3\114\uffc3\115\uffc3\116" +
- "\uffc3\117\uffc3\120\uffc3\121\uffc3\122\uffc3\123\uffc3\124\uffc3" +
- "\125\uffc3\126\uffc3\127\uffc3\130\uffc3\131\uffc3\001\002\000" +
- "\216\006\uffca\010\uffca\011\uffca\012\uffca\024\uffca\025\uffca" +
- "\027\uffca\030\uffca\033\uffca\034\uffca\036\uffca\037\uffca\040" +
- "\uffca\041\uffca\042\uffca\043\uffca\044\uffca\045\uffca\046\uffca" +
- "\047\uffca\050\uffca\051\uffca\052\uffca\053\uffca\054\uffca\055" +
- "\uffca\056\uffca\057\uffca\060\uffca\061\uffca\062\uffca\063\uffca" +
- "\064\uffca\065\uffca\066\uffca\067\uffca\070\uffca\071\uffca\072" +
- "\uffca\073\uffca\074\uffca\075\uffca\076\uffca\077\uffca\100\uffca" +
- "\101\uffca\102\uffca\103\uffca\104\uffca\105\uffca\106\uffca\107" +
- "\uffca\110\uffca\111\uffca\112\uffca\113\uffca\114\uffca\115\uffca" +
- "\116\uffca\117\uffca\120\uffca\121\uffca\122\uffca\123\uffca\124" +
- "\uffca\125\uffca\126\uffca\127\uffca\130\uffca\131\uffca\001\002" +
- "\000\216\006\uffc4\010\uffc4\011\uffc4\012\uffc4\024\uffc4\025" +
- "\uffc4\027\uffc4\030\uffc4\033\uffc4\034\uffc4\036\uffc4\037\uffc4" +
- "\040\uffc4\041\uffc4\042\uffc4\043\uffc4\044\uffc4\045\uffc4\046" +
- "\uffc4\047\uffc4\050\uffc4\051\uffc4\052\uffc4\053\uffc4\054\uffc4" +
- "\055\uffc4\056\uffc4\057\uffc4\060\uffc4\061\uffc4\062\uffc4\063" +
- "\uffc4\064\uffc4\065\uffc4\066\uffc4\067\uffc4\070\uffc4\071\uffc4" +
- "\072\uffc4\073\uffc4\074\uffc4\075\uffc4\076\uffc4\077\uffc4\100" +
- "\uffc4\101\uffc4\102\uffc4\103\uffc4\104\uffc4\105\uffc4\106\uffc4" +
- "\107\uffc4\110\uffc4\111\uffc4\112\uffc4\113\uffc4\114\uffc4\115" +
- "\uffc4\116\uffc4\117\uffc4\120\uffc4\121\uffc4\122\uffc4\123\uffc4" +
- "\124\uffc4\125\uffc4\126\uffc4\127\uffc4\130\uffc4\131\uffc4\001" +
- "\002\000\216\006\uffcd\010\uffcd\011\uffcd\012\uffcd\024\uffcd" +
- "\025\uffcd\027\uffcd\030\uffcd\033\uffcd\034\uffcd\036\uffcd\037" +
- "\uffcd\040\uffcd\041\uffcd\042\uffcd\043\uffcd\044\uffcd\045\uffcd" +
- "\046\uffcd\047\uffcd\050\uffcd\051\uffcd\052\uffcd\053\uffcd\054" +
- "\uffcd\055\uffcd\056\uffcd\057\uffcd\060\uffcd\061\uffcd\062\uffcd" +
- "\063\uffcd\064\uffcd\065\uffcd\066\uffcd\067\uffcd\070\uffcd\071" +
- "\uffcd\072\uffcd\073\uffcd\074\uffcd\075\uffcd\076\uffcd\077\uffcd" +
- "\100\uffcd\101\uffcd\102\uffcd\103\uffcd\104\uffcd\105\uffcd\106" +
- "\uffcd\107\uffcd\110\uffcd\111\uffcd\112\uffcd\113\uffcd\114\uffcd" +
- "\115\uffcd\116\uffcd\117\uffcd\120\uffcd\121\uffcd\122\uffcd\123" +
- "\uffcd\124\uffcd\125\uffcd\126\uffcd\127\uffcd\130\uffcd\131\uffcd" +
- "\001\002\000\216\006\uffcc\010\uffcc\011\uffcc\012\uffcc\024" +
- "\uffcc\025\uffcc\027\uffcc\030\uffcc\033\uffcc\034\uffcc\036\uffcc" +
- "\037\uffcc\040\uffcc\041\uffcc\042\uffcc\043\uffcc\044\uffcc\045" +
- "\uffcc\046\uffcc\047\uffcc\050\uffcc\051\uffcc\052\uffcc\053\uffcc" +
- "\054\uffcc\055\uffcc\056\uffcc\057\uffcc\060\uffcc\061\uffcc\062" +
- "\uffcc\063\uffcc\064\uffcc\065\uffcc\066\uffcc\067\uffcc\070\uffcc" +
- "\071\uffcc\072\uffcc\073\uffcc\074\uffcc\075\uffcc\076\uffcc\077" +
- "\uffcc\100\uffcc\101\uffcc\102\uffcc\103\uffcc\104\uffcc\105\uffcc" +
- "\106\uffcc\107\uffcc\110\uffcc\111\uffcc\112\uffcc\113\uffcc\114" +
- "\uffcc\115\uffcc\116\uffcc\117\uffcc\120\uffcc\121\uffcc\122\uffcc" +
- "\123\uffcc\124\uffcc\125\uffcc\126\uffcc\127\uffcc\130\uffcc\131" +
- "\uffcc\001\002\000\216\006\uffcb\010\uffcb\011\uffcb\012\uffcb" +
- "\024\uffcb\025\uffcb\027\uffcb\030\uffcb\033\uffcb\034\uffcb\036" +
- "\uffcb\037\uffcb\040\uffcb\041\uffcb\042\uffcb\043\uffcb\044\uffcb" +
- "\045\uffcb\046\uffcb\047\uffcb\050\uffcb\051\uffcb\052\uffcb\053" +
- "\uffcb\054\uffcb\055\uffcb\056\uffcb\057\uffcb\060\uffcb\061\uffcb" +
- "\062\uffcb\063\uffcb\064\uffcb\065\uffcb\066\uffcb\067\uffcb\070" +
- "\uffcb\071\uffcb\072\uffcb\073\uffcb\074\uffcb\075\uffcb\076\uffcb" +
- "\077\uffcb\100\uffcb\101\uffcb\102\uffcb\103\uffcb\104\uffcb\105" +
- "\uffcb\106\uffcb\107\uffcb\110\uffcb\111\uffcb\112\uffcb\113\uffcb" +
- "\114\uffcb\115\uffcb\116\uffcb\117\uffcb\120\uffcb\121\uffcb\122" +
- "\uffcb\123\uffcb\124\uffcb\125\uffcb\126\uffcb\127\uffcb\130\uffcb" +
- "\131\uffcb\001\002\000\216\006\110\010\105\011\144\012" +
- "\116\024\024\025\010\027\077\030\125\033\100\034\126" +
- "\036\045\037\163\040\153\041\054\042\004\043\046\044" +
- "\012\045\023\046\014\047\034\050\117\051\075\052\067" +
- "\053\071\054\205\055\037\056\052\057\006\060\017\061" +
- "\120\062\106\063\076\064\111\065\131\066\101\067\055" +
- "\070\162\071\025\072\005\073\142\074\161\075\143\076" +
- "\211\077\150\100\121\101\176\102\202\103\213\104\207" +
- "\105\212\106\060\107\122\110\200\111\152\112\141\113" +
- "\134\114\027\115\021\116\056\117\133\120\147\121\064" +
- "\122\057\123\063\124\160\125\040\126\042\127\113\130" +
- "\174\131\132\001\002\000\216\006\uffc2\010\uffc2\011\uffc2" +
- "\012\uffc2\024\uffc2\025\uffc2\027\uffc2\030\uffc2\033\uffc2\034" +
- "\uffc2\036\uffc2\037\uffc2\040\uffc2\041\uffc2\042\uffc2\043\uffc2" +
- "\044\uffc2\045\uffc2\046\uffc2\047\uffc2\050\uffc2\051\uffc2\052" +
- "\uffc2\053\uffc2\054\uffc2\055\uffc2\056\uffc2\057\uffc2\060\uffc2" +
- "\061\uffc2\062\uffc2\063\uffc2\064\uffc2\065\uffc2\066\uffc2\067" +
- "\uffc2\070\uffc2\071\uffc2\072\uffc2\073\uffc2\074\uffc2\075\uffc2" +
- "\076\uffc2\077\uffc2\100\uffc2\101\uffc2\102\uffc2\103\uffc2\104" +
- "\uffc2\105\uffc2\106\uffc2\107\uffc2\110\uffc2\111\uffc2\112\uffc2" +
- "\113\uffc2\114\uffc2\115\uffc2\116\uffc2\117\uffc2\120\uffc2\121" +
- "\uffc2\122\uffc2\123\uffc2\124\uffc2\125\uffc2\126\uffc2\127\uffc2" +
- "\130\uffc2\131\uffc2\001\002\000\216\006\uffc7\010\uffc7\011" +
- "\uffc7\012\uffc7\024\uffc7\025\uffc7\027\uffc7\030\uffc7\033\uffc7" +
- "\034\uffc7\036\uffc7\037\uffc7\040\uffc7\041\uffc7\042\uffc7\043" +
- "\uffc7\044\uffc7\045\uffc7\046\uffc7\047\uffc7\050\uffc7\051\uffc7" +
- "\052\uffc7\053\uffc7\054\uffc7\055\uffc7\056\uffc7\057\uffc7\060" +
- "\uffc7\061\uffc7\062\uffc7\063\uffc7\064\uffc7\065\uffc7\066\uffc7" +
- "\067\uffc7\070\uffc7\071\uffc7\072\uffc7\073\uffc7\074\uffc7\075" +
- "\uffc7\076\uffc7\077\uffc7\100\uffc7\101\uffc7\102\uffc7\103\uffc7" +
- "\104\uffc7\105\uffc7\106\uffc7\107\uffc7\110\uffc7\111\uffc7\112" +
- "\uffc7\113\uffc7\114\uffc7\115\uffc7\116\uffc7\117\uffc7\120\uffc7" +
- "\121\uffc7\122\uffc7\123\uffc7\124\uffc7\125\uffc7\126\uffc7\127" +
- "\uffc7\130\uffc7\131\uffc7\001\002\000\216\006\uffc0\010\uffc0" +
- "\011\uffc0\012\uffc0\024\uffc0\025\uffc0\027\uffc0\030\uffc0\033" +
- "\uffc0\034\uffc0\036\uffc0\037\uffc0\040\uffc0\041\uffc0\042\uffc0" +
- "\043\uffc0\044\uffc0\045\uffc0\046\uffc0\047\uffc0\050\uffc0\051" +
- "\uffc0\052\uffc0\053\uffc0\054\uffc0\055\uffc0\056\uffc0\057\uffc0" +
- "\060\uffc0\061\uffc0\062\uffc0\063\uffc0\064\uffc0\065\uffc0\066" +
- "\uffc0\067\uffc0\070\uffc0\071\uffc0\072\uffc0\073\uffc0\074\uffc0" +
- "\075\uffc0\076\uffc0\077\uffc0\100\uffc0\101\uffc0\102\uffc0\103" +
- "\uffc0\104\uffc0\105\uffc0\106\uffc0\107\uffc0\110\uffc0\111\uffc0" +
- "\112\uffc0\113\uffc0\114\uffc0\115\uffc0\116\uffc0\117\uffc0\120" +
- "\uffc0\121\uffc0\122\uffc0\123\uffc0\124\uffc0\125\uffc0\126\uffc0" +
- "\127\uffc0\130\uffc0\131\uffc0\001\002\000\216\006\110\010" +
- "\105\011\144\012\116\024\024\025\010\027\077\030\125" +
- "\033\100\034\126\036\045\037\163\040\153\041\054\042" +
- "\004\043\046\044\012\045\023\046\014\047\034\050\117" +
- "\051\075\052\067\053\071\054\205\055\037\056\052\057" +
- "\006\060\017\061\120\062\106\063\076\064\111\065\131" +
- "\066\101\067\055\070\162\071\025\072\005\073\142\074" +
- "\161\075\143\076\211\077\150\100\121\101\176\102\202" +
- "\103\213\104\207\105\212\106\060\107\122\110\200\111" +
- "\152\112\141\113\134\114\027\115\021\116\056\117\133" +
- "\120\147\121\064\122\057\123\063\124\160\125\040\126" +
- "\042\127\113\130\174\131\132\001\002\000\216\006\110" +
- "\010\105\011\144\012\116\024\024\025\010\027\077\030" +
- "\125\033\100\034\126\036\045\037\163\040\153\041\054" +
- "\042\004\043\046\044\012\045\023\046\014\047\034\050" +
- "\117\051\075\052\067\053\071\054\205\055\037\056\052" +
- "\057\006\060\017\061\120\062\106\063\076\064\111\065" +
- "\131\066\101\067\055\070\162\071\025\072\005\073\142" +
- "\074\161\075\143\076\211\077\150\100\121\101\176\102" +
- "\202\103\213\104\207\105\212\106\060\107\122\110\200" +
- "\111\152\112\141\113\134\114\027\115\021\116\056\117" +
- "\133\120\147\121\064\122\057\123\063\124\160\125\040" +
- "\126\042\127\113\130\174\131\132\001\002\000\216\006" +
- "\uffc8\010\uffc8\011\uffc8\012\uffc8\024\uffc8\025\uffc8\027\uffc8" +
- "\030\uffc8\033\uffc8\034\uffc8\036\uffc8\037\uffc8\040\uffc8\041" +
- "\uffc8\042\uffc8\043\uffc8\044\uffc8\045\uffc8\046\uffc8\047\uffc8" +
- "\050\uffc8\051\uffc8\052\uffc8\053\uffc8\054\uffc8\055\uffc8\056" +
- "\uffc8\057\uffc8\060\uffc8\061\uffc8\062\uffc8\063\uffc8\064\uffc8" +
- "\065\uffc8\066\uffc8\067\uffc8\070\uffc8\071\uffc8\072\uffc8\073" +
- "\uffc8\074\uffc8\075\uffc8\076\uffc8\077\uffc8\100\uffc8\101\uffc8" +
- "\102\uffc8\103\uffc8\104\uffc8\105\uffc8\106\uffc8\107\uffc8\110" +
- "\uffc8\111\uffc8\112\uffc8\113\uffc8\114\uffc8\115\uffc8\116\uffc8" +
- "\117\uffc8\120\uffc8\121\uffc8\122\uffc8\123\uffc8\124\uffc8\125" +
- "\uffc8\126\uffc8\127\uffc8\130\uffc8\131\uffc8\001\002\000\024" +
- "\002\uffea\005\uffea\007\uffea\032\uffea\100\uffea\101\uffea\107" +
- "\uffea\110\uffea\111\uffea\001\002\000\024\002\uffeb\005\uffeb" +
- "\007\uffeb\032\uffeb\100\uffeb\101\uffeb\107\uffeb\110\uffeb\111" +
- "\uffeb\001\002\000\024\002\uffec\005\uffec\007\uffec\032\uffec" +
- "\100\uffec\101\uffec\107\uffec\110\uffec\111\uffec\001\002\000" +
- "\164\012\uffa1\036\uffa1\037\uffa1\040\uffa1\041\uffa1\042\uffa1" +
- "\043\uffa1\044\uffa1\045\uffa1\046\uffa1\047\uffa1\050\uffa1\051" +
- "\uffa1\052\uffa1\053\uffa1\054\uffa1\055\uffa1\056\uffa1\057\uffa1" +
- "\060\uffa1\061\uffa1\062\uffa1\063\uffa1\064\uffa1\065\uffa1\066" +
- "\uffa1\067\uffa1\070\uffa1\071\uffa1\072\uffa1\073\uffa1\074\uffa1" +
- "\075\uffa1\076\uffa1\077\uffa1\100\uffa1\101\uffa1\102\uffa1\103" +
- "\uffa1\104\uffa1\105\uffa1\106\uffa1\107\uffa1\110\uffa1\111\uffa1" +
- "\112\uffa1\113\uffa1\114\uffa1\115\uffa1\116\uffa1\117\uffa1\120" +
- "\uffa1\121\uffa1\122\uffa1\123\uffa1\124\uffa1\131\uffa1\001\002" +
- "\000\004\072\u0140\001\002\000\162\036\246\037\263\040" +
- "\u0124\041\267\042\261\043\257\044\311\045\241\046\310" +
- "\047\276\050\235\051\273\052\275\053\274\054\307\055" +
- "\252\056\262\057\317\060\240\061\260\062\256\063\271" +
- "\064\277\065\314\066\234\067\305\070\264\071\272\072" +
- "\315\073\303\074\233\075\251\076\245\077\254\100\266" +
- "\101\265\102\302\103\236\104\301\105\212\106\306\107" +
- "\300\110\250\111\255\112\u0146\113\u0145\114\027\115\021" +
- "\116\056\117\133\120\147\121\064\122\057\123\063\124" +
- "\160\131\270\001\002\000\114\002\uff80\005\uff80\007\uff80" +
- "\010\u014e\011\uff80\012\u014c\013\uff80\014\uff80\015\uff80\016" +
- "\uff80\017\uff80\020\uff80\021\uff80\022\uff80\023\uff80\032\uff80" +
- "\035\u014f\053\uff80\054\uff80\055\uff80\056\uff80\057\uff80\060" +
- "\uff80\061\uff80\062\uff80\063\uff80\064\uff80\065\uff80\066\uff80" +
- "\067\uff80\075\uff80\100\uff80\101\uff80\102\uff80\107\uff80\110" +
- "\uff80\111\uff80\001\002\000\114\002\uff79\005\uff79\007\uff79" +
- "\010\uff79\011\uff79\012\uff79\013\uff79\014\uff79\015\uff79\016" +
- "\uff79\017\uff79\020\uff79\021\uff79\022\uff79\023\uff79\032\uff79" +
- "\035\uff79\053\uff79\054\uff79\055\uff79\056\uff79\057\uff79\060" +
- "\uff79\061\uff79\062\uff79\063\uff79\064\uff79\065\uff79\066\uff79" +
- "\067\uff79\075\uff79\100\uff79\101\uff79\102\uff79\107\uff79\110" +
- "\uff79\111\uff79\001\002\000\112\002\uffd6\005\uffd6\007\uffd6" +
- "\010\uffd6\011\uffd6\012\uffd6\013\uffd6\014\uffd6\015\uffd6\016" +
- "\uffd6\017\uffd6\020\uffd6\021\uffd6\022\uffd6\023\uffd6\032\uffd6" +
- "\053\uffd6\054\uffd6\055\uffd6\056\uffd6\057\uffd6\060\uffd6\061" +
- "\uffd6\062\uffd6\063\uffd6\064\uffd6\065\uffd6\066\uffd6\067\uffd6" +
- "\075\uffd6\100\uffd6\101\uffd6\102\uffd6\107\uffd6\110\uffd6\111" +
- "\uffd6\001\002\000\114\002\uff7a\005\uff7a\007\uff7a\010\uff7a" +
- "\011\uff7a\012\uff7a\013\uff7a\014\uff7a\015\uff7a\016\uff7a\017" +
- "\uff7a\020\uff7a\021\uff7a\022\uff7a\023\uff7a\032\uff7a\035\uff7a" +
- "\053\uff7a\054\uff7a\055\uff7a\056\uff7a\057\uff7a\060\uff7a\061" +
- "\uff7a\062\uff7a\063\uff7a\064\uff7a\065\uff7a\066\uff7a\067\uff7a" +
- "\075\uff7a\100\uff7a\101\uff7a\102\uff7a\107\uff7a\110\uff7a\111" +
- "\uff7a\001\002\000\120\002\uff1d\005\uff1d\006\u014a\007\uff1d" +
- "\010\uff1d\011\uff1d\012\uff1d\013\uff1d\014\uff1d\015\uff1d\016" +
- "\uff1d\017\uff1d\020\uff1d\021\uff1d\022\uff1d\023\uff1d\031\uff1d" +
- "\032\uff1d\035\uff1d\053\uff1d\054\uff1d\055\uff1d\056\uff1d\057" +
- "\uff1d\060\uff1d\061\uff1d\062\uff1d\063\uff1d\064\uff1d\065\uff1d" +
- "\066\uff1d\067\uff1d\075\uff1d\100\uff1d\101\uff1d\102\uff1d\107" +
- "\uff1d\110\uff1d\111\uff1d\001\002\000\120\002\uff1e\005\uff1e" +
- "\006\u0148\007\uff1e\010\uff1e\011\uff1e\012\uff1e\013\uff1e\014" +
- "\uff1e\015\uff1e\016\uff1e\017\uff1e\020\uff1e\021\uff1e\022\uff1e" +
- "\023\uff1e\031\uff1e\032\uff1e\035\uff1e\053\uff1e\054\uff1e\055" +
- "\uff1e\056\uff1e\057\uff1e\060\uff1e\061\uff1e\062\uff1e\063\uff1e" +
- "\064\uff1e\065\uff1e\066\uff1e\067\uff1e\075\uff1e\100\uff1e\101" +
- "\uff1e\102\uff1e\107\uff1e\110\uff1e\111\uff1e\001\002\000\120" +
- "\002\uff77\005\uff77\007\uff77\010\uff77\011\uff77\012\uff77\013" +
- "\uff77\014\uff77\015\uff77\016\uff77\017\uff77\020\uff77\021\uff77" +
- "\022\uff77\023\uff77\032\uff77\035\uff77\053\uff77\054\uff77\055" +
- "\uff77\056\uff77\057\uff77\060\uff77\061\uff77\062\uff77\063\uff77" +
- "\064\uff77\065\uff77\066\uff77\067\uff77\071\uff77\073\uff77\075" +
- "\uff77\100\uff77\101\uff77\102\uff77\107\uff77\110\uff77\111\uff77" +
- "\001\002\000\004\007\u0149\001\002\000\112\002\uff7e\005" +
- "\uff7e\007\uff7e\010\uff7e\011\uff7e\012\uff7e\013\uff7e\014\uff7e" +
- "\015\uff7e\016\uff7e\017\uff7e\020\uff7e\021\uff7e\022\uff7e\023" +
- "\uff7e\032\uff7e\053\uff7e\054\uff7e\055\uff7e\056\uff7e\057\uff7e" +
- "\060\uff7e\061\uff7e\062\uff7e\063\uff7e\064\uff7e\065\uff7e\066" +
- "\uff7e\067\uff7e\075\uff7e\100\uff7e\101\uff7e\102\uff7e\107\uff7e" +
- "\110\uff7e\111\uff7e\001\002\000\004\007\u014b\001\002\000" +
- "\114\002\uff78\005\uff78\007\uff78\010\uff78\011\uff78\012\uff78" +
- "\013\uff78\014\uff78\015\uff78\016\uff78\017\uff78\020\uff78\021" +
- "\uff78\022\uff78\023\uff78\032\uff78\035\uff78\053\uff78\054\uff78" +
- "\055\uff78\056\uff78\057\uff78\060\uff78\061\uff78\062\uff78\063" +
- "\uff78\064\uff78\065\uff78\066\uff78\067\uff78\075\uff78\100\uff78" +
- "\101\uff78\102\uff78\107\uff78\110\uff78\111\uff78\001\002\000" +
- "\112\002\uff7c\005\uff7c\007\uff7c\010\uff7c\011\uff7c\012\uff7c" +
- "\013\uff7c\014\uff7c\015\uff7c\016\uff7c\017\uff7c\020\uff7c\021" +
- "\uff7c\022\uff7c\023\uff7c\032\uff7c\053\uff7c\054\uff7c\055\uff7c" +
- "\056\uff7c\057\uff7c\060\uff7c\061\uff7c\062\uff7c\063\uff7c\064" +
- "\uff7c\065\uff7c\066\uff7c\067\uff7c\075\uff7c\100\uff7c\101\uff7c" +
- "\102\uff7c\107\uff7c\110\uff7c\111\uff7c\001\002\000\112\002" +
- "\uff7f\005\uff7f\007\uff7f\010\uff7f\011\uff7f\012\uff7f\013\uff7f" +
- "\014\uff7f\015\uff7f\016\uff7f\017\uff7f\020\uff7f\021\uff7f\022" +
- "\uff7f\023\uff7f\032\uff7f\053\uff7f\054\uff7f\055\uff7f\056\uff7f" +
- "\057\uff7f\060\uff7f\061\uff7f\062\uff7f\063\uff7f\064\uff7f\065" +
- "\uff7f\066\uff7f\067\uff7f\075\uff7f\100\uff7f\101\uff7f\102\uff7f" +
- "\107\uff7f\110\uff7f\111\uff7f\001\002\000\112\002\uff7b\005" +
- "\uff7b\007\uff7b\010\uff7b\011\uff7b\012\uff7b\013\uff7b\014\uff7b" +
- "\015\uff7b\016\uff7b\017\uff7b\020\uff7b\021\uff7b\022\uff7b\023" +
- "\uff7b\032\uff7b\053\uff7b\054\uff7b\055\uff7b\056\uff7b\057\uff7b" +
- "\060\uff7b\061\uff7b\062\uff7b\063\uff7b\064\uff7b\065\uff7b\066" +
- "\uff7b\067\uff7b\075\uff7b\100\uff7b\101\uff7b\102\uff7b\107\uff7b" +
- "\110\uff7b\111\uff7b\001\002\000\112\002\uff7d\005\uff7d\007" +
- "\uff7d\010\uff7d\011\uff7d\012\uff7d\013\uff7d\014\uff7d\015\uff7d" +
- "\016\uff7d\017\uff7d\020\uff7d\021\uff7d\022\uff7d\023\uff7d\032" +
- "\uff7d\053\uff7d\054\uff7d\055\uff7d\056\uff7d\057\uff7d\060\uff7d" +
- "\061\uff7d\062\uff7d\063\uff7d\064\uff7d\065\uff7d\066\uff7d\067" +
- "\uff7d\075\uff7d\100\uff7d\101\uff7d\102\uff7d\107\uff7d\110\uff7d" +
- "\111\uff7d\001\002\000\162\036\246\037\263\040\316\041" +
- "\267\042\261\043\257\044\311\045\241\046\310\047\276" +
- "\050\235\051\273\052\275\053\274\054\307\055\252\056" +
- "\262\057\317\060\240\061\260\062\256\063\271\064\277" +
- "\065\314\066\234\067\305\070\264\071\272\072\315\073" +
- "\303\074\233\075\251\076\245\077\254\100\266\101\265" +
- "\102\302\103\236\104\301\105\212\106\306\107\300\110" +
- "\250\111\255\112\141\113\134\114\320\115\312\116\313" +
- "\117\243\120\247\121\242\122\304\123\253\124\160\131" +
- "\270\001\002\000\004\007\u0153\001\002\000\004\007\uff5e" +
- "\001\002\000\130\002\uff5f\004\uff5f\005\uff5f\007\uff5f\010" +
- "\uff5f\011\uff5f\012\uff5f\013\uff5f\014\uff5f\015\uff5f\016\uff5f" +
- "\017\uff5f\020\uff5f\021\uff5f\022\uff5f\023\uff5f\024\uff5f\025" +
- "\uff5f\032\uff5f\035\uff5f\053\uff5f\054\uff5f\055\uff5f\056\uff5f" +
- "\057\uff5f\060\uff5f\061\uff5f\062\uff5f\063\uff5f\064\uff5f\065" +
- "\uff5f\066\uff5f\067\uff5f\071\uff5f\073\uff5f\074\uff5f\075\uff5f" +
- "\100\uff5f\101\uff5f\102\uff5f\107\uff5f\110\uff5f\111\uff5f\001" +
- "\002\000\162\036\246\037\263\040\316\041\267\042\261" +
- "\043\257\044\311\045\241\046\310\047\276\050\235\051" +
- "\273\052\275\053\274\054\307\055\252\056\262\057\317" +
- "\060\240\061\260\062\256\063\271\064\277\065\314\066" +
- "\234\067\305\070\264\071\272\072\315\073\303\074\233" +
- "\075\251\076\245\077\254\100\266\101\265\102\302\103" +
- "\236\104\301\105\212\106\306\107\300\110\250\111\255" +
- "\112\141\113\134\114\320\115\312\116\313\117\243\120" +
- "\247\121\242\122\304\123\253\124\160\131\270\001\002" +
- "\000\004\007\u0158\001\002\000\004\007\uff56\001\002\000" +
- "\006\007\uff54\032\uff54\001\002\000\130\002\uff57\004\uff57" +
- "\005\uff57\007\uff57\010\uff57\011\uff57\012\uff57\013\uff57\014" +
- "\uff57\015\uff57\016\uff57\017\uff57\020\uff57\021\uff57\022\uff57" +
- "\023\uff57\024\uff57\025\uff57\032\uff57\035\uff57\053\uff57\054" +
- "\uff57\055\uff57\056\uff57\057\uff57\060\uff57\061\uff57\062\uff57" +
- "\063\uff57\064\uff57\065\uff57\066\uff57\067\uff57\071\uff57\073" +
- "\uff57\074\uff57\075\uff57\100\uff57\101\uff57\102\uff57\107\uff57" +
- "\110\uff57\111\uff57\001\002\000\126\002\uffb4\004\222\005" +
- "\uffb4\007\uffb4\010\uffb4\011\uffb4\012\uffb4\013\uffb4\014\uffb4" +
- "\015\uffb4\016\uffb4\017\uffb4\020\uffb4\021\uffb4\022\uffb4\023" +
- "\uffb4\024\uffb4\025\uffb4\032\uffb4\053\uffb4\054\uffb4\055\uffb4" +
- "\056\uffb4\057\uffb4\060\uffb4\061\uffb4\062\uffb4\063\uffb4\064" +
- "\uffb4\065\uffb4\066\uffb4\067\uffb4\071\uffb4\073\uffb4\074\uffb4" +
- "\075\uffb4\100\uffb4\101\uffb4\102\uffb4\107\uffb4\110\uffb4\111" +
- "\uffb4\001\002\000\166\007\u015c\012\u015b\036\246\037\263" +
- "\040\316\041\267\042\261\043\257\044\311\045\241\046" +
- "\310\047\276\050\235\051\273\052\275\053\274\054\307" +
- "\055\252\056\262\057\317\060\240\061\260\062\256\063" +
- "\271\064\277\065\314\066\234\067\305\070\264\071\272" +
- "\072\315\073\303\074\233\075\251\076\245\077\254\100" +
- "\266\101\265\102\302\103\236\104\301\105\212\106\306" +
- "\107\300\110\250\111\255\112\141\113\134\114\320\115" +
- "\312\116\313\117\243\120\247\121\242\122\304\123\253" +
- "\124\160\131\270\001\002\000\006\007\uff58\032\uff58\001" +
- "\002\000\130\002\uff5d\004\uff5d\005\uff5d\007\uff5d\010\uff5d" +
- "\011\uff5d\012\uff5d\013\uff5d\014\uff5d\015\uff5d\016\uff5d\017" +
- "\uff5d\020\uff5d\021\uff5d\022\uff5d\023\uff5d\024\uff5d\025\uff5d" +
- "\032\uff5d\035\uff5d\053\uff5d\054\uff5d\055\uff5d\056\uff5d\057" +
- "\uff5d\060\uff5d\061\uff5d\062\uff5d\063\uff5d\064\uff5d\065\uff5d" +
- "\066\uff5d\067\uff5d\071\uff5d\073\uff5d\074\uff5d\075\uff5d\100" +
- "\uff5d\101\uff5d\102\uff5d\107\uff5d\110\uff5d\111\uff5d\001\002" +
- "\000\006\007\u0160\032\u015f\001\002\000\006\007\uff59\032" +
- "\uff59\001\002\000\162\036\246\037\263\040\316\041\267" +
- "\042\261\043\257\044\311\045\241\046\310\047\276\050" +
- "\235\051\273\052\275\053\274\054\307\055\252\056\262" +
- "\057\317\060\240\061\260\062\256\063\271\064\277\065" +
- "\314\066\234\067\305\070\264\071\272\072\315\073\303" +
- "\074\233\075\251\076\245\077\254\100\266\101\265\102" +
- "\302\103\236\104\301\105\212\106\306\107\300\110\250" +
- "\111\255\112\141\113\134\114\320\115\312\116\313\117" +
- "\243\120\247\121\242\122\304\123\253\124\160\131\270" +
- "\001\002\000\130\002\uff5c\004\uff5c\005\uff5c\007\uff5c\010" +
- "\uff5c\011\uff5c\012\uff5c\013\uff5c\014\uff5c\015\uff5c\016\uff5c" +
- "\017\uff5c\020\uff5c\021\uff5c\022\uff5c\023\uff5c\024\uff5c\025" +
- "\uff5c\032\uff5c\035\uff5c\053\uff5c\054\uff5c\055\uff5c\056\uff5c" +
- "\057\uff5c\060\uff5c\061\uff5c\062\uff5c\063\uff5c\064\uff5c\065" +
- "\uff5c\066\uff5c\067\uff5c\071\uff5c\073\uff5c\074\uff5c\075\uff5c" +
- "\100\uff5c\101\uff5c\102\uff5c\107\uff5c\110\uff5c\111\uff5c\001" +
- "\002\000\006\007\u0163\035\u0162\001\002\000\004\007\u0164" +
- "\001\002\000\130\002\uff5b\004\uff5b\005\uff5b\007\uff5b\010" +
- "\uff5b\011\uff5b\012\uff5b\013\uff5b\014\uff5b\015\uff5b\016\uff5b" +
- "\017\uff5b\020\uff5b\021\uff5b\022\uff5b\023\uff5b\024\uff5b\025" +
- "\uff5b\032\uff5b\035\uff5b\053\uff5b\054\uff5b\055\uff5b\056\uff5b" +
- "\057\uff5b\060\uff5b\061\uff5b\062\uff5b\063\uff5b\064\uff5b\065" +
- "\uff5b\066\uff5b\067\uff5b\071\uff5b\073\uff5b\074\uff5b\075\uff5b" +
- "\100\uff5b\101\uff5b\102\uff5b\107\uff5b\110\uff5b\111\uff5b\001" +
- "\002\000\130\002\uff5a\004\uff5a\005\uff5a\007\uff5a\010\uff5a" +
- "\011\uff5a\012\uff5a\013\uff5a\014\uff5a\015\uff5a\016\uff5a\017" +
- "\uff5a\020\uff5a\021\uff5a\022\uff5a\023\uff5a\024\uff5a\025\uff5a" +
- "\032\uff5a\035\uff5a\053\uff5a\054\uff5a\055\uff5a\056\uff5a\057" +
- "\uff5a\060\uff5a\061\uff5a\062\uff5a\063\uff5a\064\uff5a\065\uff5a" +
- "\066\uff5a\067\uff5a\071\uff5a\073\uff5a\074\uff5a\075\uff5a\100" +
- "\uff5a\101\uff5a\102\uff5a\107\uff5a\110\uff5a\111\uff5a\001\002" +
- "\000\004\007\u0166\001\002\000\130\002\uff69\004\uff69\005" +
- "\uff69\007\uff69\010\uff69\011\uff69\012\uff69\013\uff69\014\uff69" +
- "\015\uff69\016\uff69\017\uff69\020\uff69\021\uff69\022\uff69\023" +
- "\uff69\024\uff69\025\uff69\032\uff69\035\uff69\053\uff69\054\uff69" +
- "\055\uff69\056\uff69\057\uff69\060\uff69\061\uff69\062\uff69\063" +
- "\uff69\064\uff69\065\uff69\066\uff69\067\uff69\071\uff69\073\uff69" +
- "\074\uff69\075\uff69\100\uff69\101\uff69\102\uff69\107\uff69\110" +
- "\uff69\111\uff69\001\002\000\164\012\uffae\036\uffae\037\uffae" +
- "\040\uffae\041\uffae\042\uffae\043\uffae\044\uffae\045\uffae\046" +
- "\uffae\047\uffae\050\uffae\051\uffae\052\uffae\053\uffae\054\uffae" +
- "\055\uffae\056\uffae\057\uffae\060\uffae\061\uffae\062\uffae\063" +
- "\uffae\064\uffae\065\uffae\066\uffae\067\uffae\070\uffae\071\uffae" +
- "\072\uffae\073\uffae\074\uffae\075\uffae\076\uffae\077\uffae\100" +
- "\uffae\101\uffae\102\uffae\103\uffae\104\uffae\105\uffae\106\uffae" +
- "\107\uffae\110\uffae\111\uffae\112\uffae\113\uffae\114\uffae\115" +
- "\uffae\116\uffae\117\uffae\120\uffae\121\uffae\122\uffae\123\uffae" +
- "\124\uffae\131\uffae\001\002\000\162\036\246\037\263\040" +
- "\316\041\267\042\261\043\257\044\311\045\241\046\310" +
- "\047\276\050\235\051\273\052\275\053\274\054\307\055" +
- "\252\056\262\057\317\060\240\061\260\062\256\063\271" +
- "\064\277\065\314\066\234\067\305\070\264\071\272\072" +
- "\315\073\303\074\233\075\251\076\245\077\254\100\266" +
- "\101\265\102\302\103\236\104\301\105\212\106\306\107" +
- "\300\110\250\111\255\112\141\113\134\114\320\115\312" +
- "\116\313\117\243\120\247\121\242\122\304\123\253\124" +
- "\160\131\270\001\002\000\006\032\333\101\u016a\001\002" +
- "\000\216\006\110\010\105\011\144\012\116\024\024\025" +
- "\010\027\077\030\125\033\100\034\126\036\045\037\163" +
- "\040\153\041\054\042\004\043\046\044\012\045\023\046" +
- "\014\047\034\050\117\051\075\052\067\053\071\054\205" +
- "\055\037\056\052\057\006\060\017\061\120\062\106\063" +
- "\076\064\111\065\131\066\101\067\055\070\162\071\025" +
- "\072\005\073\142\074\161\075\143\076\115\077\150\100" +
- "\121\101\176\102\202\103\164\104\053\105\155\106\060" +
- "\107\122\110\200\111\152\112\141\113\134\114\027\115" +
- "\021\116\056\117\133\120\147\121\064\122\057\123\063" +
- "\124\160\125\040\126\042\127\113\130\174\131\132\001" +
- "\002\000\020\002\ufff5\005\ufff5\007\ufff5\032\ufff5\100\ufff5" +
- "\101\ufff5\107\ufff5\001\002\000\164\012\u0127\036\246\037" +
- "\263\040\316\041\267\042\261\043\257\044\311\045\241" +
- "\046\310\047\276\050\235\051\273\052\275\053\274\054" +
- "\307\055\252\056\262\057\317\060\240\061\260\062\256" +
- "\063\271\064\277\065\314\066\234\067\305\070\264\071" +
- "\272\072\315\073\303\074\233\075\251\076\245\077\254" +
- "\100\266\101\265\102\302\103\236\104\301\105\212\106" +
- "\306\107\300\110\250\111\255\112\141\113\134\114\320" +
- "\115\312\116\313\117\243\120\247\121\242\122\304\123" +
- "\253\124\160\131\270\001\002\000\130\002\uff4c\004\uff4c" +
- "\005\uff4c\006\uff48\007\uff4c\010\uff4c\011\uff4c\012\uff4c\013" +
- "\uff4c\014\uff4c\015\uff4c\016\uff4c\017\uff4c\020\uff4c\021\uff4c" +
- "\022\uff4c\023\uff4c\024\uff4c\025\uff4c\032\uff4c\053\uff4c\054" +
- "\uff4c\055\uff4c\056\uff4c\057\uff4c\060\uff4c\061\uff4c\062\uff4c" +
- "\063\uff4c\064\uff4c\065\uff4c\066\uff4c\067\uff4c\071\uff4c\073" +
- "\uff4c\074\uff4c\075\uff4c\100\uff4c\101\uff4c\102\uff4c\107\uff4c" +
- "\110\uff4c\111\uff4c\001\002\000\164\012\uffac\036\uffac\037" +
- "\uffac\040\uffac\041\uffac\042\uffac\043\uffac\044\uffac\045\uffac" +
- "\046\uffac\047\uffac\050\uffac\051\uffac\052\uffac\053\uffac\054" +
- "\uffac\055\uffac\056\uffac\057\uffac\060\uffac\061\uffac\062\uffac" +
- "\063\uffac\064\uffac\065\uffac\066\uffac\067\uffac\070\uffac\071" +
- "\uffac\072\uffac\073\uffac\074\uffac\075\uffac\076\uffac\077\uffac" +
- "\100\uffac\101\uffac\102\uffac\103\uffac\104\uffac\105\uffac\106" +
- "\uffac\107\uffac\110\uffac\111\uffac\112\uffac\113\uffac\114\uffac" +
- "\115\uffac\116\uffac\117\uffac\120\uffac\121\uffac\122\uffac\123" +
- "\uffac\124\uffac\131\uffac\001\002\000\164\012\uffb1\036\uffb1" +
- "\037\uffb1\040\uffb1\041\uffb1\042\uffb1\043\uffb1\044\uffb1\045" +
- "\uffb1\046\uffb1\047\uffb1\050\uffb1\051\uffb1\052\uffb1\053\uffb1" +
- "\054\uffb1\055\uffb1\056\uffb1\057\uffb1\060\uffb1\061\uffb1\062" +
- "\uffb1\063\uffb1\064\uffb1\065\uffb1\066\uffb1\067\uffb1\070\uffb1" +
- "\071\uffb1\072\uffb1\073\uffb1\074\uffb1\075\uffb1\076\uffb1\077" +
- "\uffb1\100\uffb1\101\uffb1\102\uffb1\103\uffb1\104\uffb1\105\uffb1" +
- "\106\uffb1\107\uffb1\110\uffb1\111\uffb1\112\uffb1\113\uffb1\114" +
- "\uffb1\115\uffb1\116\uffb1\117\uffb1\120\uffb1\121\uffb1\122\uffb1" +
- "\123\uffb1\124\uffb1\131\uffb1\001\002\000\004\072\u0171\001" +
- "\002\000\162\036\246\037\263\040\316\041\267\042\261" +
- "\043\257\044\311\045\241\046\310\047\276\050\235\051" +
- "\273\052\275\053\274\054\307\055\252\056\262\057\317" +
- "\060\240\061\260\062\256\063\271\064\277\065\314\066" +
- "\234\067\305\070\264\071\272\072\315\073\303\074\233" +
- "\075\251\076\245\077\254\100\266\101\265\102\302\103" +
- "\236\104\301\105\212\106\306\107\300\110\250\111\255" +
- "\112\141\113\134\114\320\115\312\116\313\117\243\120" +
- "\247\121\242\122\304\123\253\124\160\131\270\001\002" +
- "\000\114\002\uffd4\005\uffd4\007\uffd4\010\uffd4\011\uffd4\012" +
- "\uffd4\013\uffd4\014\uffd4\015\uffd4\016\uffd4\017\uffd4\020\uffd4" +
- "\021\uffd4\022\uffd4\023\uffd4\032\uffd4\053\uffd4\054\uffd4\055" +
- "\uffd4\056\uffd4\057\uffd4\060\uffd4\061\uffd4\062\uffd4\063\uffd4" +
- "\064\uffd4\065\uffd4\066\uffd4\067\uffd4\071\uffd4\075\uffd4\100" +
- "\uffd4\101\uffd4\102\uffd4\107\uffd4\110\uffd4\111\uffd4\001\002" +
- "\000\120\002\uff82\005\uff82\007\uff82\010\uff82\011\uff82\012" +
- "\uff82\013\uff82\014\uff82\015\uff82\016\uff82\017\uff82\020\uff82" +
- "\021\uff82\022\uff82\023\uff82\032\uff82\035\u0174\053\uff82\054" +
- "\uff82\055\uff82\056\uff82\057\uff82\060\uff82\061\uff82\062\uff82" +
- "\063\uff82\064\uff82\065\uff82\066\uff82\067\uff82\071\uff82\073" +
- "\uff82\075\uff82\100\uff82\101\uff82\102\uff82\107\uff82\110\uff82" +
- "\111\uff82\001\002\000\116\002\uff81\005\uff81\007\uff81\010" +
- "\uff81\011\uff81\012\uff81\013\uff81\014\uff81\015\uff81\016\uff81" +
- "\017\uff81\020\uff81\021\uff81\022\uff81\023\uff81\032\uff81\053" +
- "\uff81\054\uff81\055\uff81\056\uff81\057\uff81\060\uff81\061\uff81" +
- "\062\uff81\063\uff81\064\uff81\065\uff81\066\uff81\067\uff81\071" +
- "\uff81\073\uff81\075\uff81\100\uff81\101\uff81\102\uff81\107\uff81" +
- "\110\uff81\111\uff81\001\002\000\126\002\uffb3\004\uffb3\005" +
- "\uffb3\007\uffb3\010\uffb3\011\uffb3\012\uffb3\013\uffb3\014\uffb3" +
- "\015\uffb3\016\uffb3\017\uffb3\020\uffb3\021\uffb3\022\uffb3\023" +
- "\uffb3\024\uffb3\025\uffb3\032\uffb3\053\uffb3\054\uffb3\055\uffb3" +
- "\056\uffb3\057\uffb3\060\uffb3\061\uffb3\062\uffb3\063\uffb3\064" +
- "\uffb3\065\uffb3\066\uffb3\067\uffb3\071\uffb3\073\uffb3\074\uffb3" +
- "\075\uffb3\100\uffb3\101\uffb3\102\uffb3\107\uffb3\110\uffb3\111" +
- "\uffb3\001\002\000\164\012\uffa4\036\uffa4\037\uffa4\040\uffa4" +
- "\041\uffa4\042\uffa4\043\uffa4\044\uffa4\045\uffa4\046\uffa4\047" +
- "\uffa4\050\uffa4\051\uffa4\052\uffa4\053\uffa4\054\uffa4\055\uffa4" +
- "\056\uffa4\057\uffa4\060\uffa4\061\uffa4\062\uffa4\063\uffa4\064" +
- "\uffa4\065\uffa4\066\uffa4\067\uffa4\070\uffa4\071\uffa4\072\uffa4" +
- "\073\uffa4\074\uffa4\075\uffa4\076\uffa4\077\uffa4\100\uffa4\101" +
- "\uffa4\102\uffa4\103\uffa4\104\uffa4\105\uffa4\106\uffa4\107\uffa4" +
- "\110\uffa4\111\uffa4\112\uffa4\113\uffa4\114\uffa4\115\uffa4\116" +
- "\uffa4\117\uffa4\120\uffa4\121\uffa4\122\uffa4\123\uffa4\124\uffa4" +
- "\131\uffa4\001\002\000\216\006\110\010\105\011\144\012" +
- "\116\024\024\025\010\027\077\030\125\033\100\034\126" +
- "\036\045\037\163\040\153\041\054\042\004\043\046\044" +
- "\012\045\023\046\014\047\034\050\117\051\075\052\067" +
- "\053\071\054\205\055\037\056\052\057\006\060\017\061" +
- "\120\062\106\063\076\064\111\065\131\066\101\067\055" +
- "\070\162\071\025\072\005\073\142\074\161\075\143\076" +
- "\211\077\150\100\121\101\176\102\202\103\213\104\207" +
- "\105\212\106\060\107\122\110\200\111\152\112\141\113" +
- "\134\114\027\115\021\116\056\117\133\120\147\121\064" +
- "\122\057\123\063\124\160\125\040\126\042\127\113\130" +
- "\174\131\132\001\002\000\216\006\110\010\105\011\144" +
- "\012\116\024\024\025\010\027\077\030\125\033\100\034" +
- "\126\036\045\037\163\040\153\041\054\042\004\043\046" +
- "\044\012\045\023\046\014\047\034\050\117\051\075\052" +
- "\067\053\071\054\205\055\037\056\052\057\006\060\017" +
- "\061\120\062\106\063\076\064\111\065\131\066\101\067" +
- "\055\070\162\071\025\072\005\073\142\074\161\075\143" +
- "\076\211\077\150\100\121\101\176\102\202\103\213\104" +
- "\207\105\212\106\060\107\122\110\200\111\152\112\141" +
- "\113\134\114\027\115\021\116\056\117\133\120\147\121" +
- "\064\122\057\123\063\124\160\125\040\126\042\127\113" +
- "\130\174\131\132\001\002\000\216\006\110\010\105\011" +
- "\144\012\116\024\024\025\010\027\077\030\125\033\100" +
- "\034\126\036\045\037\163\040\153\041\054\042\004\043" +
- "\046\044\012\045\023\046\014\047\034\050\117\051\075" +
- "\052\067\053\071\054\205\055\037\056\052\057\006\060" +
- "\017\061\120\062\106\063\076\064\111\065\131\066\101" +
- "\067\055\070\162\071\025\072\005\073\142\074\161\075" +
- "\143\076\211\077\150\100\121\101\176\102\202\103\213" +
- "\104\207\105\212\106\060\107\122\110\200\111\152\112" +
- "\141\113\134\114\027\115\021\116\056\117\133\120\147" +
- "\121\064\122\057\123\063\124\160\125\040\126\042\127" +
- "\113\130\174\131\132\001\002\000\100\002\uffe5\005\uffe5" +
- "\007\uffe5\010\uffe5\011\uffe5\012\u0108\014\uffe5\015\uffe5\016" +
- "\uffe5\017\uffe5\020\uffe5\021\uffe5\022\uffe5\023\uffe5\032\uffe5" +
- "\053\uffe5\054\uffe5\055\uffe5\056\uffe5\057\uffe5\060\uffe5\061" +
- "\u010a\062\u010b\063\u0109\075\uffe5\100\uffe5\101\uffe5\102\uffe5" +
- "\107\uffe5\110\uffe5\111\uffe5\001\002\000\100\002\uffe6\005" +
- "\uffe6\007\uffe6\010\uffe6\011\uffe6\012\u0108\014\uffe6\015\uffe6" +
- "\016\uffe6\017\uffe6\020\uffe6\021\uffe6\022\uffe6\023\uffe6\032" +
- "\uffe6\053\uffe6\054\uffe6\055\uffe6\056\uffe6\057\uffe6\060\uffe6" +
- "\061\u010a\062\u010b\063\u0109\075\uffe6\100\uffe6\101\uffe6\102" +
- "\uffe6\107\uffe6\110\uffe6\111\uffe6\001\002\000\066\002\uffe8" +
- "\005\uffe8\007\uffe8\010\u0178\011\u0179\014\uffe8\015\uffe8\016" +
- "\uffe8\017\uffe8\020\uffe8\021\uffe8\022\uffe8\023\uffe8\032\uffe8" +
- "\053\uffe8\054\uffe8\055\uffe8\056\uffe8\057\uffe8\060\uffe8\075" +
- "\uffe8\100\uffe8\101\uffe8\107\uffe8\110\uffe8\111\uffe8\001\002" +
- "\000\004\007\u017e\001\002\000\130\002\uff6d\004\uff6d\005" +
- "\uff6d\007\uff6d\010\uff6d\011\uff6d\012\uff6d\013\uff6d\014\uff6d" +
- "\015\uff6d\016\uff6d\017\uff6d\020\uff6d\021\uff6d\022\uff6d\023" +
- "\uff6d\024\uff6d\025\uff6d\032\uff6d\035\uff6d\053\uff6d\054\uff6d" +
- "\055\uff6d\056\uff6d\057\uff6d\060\uff6d\061\uff6d\062\uff6d\063" +
- "\uff6d\064\uff6d\065\uff6d\066\uff6d\067\uff6d\071\uff6d\073\uff6d" +
- "\074\uff6d\075\uff6d\100\uff6d\101\uff6d\102\uff6d\107\uff6d\110" +
- "\uff6d\111\uff6d\001\002\000\124\002\uffbd\005\uffbd\007\uffbd" +
- "\010\uffbd\011\uffbd\012\uffbd\013\uffbd\014\uffbd\015\uffbd\016" +
- "\uffbd\017\uffbd\020\uffbd\021\uffbd\022\uffbd\023\uffbd\024\u0104" +
- "\025\u0105\032\uffbd\053\uffbd\054\uffbd\055\uffbd\056\uffbd\057" +
- "\uffbd\060\uffbd\061\uffbd\062\uffbd\063\uffbd\064\uffbd\065\uffbd" +
- "\066\uffbd\067\uffbd\071\uffbd\073\uffbd\074\uffbd\075\uffbd\100" +
- "\uffbd\101\uffbd\102\uffbd\107\uffbd\110\uffbd\111\uffbd\001\002" +
- "\000\164\012\uffaa\036\uffaa\037\uffaa\040\uffaa\041\uffaa\042" +
- "\uffaa\043\uffaa\044\uffaa\045\uffaa\046\uffaa\047\uffaa\050\uffaa" +
- "\051\uffaa\052\uffaa\053\uffaa\054\uffaa\055\uffaa\056\uffaa\057" +
- "\uffaa\060\uffaa\061\uffaa\062\uffaa\063\uffaa\064\uffaa\065\uffaa" +
- "\066\uffaa\067\uffaa\070\uffaa\071\uffaa\072\uffaa\073\uffaa\074" +
- "\uffaa\075\uffaa\076\uffaa\077\uffaa\100\uffaa\101\uffaa\102\uffaa" +
- "\103\uffaa\104\uffaa\105\uffaa\106\uffaa\107\uffaa\110\uffaa\111" +
- "\uffaa\112\uffaa\113\uffaa\114\uffaa\115\uffaa\116\uffaa\117\uffaa" +
- "\120\uffaa\121\uffaa\122\uffaa\123\uffaa\124\uffaa\131\uffaa\001" +
- "\002\000\010\007\u0185\122\u0186\123\u0184\001\002\000\004" +
- "\007\u0188\001\002\000\004\007\u0187\001\002\000\004\006" +
- "\u0154\001\002\000\130\002\uff6c\004\uff6c\005\uff6c\007\uff6c" +
- "\010\uff6c\011\uff6c\012\uff6c\013\uff6c\014\uff6c\015\uff6c\016" +
- "\uff6c\017\uff6c\020\uff6c\021\uff6c\022\uff6c\023\uff6c\024\uff6c" +
- "\025\uff6c\032\uff6c\035\uff6c\053\uff6c\054\uff6c\055\uff6c\056" +
- "\uff6c\057\uff6c\060\uff6c\061\uff6c\062\uff6c\063\uff6c\064\uff6c" +
- "\065\uff6c\066\uff6c\067\uff6c\071\uff6c\073\uff6c\074\uff6c\075" +
- "\uff6c\100\uff6c\101\uff6c\102\uff6c\107\uff6c\110\uff6c\111\uff6c" +
- "\001\002\000\004\006\u015a\001\002\000\130\002\uff6a\004" +
- "\uff6a\005\uff6a\007\uff6a\010\uff6a\011\uff6a\012\uff6a\013\uff6a" +
- "\014\uff6a\015\uff6a\016\uff6a\017\uff6a\020\uff6a\021\uff6a\022" +
- "\uff6a\023\uff6a\024\uff6a\025\uff6a\032\uff6a\035\uff6a\053\uff6a" +
- "\054\uff6a\055\uff6a\056\uff6a\057\uff6a\060\uff6a\061\uff6a\062" +
- "\uff6a\063\uff6a\064\uff6a\065\uff6a\066\uff6a\067\uff6a\071\uff6a" +
- "\073\uff6a\074\uff6a\075\uff6a\100\uff6a\101\uff6a\102\uff6a\107" +
- "\uff6a\110\uff6a\111\uff6a\001\002\000\130\002\uff6b\004\uff6b" +
- "\005\uff6b\007\uff6b\010\uff6b\011\uff6b\012\uff6b\013\uff6b\014" +
- "\uff6b\015\uff6b\016\uff6b\017\uff6b\020\uff6b\021\uff6b\022\uff6b" +
- "\023\uff6b\024\uff6b\025\uff6b\032\uff6b\035\uff6b\053\uff6b\054" +
- "\uff6b\055\uff6b\056\uff6b\057\uff6b\060\uff6b\061\uff6b\062\uff6b" +
- "\063\uff6b\064\uff6b\065\uff6b\066\uff6b\067\uff6b\071\uff6b\073" +
- "\uff6b\074\uff6b\075\uff6b\100\uff6b\101\uff6b\102\uff6b\107\uff6b" +
- "\110\uff6b\111\uff6b\001\002\000\004\070\u018a\001\002\000" +
- "\162\036\246\037\263\040\u0124\041\267\042\261\043\257" +
- "\044\311\045\241\046\310\047\276\050\235\051\273\052" +
- "\275\053\274\054\307\055\252\056\262\057\317\060\240" +
- "\061\260\062\256\063\271\064\277\065\314\066\234\067" +
- "\305\070\264\071\272\072\315\073\303\074\233\075\251" +
- "\076\245\077\254\100\266\101\265\102\302\103\236\104" +
- "\301\105\212\106\306\107\300\110\250\111\255\112\u0146" +
- "\113\u0145\114\027\115\021\116\056\117\133\120\147\121" +
- "\064\122\057\123\063\124\160\131\270\001\002\000\110" +
- "\002\uffd8\005\uffd8\007\uffd8\010\uffd8\011\uffd8\012\uffd8\013" +
- "\uffd8\014\uffd8\015\uffd8\016\uffd8\017\uffd8\020\uffd8\021\uffd8" +
- "\022\uffd8\023\uffd8\032\uffd8\053\uffd8\054\uffd8\055\uffd8\056" +
- "\uffd8\057\uffd8\060\uffd8\061\uffd8\062\uffd8\063\uffd8\064\uffd8" +
- "\065\uffd8\066\uffd8\075\uffd8\100\uffd8\101\uffd8\102\uffd8\107" +
- "\uffd8\110\uffd8\111\uffd8\001\002\000\004\072\u018d\001\002" +
- "\000\162\036\246\037\263\040\316\041\267\042\261\043" +
- "\257\044\311\045\241\046\310\047\276\050\235\051\273" +
- "\052\275\053\274\054\307\055\252\056\262\057\317\060" +
- "\240\061\260\062\256\063\271\064\277\065\314\066\234" +
- "\067\305\070\264\071\272\072\315\073\303\074\233\075" +
- "\251\076\245\077\254\100\266\101\265\102\302\103\236" +
- "\104\301\105\212\106\306\107\300\110\250\111\255\112" +
- "\141\113\134\114\320\115\312\116\313\117\243\120\247" +
- "\121\242\122\304\123\253\124\160\131\270\001\002\000" +
- "\116\002\uffd2\005\uffd2\007\uffd2\010\uffd2\011\uffd2\012\uffd2" +
- "\013\uffd2\014\uffd2\015\uffd2\016\uffd2\017\uffd2\020\uffd2\021" +
- "\uffd2\022\uffd2\023\uffd2\032\uffd2\053\uffd2\054\uffd2\055\uffd2" +
- "\056\uffd2\057\uffd2\060\uffd2\061\uffd2\062\uffd2\063\uffd2\064" +
- "\uffd2\065\uffd2\066\uffd2\067\uffd2\071\uffd2\073\uffd2\075\uffd2" +
- "\100\uffd2\101\uffd2\102\uffd2\107\uffd2\110\uffd2\111\uffd2\001" +
- "\002\000\004\002\000\001\002\000\164\012\uffa5\036\uffa5" +
- "\037\uffa5\040\uffa5\041\uffa5\042\uffa5\043\uffa5\044\uffa5\045" +
- "\uffa5\046\uffa5\047\uffa5\050\uffa5\051\uffa5\052\uffa5\053\uffa5" +
- "\054\uffa5\055\uffa5\056\uffa5\057\uffa5\060\uffa5\061\uffa5\062" +
- "\uffa5\063\uffa5\064\uffa5\065\uffa5\066\uffa5\067\uffa5\070\uffa5" +
- "\071\uffa5\072\uffa5\073\uffa5\074\uffa5\075\uffa5\076\uffa5\077" +
- "\uffa5\100\uffa5\101\uffa5\102\uffa5\103\uffa5\104\uffa5\105\uffa5" +
- "\106\uffa5\107\uffa5\110\uffa5\111\uffa5\112\uffa5\113\uffa5\114" +
- "\uffa5\115\uffa5\116\uffa5\117\uffa5\120\uffa5\121\uffa5\122\uffa5" +
- "\123\uffa5\124\uffa5\131\uffa5\001\002\000\126\002\uffa7\004" +
- "\uffa7\005\uffa7\007\uffa7\010\uffa7\011\uffa7\012\uffa7\013\uffa7" +
- "\014\uffa7\015\uffa7\016\uffa7\017\uffa7\020\uffa7\021\uffa7\022" +
- "\uffa7\023\uffa7\024\uffa7\025\uffa7\032\uffa7\053\uffa7\054\uffa7" +
- "\055\uffa7\056\uffa7\057\uffa7\060\uffa7\061\uffa7\062\uffa7\063" +
- "\uffa7\064\uffa7\065\uffa7\066\uffa7\067\uffa7\071\uffa7\073\uffa7" +
- "\074\uffa7\075\uffa7\100\uffa7\101\uffa7\102\uffa7\107\uffa7\110" +
- "\uffa7\111\uffa7\001\002\000\164\012\uffab\036\uffab\037\uffab" +
- "\040\uffab\041\uffab\042\uffab\043\uffab\044\uffab\045\uffab\046" +
- "\uffab\047\uffab\050\uffab\051\uffab\052\uffab\053\uffab\054\uffab" +
- "\055\uffab\056\uffab\057\uffab\060\uffab\061\uffab\062\uffab\063" +
- "\uffab\064\uffab\065\uffab\066\uffab\067\uffab\070\uffab\071\uffab" +
- "\072\uffab\073\uffab\074\uffab\075\uffab\076\uffab\077\uffab\100" +
- "\uffab\101\uffab\102\uffab\103\uffab\104\uffab\105\uffab\106\uffab" +
- "\107\uffab\110\uffab\111\uffab\112\uffab\113\uffab\114\uffab\115" +
- "\uffab\116\uffab\117\uffab\120\uffab\121\uffab\122\uffab\123\uffab" +
- "\124\uffab\131\uffab\001\002\000\216\006\110\010\105\011" +
- "\144\012\116\024\024\025\010\027\077\030\125\033\100" +
- "\034\126\036\045\037\163\040\153\041\054\042\004\043" +
- "\046\044\012\045\023\046\014\047\034\050\117\051\075" +
- "\052\067\053\071\054\205\055\037\056\052\057\006\060" +
- "\017\061\120\062\106\063\076\064\111\065\131\066\101" +
- "\067\055\070\162\071\025\072\005\073\142\074\161\075" +
- "\143\076\211\077\150\100\121\101\176\102\202\103\213" +
- "\104\207\105\212\106\060\107\122\110\200\111\152\112" +
- "\141\113\134\114\027\115\021\116\056\117\133\120\147" +
- "\121\064\122\057\123\063\124\160\125\040\126\042\127" +
- "\113\130\174\131\132\001\002\000\024\002\ufff0\005\ufff0" +
- "\007\ufff0\032\ufff0\100\ufff0\101\ufff0\107\ufff0\110\206\111" +
- "\ufff0\001\002\000\124\002\uffbc\005\uffbc\007\uffbc\010\uffbc" +
- "\011\uffbc\012\uffbc\013\uffbc\014\uffbc\015\uffbc\016\uffbc\017" +
- "\uffbc\020\uffbc\021\uffbc\022\uffbc\023\uffbc\024\u0104\025\u0105" +
- "\032\uffbc\053\uffbc\054\uffbc\055\uffbc\056\uffbc\057\uffbc\060" +
- "\uffbc\061\uffbc\062\uffbc\063\uffbc\064\uffbc\065\uffbc\066\uffbc" +
- "\067\uffbc\071\uffbc\073\uffbc\074\uffbc\075\uffbc\100\uffbc\101" +
- "\uffbc\102\uffbc\107\uffbc\110\uffbc\111\uffbc\001\002\000\164" +
- "\012\uffad\036\uffad\037\uffad\040\uffad\041\uffad\042\uffad\043" +
- "\uffad\044\uffad\045\uffad\046\uffad\047\uffad\050\uffad\051\uffad" +
- "\052\uffad\053\uffad\054\uffad\055\uffad\056\uffad\057\uffad\060" +
- "\uffad\061\uffad\062\uffad\063\uffad\064\uffad\065\uffad\066\uffad" +
- "\067\uffad\070\uffad\071\uffad\072\uffad\073\uffad\074\uffad\075" +
- "\uffad\076\uffad\077\uffad\100\uffad\101\uffad\102\uffad\103\uffad" +
- "\104\uffad\105\uffad\106\uffad\107\uffad\110\uffad\111\uffad\112" +
- "\uffad\113\uffad\114\uffad\115\uffad\116\uffad\117\uffad\120\uffad" +
- "\121\uffad\122\uffad\123\uffad\124\uffad\131\uffad\001\002" });
-
- /** Access to parse-action table. */
- public short[][] action_table() {return _action_table;}
-
- /** <code>reduce_goto</code> table. */
- protected static final short[][] _reduce_table =
- unpackFromStrings(new String[] {
- "\000\u0194\000\172\003\046\004\034\007\200\020\111\021" +
- "\136\023\072\025\012\026\035\032\144\033\043\036\164" +
- "\037\166\040\174\041\061\042\145\043\106\044\171\045" +
- "\203\046\135\047\015\052\017\053\064\054\047\055\040" +
- "\056\050\057\134\060\176\061\103\062\031\065\202\066" +
- "\010\067\071\070\067\071\165\072\065\073\150\074\122" +
- "\075\060\076\025\077\172\100\006\101\170\102\021\103" +
- "\027\104\155\105\030\106\102\107\127\110\167\111\113" +
- "\112\137\113\126\114\014\115\123\116\042\117\073\120" +
- "\156\121\153\122\032\123\101\001\001\000\002\001\001" +
- "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
- "\116\003\046\004\034\007\200\020\111\021\136\023\072" +
- "\025\012\026\035\032\144\037\166\040\174\041\061\042" +
- "\145\043\106\044\171\045\203\046\u0194\071\165\072\065" +
- "\073\150\074\122\075\060\076\025\077\172\100\006\101" +
- "\170\102\021\103\027\104\155\105\030\106\102\107\127" +
- "\110\167\111\113\112\137\113\126\122\032\123\101\001" +
- "\001\000\002\001\001\000\002\001\001\000\040\003\u0122" +
- "\020\111\023\072\040\u0190\071\165\072\065\103\027\104" +
- "\155\105\030\106\102\107\127\110\167\111\113\112\137" +
- "\113\126\001\001\000\002\001\001\000\002\001\001\000" +
- "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
- "\001\001\000\002\001\001\000\002\001\001\000\116\003" +
- "\046\004\034\007\200\020\111\021\136\023\072\025\012" +
- "\026\035\032\144\037\166\040\174\041\061\042\145\043" +
- "\106\044\171\045\203\046\u017e\071\165\072\065\073\150" +
- "\074\122\075\060\076\025\077\172\100\006\101\170\102" +
- "\021\103\027\104\155\105\030\106\102\107\127\110\167" +
- "\111\113\112\137\113\126\122\032\123\101\001\001\000" +
- "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
- "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
- "\001\000\002\001\001\000\002\001\001\000\040\003\u0122" +
- "\020\111\023\072\040\u0174\071\165\072\065\103\027\104" +
- "\155\105\030\106\102\107\127\110\167\111\113\112\137" +
- "\113\126\001\001\000\002\001\001\000\002\001\001\000" +
- "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
- "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
- "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
- "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
- "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
- "\001\001\000\004\034\u0158\001\001\000\002\001\001\000" +
- "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
- "\001\001\000\002\001\001\000\002\001\001\000\010\027" +
- "\u0138\063\u0137\064\u0133\001\001\000\002\001\001\000\002" +
- "\001\001\000\002\001\001\000\002\001\001\000\040\003" +
- "\u0122\020\111\023\072\040\u0124\071\165\072\065\103\027" +
- "\104\155\105\030\106\102\107\127\110\167\111\113\112" +
- "\137\113\126\001\001\000\010\003\236\020\320\022\u0121" +
- "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
- "\001\000\002\001\001\000\124\003\046\004\034\007\200" +
- "\020\111\021\136\023\072\025\012\026\035\032\144\037" +
- "\166\040\174\041\061\042\145\043\106\044\171\045\203" +
- "\046\135\047\u0120\071\165\072\065\073\150\074\122\075" +
- "\060\076\025\077\172\100\006\101\170\102\021\103\027" +
- "\104\155\105\030\106\102\107\127\110\167\111\113\112" +
- "\137\113\126\120\156\121\153\122\032\123\101\001\001" +
- "\000\002\001\001\000\004\034\u011f\001\001\000\170\003" +
- "\046\004\034\007\200\020\111\021\136\023\072\025\012" +
- "\026\035\032\144\033\u011c\036\164\037\166\040\174\041" +
- "\061\042\145\043\106\044\171\045\203\046\135\047\015" +
- "\052\017\053\064\054\047\055\040\056\050\057\134\060" +
- "\176\061\103\062\031\065\202\066\010\067\071\070\067" +
- "\071\165\072\065\073\150\074\122\075\060\076\025\077" +
- "\172\100\006\101\170\102\021\103\027\104\155\105\030" +
- "\106\102\107\127\110\167\111\113\112\137\113\126\115" +
- "\123\116\042\117\073\120\156\121\153\122\032\123\101" +
- "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
- "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
- "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
- "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
- "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
- "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
- "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
- "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
- "\001\001\000\002\001\001\000\124\003\046\004\034\007" +
- "\200\020\111\021\136\023\072\025\012\026\035\032\144" +
- "\037\166\040\174\041\061\042\145\043\106\044\171\045" +
- "\203\046\135\047\373\071\165\072\065\073\150\074\122" +
- "\075\060\076\025\077\172\100\006\101\170\102\021\103" +
- "\027\104\155\105\030\106\102\107\127\110\167\111\113" +
- "\112\137\113\126\120\156\121\153\122\032\123\101\001" +
- "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
- "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
- "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
- "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
- "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
- "\000\002\001\001\000\002\001\001\000\004\034\217\001" +
- "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
- "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
- "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
- "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
- "\001\000\002\001\001\000\150\003\046\004\034\007\200" +
- "\020\111\021\136\023\072\025\012\026\035\032\144\037" +
- "\166\040\174\041\061\042\145\043\106\044\171\045\203" +
- "\046\135\047\015\052\017\053\064\054\047\055\040\056" +
- "\050\057\134\060\176\062\031\067\071\070\207\071\165" +
- "\072\065\073\150\074\122\075\060\076\025\077\172\100" +
- "\006\101\170\102\021\103\027\104\155\105\030\106\102" +
- "\107\127\110\167\111\113\112\137\113\126\120\156\121" +
- "\153\122\032\123\101\001\001\000\002\001\001\000\002" +
- "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
- "\001\000\134\003\046\004\034\007\200\020\111\021\136" +
- "\023\072\025\012\026\035\032\144\037\166\040\174\041" +
- "\061\042\145\043\106\044\171\045\203\046\135\047\015" +
- "\052\017\053\064\054\216\055\040\071\165\072\065\073" +
- "\150\074\122\075\060\076\025\077\172\100\006\101\170" +
- "\102\021\103\027\104\155\105\030\106\102\107\127\110" +
- "\167\111\113\112\137\113\126\120\156\121\153\122\032" +
- "\123\101\001\001\000\134\003\046\004\034\007\200\020" +
- "\111\021\136\023\072\025\012\026\035\032\144\037\166" +
- "\040\174\041\061\042\145\043\106\044\171\045\203\046" +
- "\135\047\015\052\017\053\064\054\215\055\040\071\165" +
- "\072\065\073\150\074\122\075\060\076\025\077\172\100" +
- "\006\101\170\102\021\103\027\104\155\105\030\106\102" +
- "\107\127\110\167\111\113\112\137\113\126\120\156\121" +
- "\153\122\032\123\101\001\001\000\002\001\001\000\002" +
- "\001\001\000\004\124\220\001\001\000\002\001\001\000" +
- "\170\003\046\004\034\007\200\020\111\021\136\023\072" +
- "\025\012\026\035\032\144\033\222\036\164\037\166\040" +
- "\174\041\061\042\145\043\106\044\171\045\203\046\135" +
- "\047\015\052\017\053\064\054\047\055\040\056\050\057" +
- "\134\060\176\061\103\062\031\065\202\066\010\067\071" +
- "\070\067\071\165\072\065\073\150\074\122\075\060\076" +
- "\025\077\172\100\006\101\170\102\021\103\027\104\155" +
- "\105\030\106\102\107\127\110\167\111\113\112\137\113" +
- "\126\115\123\116\042\117\073\120\156\121\153\122\032" +
- "\123\101\001\001\000\002\001\001\000\166\003\046\004" +
- "\034\007\200\020\111\021\136\023\072\025\012\026\035" +
- "\032\144\036\164\037\166\040\174\041\061\042\145\043" +
- "\106\044\171\045\203\046\135\047\015\052\017\053\064" +
- "\054\047\055\040\056\050\057\134\060\176\061\225\062" +
- "\031\065\202\066\010\067\071\070\067\071\165\072\065" +
- "\073\150\074\122\075\060\076\025\077\172\100\006\101" +
- "\170\102\021\103\027\104\155\105\030\106\102\107\127" +
- "\110\167\111\113\112\137\113\126\115\123\116\042\117" +
- "\073\120\156\121\153\122\032\123\101\001\001\000\002" +
- "\001\001\000\002\001\001\000\002\001\001\000\166\003" +
- "\046\004\034\007\200\020\111\021\136\023\072\025\012" +
- "\026\035\032\144\036\164\037\166\040\174\041\061\042" +
- "\145\043\106\044\171\045\203\046\135\047\015\052\017" +
- "\053\064\054\047\055\040\056\050\057\134\060\176\061" +
- "\230\062\031\065\202\066\010\067\071\070\067\071\165" +
- "\072\065\073\150\074\122\075\060\076\025\077\172\100" +
- "\006\101\170\102\021\103\027\104\155\105\030\106\102" +
- "\107\127\110\167\111\113\112\137\113\126\115\123\116" +
- "\042\117\073\120\156\121\153\122\032\123\101\001\001" +
- "\000\002\001\001\000\010\003\236\020\320\022\243\001" +
- "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
- "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
- "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
- "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
- "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
- "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
- "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
- "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
- "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
- "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
- "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
- "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
- "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
- "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
- "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
- "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
- "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
- "\000\166\003\046\004\034\007\200\020\111\021\136\023" +
- "\072\025\012\026\035\032\144\036\164\037\166\040\174" +
- "\041\061\042\145\043\106\044\171\045\203\046\135\047" +
- "\015\052\017\053\064\054\047\055\040\056\050\057\134" +
- "\060\176\061\322\062\031\065\202\066\010\067\071\070" +
- "\067\071\165\072\065\073\150\074\122\075\060\076\025" +
- "\077\172\100\006\101\170\102\021\103\027\104\155\105" +
- "\030\106\102\107\127\110\167\111\113\112\137\113\126" +
- "\115\123\116\042\117\073\120\156\121\153\122\032\123" +
- "\101\001\001\000\002\001\001\000\004\003\324\001\001" +
- "\000\002\001\001\000\012\003\236\020\320\022\327\035" +
- "\326\001\001\000\002\001\001\000\002\001\001\000\166" +
- "\003\046\004\034\007\200\020\111\021\136\023\072\025" +
- "\012\026\035\032\144\036\164\037\166\040\174\041\061" +
- "\042\145\043\106\044\171\045\203\046\135\047\015\052" +
- "\017\053\064\054\047\055\040\056\050\057\134\060\176" +
- "\061\331\062\031\065\202\066\010\067\071\070\067\071" +
- "\165\072\065\073\150\074\122\075\060\076\025\077\172" +
- "\100\006\101\170\102\021\103\027\104\155\105\030\106" +
- "\102\107\127\110\167\111\113\112\137\113\126\115\123" +
- "\116\042\117\073\120\156\121\153\122\032\123\101\001" +
- "\001\000\002\001\001\000\002\001\001\000\166\003\046" +
- "\004\034\007\200\020\111\021\136\023\072\025\012\026" +
- "\035\032\144\036\164\037\166\040\174\041\061\042\145" +
- "\043\106\044\171\045\203\046\135\047\015\052\017\053" +
- "\064\054\047\055\040\056\050\057\134\060\176\061\334" +
- "\062\031\065\202\066\010\067\071\070\067\071\165\072" +
- "\065\073\150\074\122\075\060\076\025\077\172\100\006" +
- "\101\170\102\021\103\027\104\155\105\030\106\102\107" +
- "\127\110\167\111\113\112\137\113\126\115\123\116\042" +
- "\117\073\120\156\121\153\122\032\123\101\001\001\000" +
- "\002\001\001\000\010\003\236\020\320\022\336\001\001" +
- "\000\002\001\001\000\166\003\046\004\034\007\200\020" +
- "\111\021\136\023\072\025\012\026\035\032\144\036\164" +
- "\037\166\040\174\041\061\042\145\043\106\044\171\045" +
- "\203\046\135\047\015\052\017\053\064\054\047\055\040" +
- "\056\050\057\134\060\176\061\340\062\031\065\202\066" +
- "\010\067\071\070\067\071\165\072\065\073\150\074\122" +
- "\075\060\076\025\077\172\100\006\101\170\102\021\103" +
- "\027\104\155\105\030\106\102\107\127\110\167\111\113" +
- "\112\137\113\126\115\123\116\042\117\073\120\156\121" +
- "\153\122\032\123\101\001\001\000\002\001\001\000\002" +
- "\001\001\000\170\003\046\004\034\007\200\020\111\021" +
- "\136\023\072\025\012\026\035\032\144\033\343\036\164" +
- "\037\166\040\174\041\061\042\145\043\106\044\171\045" +
- "\203\046\135\047\015\052\017\053\064\054\047\055\040" +
- "\056\050\057\134\060\176\061\103\062\031\065\202\066" +
- "\010\067\071\070\067\071\165\072\065\073\150\074\122" +
- "\075\060\076\025\077\172\100\006\101\170\102\021\103" +
- "\027\104\155\105\030\106\102\107\127\110\167\111\113" +
- "\112\137\113\126\115\123\116\042\117\073\120\156\121" +
- "\153\122\032\123\101\001\001\000\002\001\001\000\002" +
- "\001\001\000\166\003\046\004\034\007\200\020\111\021" +
- "\136\023\072\025\012\026\035\032\144\036\164\037\166" +
- "\040\174\041\061\042\145\043\106\044\171\045\203\046" +
- "\135\047\015\052\017\053\064\054\047\055\040\056\050" +
- "\057\134\060\176\061\346\062\031\065\202\066\010\067" +
- "\071\070\067\071\165\072\065\073\150\074\122\075\060" +
- "\076\025\077\172\100\006\101\170\102\021\103\027\104" +
- "\155\105\030\106\102\107\127\110\167\111\113\112\137" +
- "\113\126\115\123\116\042\117\073\120\156\121\153\122" +
- "\032\123\101\001\001\000\002\001\001\000\166\003\046" +
- "\004\034\007\200\020\111\021\136\023\072\025\012\026" +
- "\035\032\144\036\164\037\166\040\174\041\061\042\145" +
- "\043\106\044\171\045\203\046\135\047\015\052\017\053" +
- "\064\054\047\055\040\056\050\057\134\060\176\061\350" +
- "\062\031\065\202\066\010\067\071\070\067\071\165\072" +
- "\065\073\150\074\122\075\060\076\025\077\172\100\006" +
- "\101\170\102\021\103\027\104\155\105\030\106\102\107" +
- "\127\110\167\111\113\112\137\113\126\115\123\116\042" +
- "\117\073\120\156\121\153\122\032\123\101\001\001\000" +
- "\002\001\001\000\002\001\001\000\012\003\236\015\356" +
- "\016\355\020\357\001\001\000\002\001\001\000\002\001" +
- "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
- "\000\010\003\236\012\362\020\363\001\001\000\002\001" +
- "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
- "\000\006\003\366\007\367\001\001\000\002\001\001\000" +
- "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
- "\001\001\000\002\001\001\000\170\003\046\004\034\007" +
- "\200\020\111\021\136\023\072\025\012\026\035\031\375" +
- "\032\144\036\164\037\166\040\174\041\061\042\145\043" +
- "\106\044\171\045\203\046\135\047\015\052\017\053\064" +
- "\054\047\055\040\056\050\057\134\060\176\061\376\062" +
- "\031\065\202\066\010\067\071\070\067\071\165\072\065" +
- "\073\150\074\122\075\060\076\025\077\172\100\006\101" +
- "\170\102\021\103\027\104\155\105\030\106\102\107\127" +
- "\110\167\111\113\112\137\113\126\115\123\116\042\117" +
- "\073\120\156\121\153\122\032\123\101\001\001\000\002" +
- "\001\001\000\002\001\001\000\002\001\001\000\166\003" +
- "\046\004\034\007\200\020\111\021\136\023\072\025\012" +
- "\026\035\032\144\036\164\037\166\040\174\041\061\042" +
- "\145\043\106\044\171\045\203\046\135\047\015\052\017" +
- "\053\064\054\047\055\040\056\050\057\134\060\176\061" +
- "\u0102\062\031\065\202\066\010\067\071\070\067\071\165" +
- "\072\065\073\150\074\122\075\060\076\025\077\172\100" +
- "\006\101\170\102\021\103\027\104\155\105\030\106\102" +
- "\107\127\110\167\111\113\112\137\113\126\115\123\116" +
- "\042\117\073\120\156\121\153\122\032\123\101\001\001" +
- "\000\002\001\001\000\002\001\001\000\114\003\046\004" +
- "\034\007\200\020\111\021\136\023\072\025\012\026\035" +
- "\032\144\037\166\040\174\041\061\042\145\043\106\044" +
- "\171\045\u0106\071\165\072\065\073\150\074\122\075\060" +
- "\076\025\077\172\100\006\101\170\102\021\103\027\104" +
- "\155\105\030\106\102\107\127\110\167\111\113\112\137" +
- "\113\126\122\032\123\101\001\001\000\114\003\046\004" +
- "\034\007\200\020\111\021\136\023\072\025\012\026\035" +
- "\032\144\037\166\040\174\041\061\042\145\043\106\044" +
- "\171\045\u0105\071\165\072\065\073\150\074\122\075\060" +
- "\076\025\077\172\100\006\101\170\102\021\103\027\104" +
- "\155\105\030\106\102\107\127\110\167\111\113\112\137" +
- "\113\126\122\032\123\101\001\001\000\002\001\001\000" +
- "\002\001\001\000\140\003\046\004\034\007\200\020\111" +
- "\021\136\023\072\025\012\026\035\032\144\037\166\040" +
- "\174\041\061\042\145\043\106\044\171\045\203\046\135" +
- "\047\015\052\017\053\064\054\047\055\040\056\u0112\060" +
- "\176\071\165\072\065\073\150\074\122\075\060\076\025" +
- "\077\172\100\006\101\170\102\021\103\027\104\155\105" +
- "\030\106\102\107\127\110\167\111\113\112\137\113\126" +
- "\120\156\121\153\122\032\123\101\001\001\000\140\003" +
- "\046\004\034\007\200\020\111\021\136\023\072\025\012" +
- "\026\035\032\144\037\166\040\174\041\061\042\145\043" +
- "\106\044\171\045\203\046\135\047\015\052\017\053\064" +
- "\054\047\055\040\056\u0111\060\176\071\165\072\065\073" +
- "\150\074\122\075\060\076\025\077\172\100\006\101\170" +
- "\102\021\103\027\104\155\105\030\106\102\107\127\110" +
- "\167\111\113\112\137\113\126\120\156\121\153\122\032" +
- "\123\101\001\001\000\140\003\046\004\034\007\200\020" +
- "\111\021\136\023\072\025\012\026\035\032\144\037\166" +
- "\040\174\041\061\042\145\043\106\044\171\045\203\046" +
- "\135\047\015\052\017\053\064\054\047\055\040\056\u0110" +
- "\060\176\071\165\072\065\073\150\074\122\075\060\076" +
- "\025\077\172\100\006\101\170\102\021\103\027\104\155" +
- "\105\030\106\102\107\127\110\167\111\113\112\137\113" +
- "\126\120\156\121\153\122\032\123\101\001\001\000\140" +
- "\003\046\004\034\007\200\020\111\021\136\023\072\025" +
- "\012\026\035\032\144\037\166\040\174\041\061\042\145" +
- "\043\106\044\171\045\203\046\135\047\015\052\017\053" +
- "\064\054\047\055\040\056\u010b\060\176\071\165\072\065" +
- "\073\150\074\122\075\060\076\025\077\172\100\006\101" +
- "\170\102\021\103\027\104\155\105\030\106\102\107\127" +
- "\110\167\111\113\112\137\113\126\120\156\121\153\122" +
- "\032\123\101\001\001\000\002\001\001\000\136\003\046" +
- "\004\034\007\200\020\111\021\136\023\072\025\012\026" +
- "\035\032\144\037\166\040\174\041\061\042\145\043\106" +
- "\044\171\045\203\046\135\047\015\052\017\053\064\054" +
- "\047\055\040\060\u010f\071\165\072\065\073\150\074\122" +
- "\075\060\076\025\077\172\100\006\101\170\102\021\103" +
- "\027\104\155\105\030\106\102\107\127\110\167\111\113" +
- "\112\137\113\126\120\156\121\153\122\032\123\101\001" +
- "\001\000\136\003\046\004\034\007\200\020\111\021\136" +
- "\023\072\025\012\026\035\032\144\037\166\040\174\041" +
- "\061\042\145\043\106\044\171\045\203\046\135\047\015" +
- "\052\017\053\064\054\047\055\040\060\u010e\071\165\072" +
- "\065\073\150\074\122\075\060\076\025\077\172\100\006" +
- "\101\170\102\021\103\027\104\155\105\030\106\102\107" +
- "\127\110\167\111\113\112\137\113\126\120\156\121\153" +
- "\122\032\123\101\001\001\000\002\001\001\000\002\001" +
- "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
- "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
- "\004\003\u0117\001\001\000\002\001\001\000\010\003\236" +
- "\020\320\022\u0119\001\001\000\002\001\001\000\166\003" +
- "\046\004\034\007\200\020\111\021\136\023\072\025\012" +
- "\026\035\032\144\036\164\037\166\040\174\041\061\042" +
- "\145\043\106\044\171\045\203\046\135\047\015\052\017" +
- "\053\064\054\047\055\040\056\050\057\134\060\176\061" +
- "\u011b\062\031\065\202\066\010\067\071\070\067\071\165" +
- "\072\065\073\150\074\122\075\060\076\025\077\172\100" +
- "\006\101\170\102\021\103\027\104\155\105\030\106\102" +
- "\107\127\110\167\111\113\112\137\113\126\115\123\116" +
- "\042\117\073\120\156\121\153\122\032\123\101\001\001" +
- "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
- "\002\001\001\000\004\124\220\001\001\000\002\001\001" +
- "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
- "\002\001\001\000\004\003\324\001\001\000\002\001\001" +
- "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
- "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
- "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
- "\001\000\002\001\001\000\002\001\001\000\146\003\046" +
- "\004\034\007\200\020\111\021\136\023\072\025\012\026" +
- "\035\032\144\037\166\040\174\041\061\042\145\043\106" +
- "\044\171\045\203\046\135\047\015\052\017\053\064\054" +
- "\047\055\040\056\050\057\134\060\176\062\031\067\u013c" +
- "\071\165\072\065\073\150\074\122\075\060\076\025\077" +
- "\172\100\006\101\170\102\021\103\027\104\155\105\030" +
- "\106\102\107\127\110\167\111\113\112\137\113\126\120" +
- "\156\121\153\122\032\123\101\001\001\000\002\001\001" +
- "\000\002\001\001\000\002\001\001\000\146\003\046\004" +
- "\034\007\200\020\111\021\136\023\072\025\012\026\035" +
- "\032\144\037\166\040\174\041\061\042\145\043\106\044" +
- "\171\045\203\046\135\047\015\052\017\053\064\054\047" +
- "\055\040\056\050\057\134\060\176\062\031\067\u013b\071" +
- "\165\072\065\073\150\074\122\075\060\076\025\077\172" +
- "\100\006\101\170\102\021\103\027\104\155\105\030\106" +
- "\102\107\127\110\167\111\113\112\137\113\126\120\156" +
- "\121\153\122\032\123\101\001\001\000\146\003\046\004" +
- "\034\007\200\020\111\021\136\023\072\025\012\026\035" +
- "\032\144\037\166\040\174\041\061\042\145\043\106\044" +
- "\171\045\203\046\135\047\015\052\017\053\064\054\047" +
- "\055\040\056\050\057\134\060\176\062\031\067\u013a\071" +
- "\165\072\065\073\150\074\122\075\060\076\025\077\172" +
- "\100\006\101\170\102\021\103\027\104\155\105\030\106" +
- "\102\107\127\110\167\111\113\112\137\113\126\120\156" +
- "\121\153\122\032\123\101\001\001\000\002\001\001\000" +
- "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
- "\001\001\000\002\001\001\000\040\003\236\017\u0143\020" +
- "\u0146\030\u0140\051\u0142\072\u0141\103\027\104\155\105\030" +
- "\106\102\107\127\110\167\111\113\112\137\113\126\001" +
- "\001\000\004\024\u014c\001\001\000\002\001\001\000\002" +
- "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
- "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
- "\000\002\001\001\000\002\001\001\000\002\001\001\000" +
- "\002\001\001\000\002\001\001\000\002\001\001\000\012" +
- "\003\236\014\u0150\016\u0151\020\357\001\001\000\002\001" +
- "\001\000\002\001\001\000\002\001\001\000\012\003\236" +
- "\010\u0154\013\u0155\020\u0156\001\001\000\002\001\001\000" +
- "\002\001\001\000\002\001\001\000\002\001\001\000\004" +
- "\124\220\001\001\000\012\003\236\011\u015c\013\u015d\020" +
- "\u0156\001\001\000\002\001\001\000\002\001\001\000\002" +
- "\001\001\000\002\001\001\000\010\003\236\012\u0160\020" +
- "\363\001\001\000\002\001\001\000\002\001\001\000\002" +
- "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
- "\001\000\002\001\001\000\002\001\001\000\012\003\236" +
- "\020\320\022\327\035\u0168\001\001\000\002\001\001\000" +
- "\166\003\046\004\034\007\200\020\111\021\136\023\072" +
- "\025\012\026\035\032\144\036\164\037\166\040\174\041" +
- "\061\042\145\043\106\044\171\045\203\046\135\047\015" +
- "\052\017\053\064\054\047\055\040\056\050\057\134\060" +
- "\176\061\u016a\062\031\065\202\066\010\067\071\070\067" +
- "\071\165\072\065\073\150\074\122\075\060\076\025\077" +
- "\172\100\006\101\170\102\021\103\027\104\155\105\030" +
- "\106\102\107\127\110\167\111\113\112\137\113\126\115" +
- "\123\116\042\117\073\120\156\121\153\122\032\123\101" +
- "\001\001\000\002\001\001\000\004\003\u016c\001\001\000" +
- "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
- "\001\001\000\012\003\236\017\u0172\020\u0146\050\u0171\001" +
- "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
- "\000\002\001\001\000\002\001\001\000\144\003\046\004" +
- "\034\007\200\020\111\021\136\023\072\025\012\026\035" +
- "\032\144\037\166\040\174\041\061\042\145\043\106\044" +
- "\171\045\203\046\135\047\015\052\017\053\064\054\047" +
- "\055\040\056\050\057\134\060\176\062\u017b\071\165\072" +
- "\065\073\150\074\122\075\060\076\025\077\172\100\006" +
- "\101\170\102\021\103\027\104\155\105\030\106\102\107" +
- "\127\110\167\111\113\112\137\113\126\120\156\121\153" +
- "\122\032\123\101\001\001\000\142\003\046\004\034\007" +
- "\200\020\111\021\136\023\072\025\012\026\035\032\144" +
- "\037\166\040\174\041\061\042\145\043\106\044\171\045" +
- "\203\046\135\047\015\052\017\053\064\054\047\055\040" +
- "\056\050\057\u017a\060\176\071\165\072\065\073\150\074" +
- "\122\075\060\076\025\077\172\100\006\101\170\102\021" +
- "\103\027\104\155\105\030\106\102\107\127\110\167\111" +
- "\113\112\137\113\126\120\156\121\153\122\032\123\101" +
- "\001\001\000\142\003\046\004\034\007\200\020\111\021" +
- "\136\023\072\025\012\026\035\032\144\037\166\040\174" +
- "\041\061\042\145\043\106\044\171\045\203\046\135\047" +
- "\015\052\017\053\064\054\047\055\040\056\050\057\u0179" +
- "\060\176\071\165\072\065\073\150\074\122\075\060\076" +
- "\025\077\172\100\006\101\170\102\021\103\027\104\155" +
- "\105\030\106\102\107\127\110\167\111\113\112\137\113" +
- "\126\120\156\121\153\122\032\123\101\001\001\000\002" +
- "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
- "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
- "\000\006\111\u0181\113\u0182\001\001\000\002\001\001\000" +
- "\002\001\001\000\002\001\001\000\002\001\001\000\002" +
- "\001\001\000\002\001\001\000\002\001\001\000\002\001" +
- "\001\000\040\003\236\017\u0143\020\u0146\030\u0140\051\u018a" +
- "\072\u0141\103\027\104\155\105\030\106\102\107\127\110" +
- "\167\111\113\112\137\113\126\001\001\000\002\001\001" +
- "\000\002\001\001\000\012\003\236\017\u0172\020\u0146\050" +
- "\u018d\001\001\000\002\001\001\000\002\001\001\000\002" +
- "\001\001\000\002\001\001\000\002\001\001\000\152\003" +
- "\046\004\034\007\200\020\111\021\136\023\072\025\012" +
- "\026\035\032\144\037\166\040\174\041\061\042\145\043" +
- "\106\044\171\045\203\046\135\047\015\052\017\053\064" +
- "\054\047\055\040\056\050\057\134\060\176\062\031\065" +
- "\u0193\067\071\070\067\071\165\072\065\073\150\074\122" +
- "\075\060\076\025\077\172\100\006\101\170\102\021\103" +
- "\027\104\155\105\030\106\102\107\127\110\167\111\113" +
- "\112\137\113\126\120\156\121\153\122\032\123\101\001" +
- "\001\000\002\001\001\000\002\001\001\000\002\001\001" +
- "" });
-
- /** Access to <code>reduce_goto</code> table. */
- public short[][] reduce_table() {return _reduce_table;}
-
- /** Instance of action encapsulation class. */
- protected CUP$XPathCup$actions action_obj;
-
- /** Action encapsulation object initializer. */
- protected void init_actions()
- {
- action_obj = new CUP$XPathCup$actions(this);
- }
-
- /** Invoke a user supplied parse action. */
- public java_cup.runtime.Symbol do_action(
- int act_num,
- java_cup.runtime.lr_parser parser,
- java.util.Stack stack,
- int top)
- throws java.lang.Exception
- {
- /* call code in generated class */
- return action_obj.CUP$XPathCup$do_action(act_num, parser, stack, top);
- }
-
- /** Indicates start state. */
- public int start_state() {return 0;}
- /** Indicates start production. */
- public int start_production() {return 1;}
-
- /** <code>EOF</code> Symbol index. */
- public int EOF_sym() {return 0;}
-
- /** <code>error</code> Symbol index. */
- public int error_sym() {return 1;}
-
-
-
-
-public void report_error(String message, Object info) {
- String err = "Parser error: ";
-
- XPathFlex lexer = (XPathFlex) getScanner();
-
- err += "line " + lexer.lineno();
- err += " col " + lexer.colno();
- err += ": " + lexer.yytext();
-
-
- throw new CupError(err);
-}
-
-}
-
-/** Cup generated class to encapsulate user supplied action code.*/
-class CUP$XPathCup$actions {
- private final XPathCup parser;
-
- /** Constructor */
- CUP$XPathCup$actions(XPathCup parser) {
- this.parser = parser;
- }
-
- /** Method with the actual generated action code. */
- public final java_cup.runtime.Symbol CUP$XPathCup$do_action(
- int CUP$XPathCup$act_num,
- java_cup.runtime.lr_parser CUP$XPathCup$parser,
- java.util.Stack CUP$XPathCup$stack,
- int CUP$XPathCup$top)
- throws java.lang.Exception
- {
- /* Symbol object for return from actions */
- java_cup.runtime.Symbol CUP$XPathCup$result;
-
- /* select the action based on the action number */
- switch (CUP$XPathCup$act_num)
- {
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 284: // UnreservedNCName ::= GE
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Object n = (Object)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("ge");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(2/*UnreservedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 283: // UnreservedNCName ::= GT
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Object n = (Object)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("gt");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(2/*UnreservedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 282: // UnreservedNCName ::= LE
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Object n = (Object)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("le");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(2/*UnreservedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 281: // UnreservedNCName ::= LT
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Object n = (Object)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("lt");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(2/*UnreservedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 280: // UnreservedNCName ::= NE
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Object n = (Object)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("ne");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(2/*UnreservedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 279: // UnreservedNCName ::= EQ
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Object n = (Object)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("eq");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(2/*UnreservedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 278: // UnreservedNCName ::= MOD
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("mod");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(2/*UnreservedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 277: // UnreservedNCName ::= IDIV
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("idiv");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(2/*UnreservedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 276: // UnreservedNCName ::= DIV
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("div");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(2/*UnreservedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 275: // UnreservedNCName ::= OR
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("or");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(2/*UnreservedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 274: // UnreservedNCName ::= AND
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("and");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(2/*UnreservedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 273: // UnreservedNCName ::= ELSE
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("else");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(2/*UnreservedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 272: // UnreservedNCName ::= THEN
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("then");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(2/*UnreservedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 271: // UnreservedNCName ::= EVERY
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("every");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(2/*UnreservedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 270: // UnreservedNCName ::= SOME
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("some");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(2/*UnreservedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 269: // UnreservedNCName ::= SATISFIES
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("satisfies");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(2/*UnreservedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 268: // UnreservedNCName ::= RETURN
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("return");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(2/*UnreservedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 267: // UnreservedNCName ::= IN
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("in");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(2/*UnreservedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 266: // UnreservedNCName ::= FOR
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("for");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(2/*UnreservedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 265: // UnreservedNCName ::= IS
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("is");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(2/*UnreservedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 264: // UnreservedNCName ::= CAST
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("cast");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(2/*UnreservedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 263: // UnreservedNCName ::= CASTABLE
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("castable");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(2/*UnreservedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 262: // UnreservedNCName ::= TREAT
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("as");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(2/*UnreservedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 261: // UnreservedNCName ::= AS
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("as");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(2/*UnreservedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 260: // UnreservedNCName ::= OF
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("of");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(2/*UnreservedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 259: // UnreservedNCName ::= INSTANCE
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("instance");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(2/*UnreservedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 258: // UnreservedNCName ::= EXCEPT
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("except");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(2/*UnreservedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 257: // UnreservedNCName ::= INTERSECT
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("intersect");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(2/*UnreservedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 256: // UnreservedNCName ::= UNION
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("union");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(2/*UnreservedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 255: // UnreservedNCName ::= ANCESTOR_OR_SELF
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("ancestor-or-self");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(2/*UnreservedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 254: // UnreservedNCName ::= PRECEDING
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("preceding");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(2/*UnreservedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 253: // UnreservedNCName ::= PRECEDING_SIBLING
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("preceding-sibling");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(2/*UnreservedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 252: // UnreservedNCName ::= ANCESTOR
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("ancestor");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(2/*UnreservedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 251: // UnreservedNCName ::= PARENT
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("parent");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(2/*UnreservedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 250: // UnreservedNCName ::= NAMESPACE
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("namespace");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(2/*UnreservedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 249: // UnreservedNCName ::= FOLLOWING
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("following");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(2/*UnreservedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 248: // UnreservedNCName ::= FOLLOWING_SIBLING
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("following-sibling");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(2/*UnreservedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 247: // UnreservedNCName ::= DESCENDANT_OR_SELF
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("descendant-of-self");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(2/*UnreservedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 246: // UnreservedNCName ::= SELF
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("self");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(2/*UnreservedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 245: // UnreservedNCName ::= DESCENDANT
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("descendant");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(2/*UnreservedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 244: // UnreservedNCName ::= CHILD
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("child");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(2/*UnreservedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 243: // UnreservedNCName ::= TO
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("to");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(2/*UnreservedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 242: // UnreservedNCName ::= NCNAME
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = n;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(2/*UnreservedNCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 241: // NCName ::= GE
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Object n = (Object)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("ge");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 240: // NCName ::= GT
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Object n = (Object)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("gt");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 239: // NCName ::= LE
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Object n = (Object)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("le");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 238: // NCName ::= LT
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Object n = (Object)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("lt");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 237: // NCName ::= NE
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Object n = (Object)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("ne");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 236: // NCName ::= EQ
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Object n = (Object)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("eq");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 235: // NCName ::= MOD
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("mod");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 234: // NCName ::= TYPESWITCH
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Object n = (Object)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("typeswitch");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 233: // NCName ::= TEXT
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Object n = (Object)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("text");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 232: // NCName ::= SCHEMA_ELEMENT
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Object n = (Object)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("schema-element");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 231: // NCName ::= SCHEMA_ATTRIBUTE
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Object n = (Object)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("schema-attribute");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 230: // NCName ::= PROCESSING_INSTRUCTION
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Object n = (Object)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("processing-instruction");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 229: // NCName ::= NODE
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Object n = (Object)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("node");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 228: // NCName ::= ITEM
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Object n = (Object)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("item");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 227: // NCName ::= EMPTY_SEQUENCE
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Object n = (Object)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("empty-sequence");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 226: // NCName ::= ELEMENT
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Object n = (Object)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("element");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 225: // NCName ::= DOCUMENT_NODE
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Object n = (Object)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("document-node");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 224: // NCName ::= COMMENT
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Object n = (Object)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("comment");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 223: // NCName ::= IDIV
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("idiv");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 222: // NCName ::= DIV
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("div");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 221: // NCName ::= OR
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("or");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 220: // NCName ::= AND
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("and");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 219: // NCName ::= ELSE
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("else");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 218: // NCName ::= THEN
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("then");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 217: // NCName ::= IF
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("if");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 216: // NCName ::= EVERY
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("every");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 215: // NCName ::= SOME
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("some");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 214: // NCName ::= SATISFIES
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("satisfies");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 213: // NCName ::= RETURN
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("return");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 212: // NCName ::= IN
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("in");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 211: // NCName ::= FOR
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("for");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 210: // NCName ::= IS
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("is");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 209: // NCName ::= CAST
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("cast");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 208: // NCName ::= CASTABLE
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("castable");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 207: // NCName ::= TREAT
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("as");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 206: // NCName ::= AS
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("as");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 205: // NCName ::= OF
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("of");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 204: // NCName ::= INSTANCE
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("instance");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 203: // NCName ::= EXCEPT
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("except");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 202: // NCName ::= INTERSECT
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("intersect");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 201: // NCName ::= UNION
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("union");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 200: // NCName ::= ANCESTOR_OR_SELF
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("ancestor-or-self");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 199: // NCName ::= PRECEDING
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("preceding");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 198: // NCName ::= PRECEDING_SIBLING
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("preceding-sibling");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 197: // NCName ::= ANCESTOR
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("ancestor");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 196: // NCName ::= PARENT
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("parent");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 195: // NCName ::= NAMESPACE
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("namespace");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 194: // NCName ::= FOLLOWING
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("following");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 193: // NCName ::= FOLLOWING_SIBLING
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("following-sibling");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 192: // NCName ::= DESCENDANT_OR_SELF
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("descendant-of-self");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 191: // NCName ::= SELF
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("self");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 190: // NCName ::= ATTRIBUTE
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("attribute");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 189: // NCName ::= DESCENDANT
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("descendant");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 188: // NCName ::= CHILD
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("child");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 187: // NCName ::= TO
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new String("to");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 186: // NCName ::= NCNAME
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = n;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(1/*NCName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 185: // UnreservedQName ::= NCName COLON NCName
- {
- QName RESULT = null;
- int pleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
- int pright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
- String p = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
- int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String l = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new QName(p,l);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(15/*UnreservedQName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 184: // UnreservedQName ::= UnreservedNCName
- {
- QName RESULT = null;
- int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String l = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new QName(l);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(15/*UnreservedQName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 183: // LocalPart ::= NCName
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = n;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(4/*LocalPart*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 182: // Prefix ::= NCName
- {
- String RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = n;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(3/*Prefix*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 181: // QName ::= NCName COLON NCName
- {
- QName RESULT = null;
- int pleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
- int pright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
- String p = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
- int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String l = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new QName(p,l);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(14/*QName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 180: // QName ::= NCName
- {
- QName RESULT = null;
- int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String l = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new QName(l);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(14/*QName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 179: // VarName ::= QName
- {
- QName RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- QName n = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = n;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(16/*VarName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 178: // StringLiteral ::= STRING
- {
- StringLiteral RESULT = null;
- int sleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int sright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String s = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new StringLiteral(s);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(5/*StringLiteral*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 177: // DoubleLiteral ::= DOUBLE
- {
- DoubleLiteral RESULT = null;
- int dleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int dright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Double d = (Double)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new DoubleLiteral(d.doubleValue());
- CUP$XPathCup$result = new java_cup.runtime.Symbol(64/*DoubleLiteral*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 176: // DecimalLiteral ::= DECIMAL
- {
- DecimalLiteral RESULT = null;
- int dleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int dright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- BigDecimal d = (BigDecimal)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new DecimalLiteral(d);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(62/*DecimalLiteral*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 175: // IntegerLiteral ::= INTEGER
- {
- IntegerLiteral RESULT = null;
- int ileft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int iright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- BigInteger i = (BigInteger)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new IntegerLiteral(i);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(63/*IntegerLiteral*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 174: // TypeName ::= QName
- {
- QName RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- QName n = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = n;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(8/*TypeName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 173: // ElementName ::= QName
- {
- QName RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- QName n = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = n;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(9/*ElementName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 172: // AttributeName ::= QName
- {
- QName RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- QName n = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = n;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(12/*AttributeName*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 171: // ElementDeclaration ::= ElementName
- {
- QName RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- QName n = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = n;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(6/*ElementDeclaration*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 170: // SchemaElementTest ::= SCHEMA_ELEMENT LPAR ElementDeclaration RPAR
- {
- SchemaElemTest RESULT = null;
- int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
- int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
- QName e = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
- RESULT = new SchemaElemTest(e);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(73/*SchemaElementTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 169: // ElementNameOrWildcard ::= STAR
- {
- QName RESULT = null;
- RESULT = null; /* XXX */
- CUP$XPathCup$result = new java_cup.runtime.Symbol(7/*ElementNameOrWildcard*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 168: // ElementNameOrWildcard ::= ElementName
- {
- QName RESULT = null;
- int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- QName e = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = e;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(7/*ElementNameOrWildcard*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 167: // ElementTest ::= ELEMENT LPAR ElementNameOrWildcard COMMA TypeName QUESTIONMARK RPAR
- {
- ElementTest RESULT = null;
- int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-4)).left;
- int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-4)).right;
- QName e = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-4)).value;
- int tleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
- int tright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
- QName t = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-
- // XXX: wildcard!!
- boolean wild = false;
- if(e == null)
- wild = true;
-
- RESULT = new ElementTest(e,wild,t,true);
-
- CUP$XPathCup$result = new java_cup.runtime.Symbol(71/*ElementTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-6)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 166: // ElementTest ::= ELEMENT LPAR ElementNameOrWildcard COMMA TypeName RPAR
- {
- ElementTest RESULT = null;
- int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left;
- int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).right;
- QName e = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).value;
- int tleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
- int tright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
- QName t = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-
- // XXX: wildcard!!
- boolean wild = false;
- if(e == null)
- wild = true;
-
- RESULT = new ElementTest(e,wild,t);
-
- CUP$XPathCup$result = new java_cup.runtime.Symbol(71/*ElementTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-5)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 165: // ElementTest ::= ELEMENT LPAR ElementNameOrWildcard RPAR
- {
- ElementTest RESULT = null;
- int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
- int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
- QName e = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-
- // XXX: wildcard!!
- boolean wild = false;
- if(e == null)
- wild = true;
-
- RESULT = new ElementTest(e,wild);
-
- CUP$XPathCup$result = new java_cup.runtime.Symbol(71/*ElementTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 164: // ElementTest ::= ELEMENT LPAR RPAR
- {
- ElementTest RESULT = null;
- RESULT = new ElementTest();
- CUP$XPathCup$result = new java_cup.runtime.Symbol(71/*ElementTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 163: // AttributeDeclaration ::= AttributeName
- {
- QName RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- QName n = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = n;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(10/*AttributeDeclaration*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 162: // SchemaAttributeTest ::= SCHEMA_ATTRIBUTE LPAR AttributeDeclaration RPAR
- {
- SchemaAttrTest RESULT = null;
- int aleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
- int aright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
- QName a = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
- RESULT = new SchemaAttrTest(a);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(72/*SchemaAttributeTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 161: // AttribNameOrWildcard ::= STAR
- {
- QName RESULT = null;
- RESULT = null; /* XXX */
- CUP$XPathCup$result = new java_cup.runtime.Symbol(11/*AttribNameOrWildcard*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 160: // AttribNameOrWildcard ::= AttributeName
- {
- QName RESULT = null;
- int aleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int aright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- QName a = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = a;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(11/*AttribNameOrWildcard*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 159: // AttributeTest ::= ATTRIBUTE LPAR AttribNameOrWildcard COMMA TypeName RPAR
- {
- AttributeTest RESULT = null;
- int aleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left;
- int aright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).right;
- QName a = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).value;
- int tleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
- int tright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
- QName t = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-
- // XXX: wildcard!!
- boolean wild = false;
- if(a == null)
- wild = true;
-
- RESULT = new AttributeTest(a,wild,t);
-
- CUP$XPathCup$result = new java_cup.runtime.Symbol(69/*AttributeTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-5)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 158: // AttributeTest ::= ATTRIBUTE LPAR AttribNameOrWildcard RPAR
- {
- AttributeTest RESULT = null;
- int aleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
- int aright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
- QName a = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-
- // XXX: wildcard!!
- boolean wild = false;
- if(a == null)
- wild = true;
-
- RESULT = new AttributeTest(a,wild);
-
- CUP$XPathCup$result = new java_cup.runtime.Symbol(69/*AttributeTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 157: // AttributeTest ::= ATTRIBUTE LPAR RPAR
- {
- AttributeTest RESULT = null;
- RESULT = new AttributeTest();
- CUP$XPathCup$result = new java_cup.runtime.Symbol(69/*AttributeTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 156: // PITest ::= PROCESSING_INSTRUCTION LPAR StringLiteral RPAR
- {
- PITest RESULT = null;
- int sleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
- int sright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
- StringLiteral s = (StringLiteral)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
- RESULT = new PITest(s.string());
- CUP$XPathCup$result = new java_cup.runtime.Symbol(68/*PITest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 155: // PITest ::= PROCESSING_INSTRUCTION LPAR NCName RPAR
- {
- PITest RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
- RESULT = new PITest(n);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(68/*PITest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 154: // PITest ::= PROCESSING_INSTRUCTION LPAR RPAR
- {
- PITest RESULT = null;
- RESULT = new PITest();
- CUP$XPathCup$result = new java_cup.runtime.Symbol(68/*PITest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 153: // CommentTest ::= COMMENT LPAR RPAR
- {
- CommentTest RESULT = null;
- RESULT = new CommentTest();
- CUP$XPathCup$result = new java_cup.runtime.Symbol(67/*CommentTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 152: // TextTest ::= TEXT LPAR RPAR
- {
- TextTest RESULT = null;
- RESULT = new TextTest();
- CUP$XPathCup$result = new java_cup.runtime.Symbol(66/*TextTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 151: // DocumentTest ::= DOCUMENT_NODE LPAR SchemaElementTest RPAR
- {
- DocumentTest RESULT = null;
- int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
- int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
- SchemaElemTest e = (SchemaElemTest)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
- RESULT = new DocumentTest(DocumentTest.SCHEMA_ELEMENT,e);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(65/*DocumentTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 150: // DocumentTest ::= DOCUMENT_NODE LPAR ElementTest RPAR
- {
- DocumentTest RESULT = null;
- int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
- int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
- ElementTest e = (ElementTest)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
- RESULT = new DocumentTest(DocumentTest.ELEMENT,e);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(65/*DocumentTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 149: // DocumentTest ::= DOCUMENT_NODE LPAR RPAR
- {
- DocumentTest RESULT = null;
- RESULT = new DocumentTest();
- CUP$XPathCup$result = new java_cup.runtime.Symbol(65/*DocumentTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 148: // AnyKindTest ::= NODE LPAR RPAR
- {
- AnyKindTest RESULT = null;
- RESULT = new AnyKindTest();
- CUP$XPathCup$result = new java_cup.runtime.Symbol(70/*AnyKindTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 147: // KindTest ::= AnyKindTest
- {
- KindTest RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- AnyKindTest n = (AnyKindTest)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = n;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(56/*KindTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 146: // KindTest ::= TextTest
- {
- KindTest RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- TextTest n = (TextTest)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = n;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(56/*KindTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 145: // KindTest ::= CommentTest
- {
- KindTest RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- CommentTest n = (CommentTest)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = n;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(56/*KindTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 144: // KindTest ::= PITest
- {
- KindTest RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- PITest n = (PITest)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = n;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(56/*KindTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 143: // KindTest ::= SchemaAttributeTest
- {
- KindTest RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- SchemaAttrTest n = (SchemaAttrTest)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = n;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(56/*KindTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 142: // KindTest ::= SchemaElementTest
- {
- KindTest RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- SchemaElemTest n = (SchemaElemTest)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = n;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(56/*KindTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 141: // KindTest ::= AttributeTest
- {
- KindTest RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- AttributeTest n = (AttributeTest)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = n;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(56/*KindTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 140: // KindTest ::= ElementTest
- {
- KindTest RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- ElementTest n = (ElementTest)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = n;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(56/*KindTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 139: // KindTest ::= DocumentTest
- {
- KindTest RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- DocumentTest n = (DocumentTest)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = n;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(56/*KindTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 138: // AtomicType ::= QName
- {
- QName RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- QName n = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = n;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(13/*AtomicType*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 137: // ItemType ::= ITEM LPAR RPAR
- {
- ItemType RESULT = null;
- RESULT = new ItemType(ItemType.ITEM,null);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(22/*ItemType*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 136: // ItemType ::= KindTest
- {
- ItemType RESULT = null;
- int kleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int kright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- KindTest k = (KindTest)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new ItemType(ItemType.KINDTEST,k);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(22/*ItemType*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 135: // ItemType ::= AtomicType
- {
- ItemType RESULT = null;
- int qleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int qright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- QName q = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new ItemType(ItemType.QNAME,q);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(22/*ItemType*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 134: // OccurrenceIndicator ::= PLUS
- {
- Integer RESULT = null;
- RESULT = new Integer(SequenceType.PLUS);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(18/*OccurrenceIndicator*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 133: // OccurrenceIndicator ::= STAR
- {
- Integer RESULT = null;
- RESULT = new Integer(SequenceType.STAR);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(18/*OccurrenceIndicator*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 132: // OccurrenceIndicator ::= QUESTIONMARK
- {
- Integer RESULT = null;
- RESULT = new Integer(SequenceType.QUESTION);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(18/*OccurrenceIndicator*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 131: // SequenceType ::= EMPTY_SEQUENCE LPAR RPAR
- {
- SequenceType RESULT = null;
- RESULT = new SequenceType(SequenceType.EMPTY, null);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(39/*SequenceType*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 130: // SequenceType ::= ItemType OccurrenceIndicator
- {
- SequenceType RESULT = null;
- int tleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
- int tright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
- ItemType t = (ItemType)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
- int ileft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int iright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Integer i = (Integer)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new SequenceType(i.intValue(), t);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(39/*SequenceType*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 129: // SequenceType ::= ItemType
- {
- SequenceType RESULT = null;
- int tleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int tright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- ItemType t = (ItemType)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new SequenceType(SequenceType.NONE, t);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(39/*SequenceType*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 128: // SingleType ::= AtomicType QUESTIONMARK
- {
- SingleType RESULT = null;
- int tleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
- int tright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
- QName t = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
- RESULT = new SingleType(t,true);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(38/*SingleType*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 127: // SingleType ::= AtomicType
- {
- SingleType RESULT = null;
- int tleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int tright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- QName t = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new SingleType(t);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(38/*SingleType*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 126: // FunctionCallMiddle ::= FunctionCallMiddle COMMA ExprSingle
- {
- Collection RESULT = null;
- int cleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
- int cright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
- Collection c = (Collection)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
- int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Expr e = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-
- c.add(e);
- RESULT = c;
-
- CUP$XPathCup$result = new java_cup.runtime.Symbol(23/*FunctionCallMiddle*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 125: // FunctionCallMiddle ::= ExprSingle
- {
- Collection RESULT = null;
- int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Expr e = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-
- Collection c = new ArrayList();
- c.add(e);
- RESULT = c;
-
- CUP$XPathCup$result = new java_cup.runtime.Symbol(23/*FunctionCallMiddle*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 124: // FunctionCall ::= UnreservedQName LPAR FunctionCallMiddle RPAR
- {
- FunctionCall RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).right;
- QName n = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).value;
- int aleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
- int aright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
- Collection a = (Collection)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
-
- RESULT = new FunctionCall(n,a);
-
- CUP$XPathCup$result = new java_cup.runtime.Symbol(60/*FunctionCall*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 123: // FunctionCall ::= UnreservedQName LPAR RPAR
- {
- FunctionCall RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
- QName n = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
-
- RESULT = new FunctionCall(n,new ArrayList());
-
- CUP$XPathCup$result = new java_cup.runtime.Symbol(60/*FunctionCall*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 122: // ContextItemExpr ::= DOT
- {
- CntxItemExpr RESULT = null;
- RESULT = new CntxItemExpr();
- CUP$XPathCup$result = new java_cup.runtime.Symbol(59/*ContextItemExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 121: // ParenthesizedExpr ::= LPAR Expr RPAR
- {
- Collection RESULT = null;
- int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
- int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
- Collection e = (Collection)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
- RESULT = e;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(24/*ParenthesizedExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 120: // ParenthesizedExpr ::= LPAR RPAR
- {
- Collection RESULT = null;
- RESULT = new ArrayList();
- CUP$XPathCup$result = new java_cup.runtime.Symbol(24/*ParenthesizedExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 119: // VarRef ::= DOLLAR VarName
- {
- VarRef RESULT = null;
- int vleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int vright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- QName v = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new VarRef(v);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(58/*VarRef*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 118: // NumericLiteral ::= DoubleLiteral
- {
- NumericLiteral RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- DoubleLiteral n = (DoubleLiteral)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = n;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(61/*NumericLiteral*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 117: // NumericLiteral ::= DecimalLiteral
- {
- NumericLiteral RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- DecimalLiteral n = (DecimalLiteral)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = n;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(61/*NumericLiteral*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 116: // NumericLiteral ::= IntegerLiteral
- {
- NumericLiteral RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- IntegerLiteral n = (IntegerLiteral)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = n;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(61/*NumericLiteral*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 115: // Literal ::= StringLiteral
- {
- Literal RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- StringLiteral n = (StringLiteral)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = n;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(57/*Literal*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 114: // Literal ::= NumericLiteral
- {
- Literal RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- NumericLiteral n = (NumericLiteral)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = n;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(57/*Literal*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 113: // PrimaryExpr ::= FunctionCall
- {
- PrimaryExpr RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- FunctionCall n = (FunctionCall)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = n;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(29/*PrimaryExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 112: // PrimaryExpr ::= ContextItemExpr
- {
- PrimaryExpr RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- CntxItemExpr n = (CntxItemExpr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = n;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(29/*PrimaryExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 111: // PrimaryExpr ::= ParenthesizedExpr
- {
- PrimaryExpr RESULT = null;
- int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Collection e = (Collection)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new ParExpr(e);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(29/*PrimaryExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 110: // PrimaryExpr ::= VarRef
- {
- PrimaryExpr RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- VarRef n = (VarRef)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = n;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(29/*PrimaryExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 109: // PrimaryExpr ::= Literal
- {
- PrimaryExpr RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Literal n = (Literal)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = n;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(29/*PrimaryExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 108: // Predicate ::= LBRACKET Expr RBRACKET
- {
- Collection RESULT = null;
- int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
- int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
- Collection e = (Collection)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
- RESULT = e;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(82/*Predicate*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 107: // PredicateList ::=
- {
- Collection RESULT = null;
- RESULT = new ArrayList();
- CUP$XPathCup$result = new java_cup.runtime.Symbol(26/*PredicateList*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 106: // PredicateList ::= PredicateList Predicate
- {
- Collection RESULT = null;
- int cleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
- int cright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
- Collection c = (Collection)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
- int pleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int pright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Collection p = (Collection)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-
- c.add(p);
- RESULT = c;
-
- CUP$XPathCup$result = new java_cup.runtime.Symbol(26/*PredicateList*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 105: // FilterExpr ::= PrimaryExpr PredicateList
- {
- FilterExpr RESULT = null;
- int peleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
- int peright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
- PrimaryExpr pe = (PrimaryExpr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
- int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Collection e = (Collection)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new FilterExpr(pe, e);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(81/*FilterExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 104: // Wildcard ::= STAR COLON NCName
- {
- QName RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new QName("*", n);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(17/*Wildcard*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 103: // Wildcard ::= NCName COLON STAR
- {
- QName RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
- String n = (String)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
- RESULT = new QName(n, "*");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(17/*Wildcard*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 102: // Wildcard ::= STAR
- {
- QName RESULT = null;
- RESULT = new QName("*","*");
- CUP$XPathCup$result = new java_cup.runtime.Symbol(17/*Wildcard*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 101: // NameTest ::= Wildcard
- {
- NameTest RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- QName n = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new NameTest(n);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(55/*NameTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 100: // NameTest ::= QName
- {
- NameTest RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- QName n = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new NameTest(n);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(55/*NameTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 99: // NodeTest ::= NameTest
- {
- NodeTest RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- NameTest n = (NameTest)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = n;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(30/*NodeTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 98: // NodeTest ::= KindTest
- {
- NodeTest RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- KindTest n = (KindTest)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = n;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(30/*NodeTest*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 97: // AbbrevReverseStep ::= DOTDOT
- {
- ReverseStep RESULT = null;
- RESULT = new ReverseStep(ReverseStep.DOTDOT,null);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(32/*AbbrevReverseStep*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 96: // ReverseAxis ::= ANCESTOR_OR_SELF COLONCOLON
- {
- Integer RESULT = null;
- RESULT = new Integer(ReverseStep.ANCESTOR_OR_SELF);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(19/*ReverseAxis*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 95: // ReverseAxis ::= PRECEDING COLONCOLON
- {
- Integer RESULT = null;
- RESULT = new Integer(ReverseStep.PRECEDING);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(19/*ReverseAxis*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 94: // ReverseAxis ::= PRECEDING_SIBLING COLONCOLON
- {
- Integer RESULT = null;
- RESULT = new Integer(ReverseStep.PRECEDING_SIBLING);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(19/*ReverseAxis*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 93: // ReverseAxis ::= ANCESTOR COLONCOLON
- {
- Integer RESULT = null;
- RESULT = new Integer(ReverseStep.ANCESTOR);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(19/*ReverseAxis*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 92: // ReverseAxis ::= PARENT COLONCOLON
- {
- Integer RESULT = null;
- RESULT = new Integer(ReverseStep.PARENT);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(19/*ReverseAxis*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 91: // ReverseStep ::= AbbrevReverseStep
- {
- ReverseStep RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- ReverseStep n = (ReverseStep)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = n;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(31/*ReverseStep*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 90: // ReverseStep ::= ReverseAxis NodeTest
- {
- ReverseStep RESULT = null;
- int aleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
- int aright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
- Integer a = (Integer)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- NodeTest n = (NodeTest)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new ReverseStep(a.intValue(), n);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(31/*ReverseStep*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 89: // AbbrevForwardStep ::= NodeTest
- {
- ForwardStep RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- NodeTest n = (NodeTest)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new ForwardStep(ForwardStep.NONE, n);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(34/*AbbrevForwardStep*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 88: // AbbrevForwardStep ::= AT_SYM NodeTest
- {
- ForwardStep RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- NodeTest n = (NodeTest)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new ForwardStep(ForwardStep.AT_SYM, n);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(34/*AbbrevForwardStep*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 87: // ForwardAxis ::= NAMESPACE COLONCOLON
- {
- Integer RESULT = null;
- RESULT = new Integer(ForwardStep.NAMESPACE);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(20/*ForwardAxis*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 86: // ForwardAxis ::= FOLLOWING COLONCOLON
- {
- Integer RESULT = null;
- RESULT = new Integer(ForwardStep.FOLLOWING);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(20/*ForwardAxis*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 85: // ForwardAxis ::= FOLLOWING_SIBLING COLONCOLON
- {
- Integer RESULT = null;
- RESULT = new Integer(ForwardStep.FOLLOWING_SIBLING);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(20/*ForwardAxis*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 84: // ForwardAxis ::= DESCENDANT_OR_SELF COLONCOLON
- {
- Integer RESULT = null;
- RESULT = new Integer(ForwardStep.DESCENDANT_OR_SELF);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(20/*ForwardAxis*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 83: // ForwardAxis ::= SELF COLONCOLON
- {
- Integer RESULT = null;
- RESULT = new Integer(ForwardStep.SELF);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(20/*ForwardAxis*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 82: // ForwardAxis ::= ATTRIBUTE COLONCOLON
- {
- Integer RESULT = null;
- RESULT = new Integer(ForwardStep.ATTRIBUTE);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(20/*ForwardAxis*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 81: // ForwardAxis ::= DESCENDANT COLONCOLON
- {
- Integer RESULT = null;
- RESULT = new Integer(ForwardStep.DESCENDANT);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(20/*ForwardAxis*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 80: // ForwardAxis ::= CHILD COLONCOLON
- {
- Integer RESULT = null;
- RESULT = new Integer(ForwardStep.CHILD);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(20/*ForwardAxis*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 79: // ForwardStep ::= AbbrevForwardStep
- {
- ForwardStep RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- ForwardStep n = (ForwardStep)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = n;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(33/*ForwardStep*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 78: // ForwardStep ::= ForwardAxis NodeTest
- {
- ForwardStep RESULT = null;
- int aleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
- int aright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
- Integer a = (Integer)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- NodeTest n = (NodeTest)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new ForwardStep(a.intValue(),n);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(33/*ForwardStep*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 77: // AxisStep ::= ReverseStep PredicateList
- {
- AxisStep RESULT = null;
- int sleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
- int sright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
- ReverseStep s = (ReverseStep)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
- int pleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int pright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Collection p = (Collection)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new AxisStep(s, p);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(80/*AxisStep*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 76: // AxisStep ::= ForwardStep PredicateList
- {
- AxisStep RESULT = null;
- int sleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
- int sright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
- ForwardStep s = (ForwardStep)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
- int pleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int pright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Collection p = (Collection)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new AxisStep(s, p);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(80/*AxisStep*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 75: // StepExpr ::= FilterExpr
- {
- StepExpr RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- FilterExpr n = (FilterExpr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = n;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(35/*StepExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 74: // StepExpr ::= AxisStep
- {
- StepExpr RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- AxisStep n = (AxisStep)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = n;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(35/*StepExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 73: // RelativePathExpr ::= RelativePathExpr FORWARD_SLASHSLASH StepExpr
- {
- XPathExpr RESULT = null;
- int pleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
- int pright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
- XPathExpr p = (XPathExpr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
- int sleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int sright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- StepExpr s = (StepExpr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-
- p.add_tail(2,s);
- RESULT = p;
-
- CUP$XPathCup$result = new java_cup.runtime.Symbol(36/*RelativePathExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 72: // RelativePathExpr ::= RelativePathExpr FORWARD_SLASH StepExpr
- {
- XPathExpr RESULT = null;
- int pleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
- int pright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
- XPathExpr p = (XPathExpr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
- int sleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int sright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- StepExpr s = (StepExpr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-
- p.add_tail(1,s);
- RESULT = p;
-
- CUP$XPathCup$result = new java_cup.runtime.Symbol(36/*RelativePathExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 71: // RelativePathExpr ::= StepExpr
- {
- XPathExpr RESULT = null;
- int sleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int sright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- StepExpr s = (StepExpr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new XPathExpr(0,(StepExpr)s);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(36/*RelativePathExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 70: // PathExpr ::= RelativePathExpr
- {
- XPathExpr RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- XPathExpr n = (XPathExpr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = n;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(78/*PathExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 69: // PathExpr ::= FORWARD_SLASHSLASH RelativePathExpr
- {
- XPathExpr RESULT = null;
- int pleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int pright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- XPathExpr p = (XPathExpr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-
- p.set_slashes(2);
- RESULT = p;
-
- CUP$XPathCup$result = new java_cup.runtime.Symbol(78/*PathExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 68: // PathExpr ::= FORWARD_SLASH RelativePathExpr
- {
- XPathExpr RESULT = null;
- int pleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int pright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- XPathExpr p = (XPathExpr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-
- p.set_slashes(1);
- RESULT = p;
-
- CUP$XPathCup$result = new java_cup.runtime.Symbol(78/*PathExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 67: // PathExpr ::= FORWARD_SLASH
- {
- XPathExpr RESULT = null;
- RESULT = new XPathExpr(1,null);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(78/*PathExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 66: // NodeComp ::= GREATER_GREATER
- {
- Integer RESULT = null;
- RESULT = new Integer(CmpExpr.GREATER_GREATER);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(21/*NodeComp*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 65: // NodeComp ::= LESS_LESS
- {
- Integer RESULT = null;
- RESULT = new Integer(CmpExpr.LESS_LESS);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(21/*NodeComp*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 64: // NodeComp ::= IS
- {
- Integer RESULT = null;
- RESULT = new Integer(CmpExpr.IS);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(21/*NodeComp*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 63: // ValueComp ::= GE
- {
- Integer RESULT = null;
- RESULT = new Integer(CmpExpr.GE);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(50/*ValueComp*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 62: // ValueComp ::= GT
- {
- Integer RESULT = null;
- RESULT = new Integer(CmpExpr.GT);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(50/*ValueComp*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 61: // ValueComp ::= LE
- {
- Integer RESULT = null;
- RESULT = new Integer(CmpExpr.LE);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(50/*ValueComp*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 60: // ValueComp ::= LT
- {
- Integer RESULT = null;
- RESULT = new Integer(CmpExpr.LT);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(50/*ValueComp*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 59: // ValueComp ::= NE
- {
- Integer RESULT = null;
- RESULT = new Integer(CmpExpr.NE);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(50/*ValueComp*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 58: // ValueComp ::= EQ
- {
- Integer RESULT = null;
- RESULT = new Integer(CmpExpr.EQ);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(50/*ValueComp*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 57: // GeneralComp ::= GREATEREQUAL
- {
- Integer RESULT = null;
- RESULT = new Integer(CmpExpr.GREATEREQUAL);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(49/*GeneralComp*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 56: // GeneralComp ::= GREATER
- {
- Integer RESULT = null;
- RESULT = new Integer(CmpExpr.GREATER);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(49/*GeneralComp*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 55: // GeneralComp ::= LESSEQUAL
- {
- Integer RESULT = null;
- RESULT = new Integer(CmpExpr.LESSEQUAL);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(49/*GeneralComp*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 54: // GeneralComp ::= LESSTHAN
- {
- Integer RESULT = null;
- RESULT = new Integer(CmpExpr.LESSTHAN);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(49/*GeneralComp*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 53: // GeneralComp ::= NOTEQUALS
- {
- Integer RESULT = null;
- RESULT = new Integer(CmpExpr.NOTEQUALS);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(49/*GeneralComp*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 52: // GeneralComp ::= EQUALS
- {
- Integer RESULT = null;
- RESULT = new Integer(CmpExpr.EQUALS);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(49/*GeneralComp*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 51: // ValueExpr ::= PathExpr
- {
- XPathExpr RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- XPathExpr n = (XPathExpr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = n;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(79/*ValueExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 50: // UnaryExpr ::= PLUS UnaryExpr
- {
- Expr RESULT = null;
- int aleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int aright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Expr a = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new PlusExpr(a);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(37/*UnaryExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 49: // UnaryExpr ::= MINUS UnaryExpr
- {
- Expr RESULT = null;
- int aleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int aright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Expr a = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new MinusExpr(a);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(37/*UnaryExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 48: // UnaryExpr ::= ValueExpr
- {
- Expr RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- XPathExpr n = (XPathExpr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = n;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(37/*UnaryExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 47: // CastExpr ::= UnaryExpr CAST AS SingleType
- {
- Expr RESULT = null;
- int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left;
- int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).right;
- Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).value;
- int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- SingleType r = (SingleType)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new CastExpr(l, r);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(43/*CastExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 46: // CastExpr ::= UnaryExpr
- {
- Expr RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Expr n = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = n;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(43/*CastExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 45: // CastableExpr ::= CastExpr CASTABLE AS SingleType
- {
- Expr RESULT = null;
- int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left;
- int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).right;
- Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).value;
- int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- SingleType r = (SingleType)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new CastableExpr(l, r);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(41/*CastableExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 44: // CastableExpr ::= CastExpr
- {
- Expr RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Expr n = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = n;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(41/*CastableExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 43: // TreatExpr ::= CastableExpr TREAT AS SequenceType
- {
- Expr RESULT = null;
- int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left;
- int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).right;
- Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).value;
- int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- SequenceType r = (SequenceType)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new TreatAsExpr(l, r);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(40/*TreatExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 42: // TreatExpr ::= CastableExpr
- {
- Expr RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Expr n = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = n;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(40/*TreatExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 41: // InstanceofExpr ::= TreatExpr INSTANCE OF SequenceType
- {
- Expr RESULT = null;
- int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left;
- int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).right;
- Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).value;
- int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- SequenceType r = (SequenceType)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new InstOfExpr(l, r);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(42/*InstanceofExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-3)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 40: // InstanceofExpr ::= TreatExpr
- {
- Expr RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Expr n = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = n;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(42/*InstanceofExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 39: // IntersectExceptExpr ::= IntersectExceptExpr EXCEPT InstanceofExpr
- {
- Expr RESULT = null;
- int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
- int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
- Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
- int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Expr r = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new ExceptExpr(l, r);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(46/*IntersectExceptExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 38: // IntersectExceptExpr ::= IntersectExceptExpr INTERSECT InstanceofExpr
- {
- Expr RESULT = null;
- int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
- int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
- Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
- int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Expr r = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new IntersectExpr(l, r);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(46/*IntersectExceptExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 37: // IntersectExceptExpr ::= InstanceofExpr
- {
- Expr RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Expr n = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = n;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(46/*IntersectExceptExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 36: // UnionExpr ::= UnionExpr PIPE IntersectExceptExpr
- {
- Expr RESULT = null;
- int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
- int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
- Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
- int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Expr r = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new PipeExpr(l, r);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(44/*UnionExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 35: // UnionExpr ::= UnionExpr UNION IntersectExceptExpr
- {
- Expr RESULT = null;
- int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
- int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
- Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
- int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Expr r = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new UnionExpr(l, r);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(44/*UnionExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 34: // UnionExpr ::= IntersectExceptExpr
- {
- Expr RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Expr n = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = n;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(44/*UnionExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 33: // MultiplicativeExpr ::= MultiplicativeExpr MOD UnionExpr
- {
- Expr RESULT = null;
- int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
- int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
- Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
- int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Expr r = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new ModExpr(l, r);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(45/*MultiplicativeExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 32: // MultiplicativeExpr ::= MultiplicativeExpr IDIV UnionExpr
- {
- Expr RESULT = null;
- int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
- int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
- Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
- int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Expr r = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new IDivExpr(l, r);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(45/*MultiplicativeExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 31: // MultiplicativeExpr ::= MultiplicativeExpr DIV UnionExpr
- {
- Expr RESULT = null;
- int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
- int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
- Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
- int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Expr r = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new DivExpr(l, r);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(45/*MultiplicativeExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 30: // MultiplicativeExpr ::= MultiplicativeExpr STAR UnionExpr
- {
- Expr RESULT = null;
- int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
- int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
- Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
- int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Expr r = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new MulExpr(l, r);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(45/*MultiplicativeExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 29: // MultiplicativeExpr ::= UnionExpr
- {
- Expr RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Expr n = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = n;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(45/*MultiplicativeExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 28: // AdditiveExpr ::= AdditiveExpr MINUS MultiplicativeExpr
- {
- Expr RESULT = null;
- int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
- int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
- Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
- int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Expr r = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new SubExpr(l, r);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(48/*AdditiveExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 27: // AdditiveExpr ::= AdditiveExpr PLUS MultiplicativeExpr
- {
- Expr RESULT = null;
- int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
- int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
- Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
- int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Expr r = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new AddExpr(l, r);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(48/*AdditiveExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 26: // AdditiveExpr ::= MultiplicativeExpr
- {
- Expr RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Expr n = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = n;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(48/*AdditiveExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 25: // RangeExpr ::= AdditiveExpr TO AdditiveExpr
- {
- Expr RESULT = null;
- int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
- int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
- Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
- int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Expr r = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new RangeExpr(l, r);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(53/*RangeExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 24: // RangeExpr ::= AdditiveExpr
- {
- Expr RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Expr n = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = n;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(53/*RangeExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 23: // ComparisonExpr ::= RangeExpr NodeComp RangeExpr
- {
- Expr RESULT = null;
- int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
- int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
- Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
- int tleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
- int tright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
- Integer t = (Integer)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
- int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Expr r = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new CmpExpr(l, r, t.intValue());
- CUP$XPathCup$result = new java_cup.runtime.Symbol(54/*ComparisonExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 22: // ComparisonExpr ::= RangeExpr GeneralComp RangeExpr
- {
- Expr RESULT = null;
- int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
- int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
- Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
- int tleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
- int tright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
- Integer t = (Integer)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
- int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Expr r = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new CmpExpr(l, r, t.intValue());
- CUP$XPathCup$result = new java_cup.runtime.Symbol(54/*ComparisonExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 21: // ComparisonExpr ::= RangeExpr ValueComp RangeExpr
- {
- Expr RESULT = null;
- int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
- int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
- Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
- int tleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
- int tright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
- Integer t = (Integer)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
- int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Expr r = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new CmpExpr(l, r, t.intValue());
- CUP$XPathCup$result = new java_cup.runtime.Symbol(54/*ComparisonExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 20: // ComparisonExpr ::= RangeExpr
- {
- Expr RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Expr n = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = n;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(54/*ComparisonExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 19: // AndExpr ::= AndExpr AND ComparisonExpr
- {
- Expr RESULT = null;
- int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
- int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
- Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
- int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Expr r = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new AndExpr(l, r);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(51/*AndExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 18: // AndExpr ::= ComparisonExpr
- {
- Expr RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Expr n = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = n;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(51/*AndExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 17: // OrExpr ::= OrExpr OR AndExpr
- {
- Expr RESULT = null;
- int lleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
- int lright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
- Expr l = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
- int rleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int rright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Expr r = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new OrExpr(l, r);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(52/*OrExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 16: // OrExpr ::= AndExpr
- {
- Expr RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Expr n = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = n;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(52/*OrExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 15: // IfExpr ::= IF LPAR Expr RPAR THEN ExprSingle ELSE ExprSingle
- {
- IfExpr RESULT = null;
- int expsleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-5)).left;
- int expsright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-5)).right;
- Collection exps = (Collection)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-5)).value;
- int tleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
- int tright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
- Expr t = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
- int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Expr e = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new IfExpr(exps, t, e);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(77/*IfExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-7)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 14: // QuantifiedExprMiddle ::= QuantifiedExprMiddle COMMA DOLLAR VarName IN ExprSingle
- {
- Collection RESULT = null;
- int psleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-5)).left;
- int psright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-5)).right;
- Collection ps = (Collection)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-5)).value;
- int vleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
- int vright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
- QName v = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
- int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Expr e = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-
- VarExprPair p = new VarExprPair(v,e);
- ps.add(p);
- RESULT = ps;
-
- CUP$XPathCup$result = new java_cup.runtime.Symbol(27/*QuantifiedExprMiddle*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-5)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 13: // QuantifiedExprMiddle ::= VarName IN ExprSingle
- {
- Collection RESULT = null;
- int vleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
- int vright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
- QName v = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
- int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Expr e = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-
- Collection pairs = new ArrayList();
- VarExprPair p = new VarExprPair(v,e);
- pairs.add(p);
- RESULT = pairs;
-
- CUP$XPathCup$result = new java_cup.runtime.Symbol(27/*QuantifiedExprMiddle*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 12: // QuantifiedExpr ::= EVERY DOLLAR QuantifiedExprMiddle SATISFIES ExprSingle
- {
- QuantifiedExpr RESULT = null;
- int pairsleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
- int pairsright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
- Collection pairs = (Collection)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
- int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Expr e = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-
- QuantifiedExpr qe = new QuantifiedExpr(QuantifiedExpr.ALL,
- pairs, e);
- RESULT = qe;
-
- CUP$XPathCup$result = new java_cup.runtime.Symbol(76/*QuantifiedExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-4)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 11: // QuantifiedExpr ::= SOME DOLLAR QuantifiedExprMiddle SATISFIES ExprSingle
- {
- QuantifiedExpr RESULT = null;
- int pairsleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
- int pairsright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
- Collection pairs = (Collection)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
- int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Expr e = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-
- QuantifiedExpr qe = new QuantifiedExpr(QuantifiedExpr.SOME,
- pairs, e);
- RESULT = qe;
-
- CUP$XPathCup$result = new java_cup.runtime.Symbol(76/*QuantifiedExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-4)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 10: // SimpleForClause ::= SimpleForClause COMMA DOLLAR VarName IN ExprSingle
- {
- Collection RESULT = null;
- int psleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-5)).left;
- int psright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-5)).right;
- Collection ps = (Collection)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-5)).value;
- int vleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
- int vright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
- QName v = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
- int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Expr e = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-
- VarExprPair p = new VarExprPair(v,e);
- ps.add(p);
- RESULT = ps;
-
- CUP$XPathCup$result = new java_cup.runtime.Symbol(28/*SimpleForClause*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-5)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 9: // SimpleForClause ::= FOR DOLLAR VarName IN ExprSingle
- {
- Collection RESULT = null;
- int vleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
- int vright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
- QName v = (QName)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
- int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Expr e = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-
- Collection pairs = new ArrayList();
- VarExprPair p = new VarExprPair(v,e);
- pairs.add(p);
- RESULT = pairs;
-
- CUP$XPathCup$result = new java_cup.runtime.Symbol(28/*SimpleForClause*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-4)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 8: // ForExpr ::= SimpleForClause RETURN ExprSingle
- {
- ForExpr RESULT = null;
- int pairsleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
- int pairsright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
- Collection pairs = (Collection)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
- int eleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int eright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Expr e = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-
- ForExpr fexp = new ForExpr(pairs,e);
- RESULT = fexp;
-
- CUP$XPathCup$result = new java_cup.runtime.Symbol(75/*ForExpr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 7: // ExprSingle ::= OrExpr
- {
- Expr RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Expr n = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = n;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(47/*ExprSingle*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 6: // ExprSingle ::= IfExpr
- {
- Expr RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- IfExpr n = (IfExpr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = n;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(47/*ExprSingle*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 5: // ExprSingle ::= QuantifiedExpr
- {
- Expr RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- QuantifiedExpr n = (QuantifiedExpr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = n;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(47/*ExprSingle*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 4: // ExprSingle ::= ForExpr
- {
- Expr RESULT = null;
- int nleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int nright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- ForExpr n = (ForExpr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = n;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(47/*ExprSingle*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 3: // Expr ::= Expr COMMA ExprSingle
- {
- Collection RESULT = null;
- int exprsleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left;
- int exprsright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).right;
- Collection exprs = (Collection)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).value;
- int exleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int exright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Expr ex = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-
- exprs.add(ex);
- RESULT = exprs;
-
- CUP$XPathCup$result = new java_cup.runtime.Symbol(25/*Expr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-2)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 2: // Expr ::= ExprSingle
- {
- Collection RESULT = null;
- int exleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int exright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Expr ex = (Expr)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
-
- Collection exps = new ArrayList();
- exps.add(ex);
- RESULT = exps;
-
- CUP$XPathCup$result = new java_cup.runtime.Symbol(25/*Expr*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 1: // $START ::= XPath EOF
- {
- Object RESULT = null;
- int start_valleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left;
- int start_valright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).right;
- XPath start_val = (XPath)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).value;
- RESULT = start_val;
- CUP$XPathCup$result = new java_cup.runtime.Symbol(0/*$START*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-1)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- /* ACCEPT */
- CUP$XPathCup$parser.done_parsing();
- return CUP$XPathCup$result;
-
- /*. . . . . . . . . . . . . . . . . . . .*/
- case 0: // XPath ::= Expr
- {
- XPath RESULT = null;
- int expsleft = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left;
- int expsright = ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right;
- Collection exps = (Collection)((java_cup.runtime.Symbol) CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).value;
- RESULT = new XPath(exps);
- CUP$XPathCup$result = new java_cup.runtime.Symbol(74/*XPath*/, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).left, ((java_cup.runtime.Symbol)CUP$XPathCup$stack.elementAt(CUP$XPathCup$top-0)).right, RESULT);
- }
- return CUP$XPathCup$result;
-
- /* . . . . . .*/
- default:
- throw new Exception(
- "Invalid action number found in internal parse table");
-
- }
- }
-}
-
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/XPathError.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/XPathError.java
deleted file mode 100644
index e7770e2..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/XPathError.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-/**
- * This error is thrown when there is a problem with an XPath exception.
- */
-public class XPathError extends Error {
- /**
- *
- */
- private static final long serialVersionUID = 6624631792087303209L;
- private String _reason;
-
- /**
- * Constructor for XPathError
- *
- * @param reason
- * Is the reason why the error has been thrown.
- */
- public XPathError(String reason) {
- _reason = reason;
- }
-
- /**
- * The reason why the error has been thrown.
- *
- * @return the reason why the error has been throw.
- */
- public String reason() {
- return _reason;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/XPathFlex.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/XPathFlex.java
deleted file mode 100644
index 5fab592..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/XPathFlex.java
+++ /dev/null
@@ -1,1319 +0,0 @@
-/* The following code was generated by JFlex 1.4.3 on 12/14/09 2:02 AM */
-
-// *******************************************************************************
-// * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
-// * All rights reserved. This program and the accompanying materials
-// * are made available under the terms of the Eclipse Public License v1.0
-// * which accompanies this distribution, and is available at
-// * http://www.eclipse.org/legal/epl-v10.html
-// *
-// * Contributors:
-// * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
-// * David Carver - bug 280987 - fixed literal issues for integer and decimal
-// * Jesper S Moller - bug 283214 - fix IF THEN ELSE parsing and update grammars
-// * Jesper S Moller - bug 286061 correct handling of quoted string
-// * Jesper Moller - bug 297707 - Missing the empty-sequence() type
-// *******************************************************************************/
-
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-
-import java_cup.runtime.Symbol;
-
-
-/**
- * This class is a scanner generated by
- * <a href="http://www.jflex.de/">JFlex</a> 1.4.3
- * on 12/14/09 2:02 AM from the specification file
- * <tt>/Users/jesper/Documents/workspace-3.5M5/org.eclipse.wst.xml.xpath2.processor/grammars/xpath.lex</tt>
- */
-public class XPathFlex implements java_cup.runtime.Scanner {
-
- /** This character denotes the end of file */
- public static final int YYEOF = -1;
-
- /** initial size of the lookahead buffer */
- private static final int ZZ_BUFFERSIZE = 16384;
-
- /** lexical states */
- public static final int YYINITIAL = 0;
- public static final int COMMENT = 2;
-
- /**
- * ZZ_LEXSTATE[l] is the state in the DFA for the lexical state l
- * ZZ_LEXSTATE[l+1] is the state in the DFA for the lexical state l
- * at the beginning of a line
- * l is of the form l = 2*k, k a non negative integer
- */
- private static final int ZZ_LEXSTATE[] = {
- 0, 0, 1, 1
- };
-
- /**
- * Translates characters to character classes
- */
- private static final String ZZ_CMAP_PACKED =
- "\11\0\1\1\1\1\2\0\1\1\22\0\1\1\1\22\1\2\1\0"+
- "\1\30\2\0\1\3\1\12\1\16\1\17\1\7\1\27\1\11\1\5"+
- "\1\25\12\4\1\13\1\0\1\23\1\21\1\24\1\31\1\26\4\10"+
- "\1\6\25\10\1\14\1\0\1\15\1\0\1\10\1\0\1\42\1\45"+
- "\1\32\1\36\1\37\1\47\1\52\1\33\1\34\2\10\1\35\1\53"+
- "\1\41\1\50\1\54\1\55\1\44\1\40\1\43\1\46\1\56\1\51"+
- "\1\57\1\60\1\10\1\0\1\20\uff83\0";
-
- /**
- * Translates characters to character classes
- */
- private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED);
-
- /**
- * Translates DFA states to action switch labels.
- */
- private static final int [] ZZ_ACTION = zzUnpackAction();
-
- private static final String ZZ_ACTION_PACKED_0 =
- "\2\0\1\1\1\2\2\1\1\3\1\4\1\5\1\6"+
- "\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16"+
- "\1\17\1\1\1\20\1\21\1\22\1\23\1\24\1\25"+
- "\1\26\20\5\2\2\1\0\1\27\1\0\1\27\1\30"+
- "\1\0\1\31\1\32\1\33\1\34\1\35\1\36\1\37"+
- "\1\40\1\41\4\5\1\42\1\43\1\5\1\44\1\45"+
- "\1\46\5\5\1\47\6\5\1\50\2\5\1\51\5\5"+
- "\1\52\4\5\1\53\1\54\1\55\1\56\3\5\1\57"+
- "\1\60\1\61\1\0\7\5\1\62\16\5\1\63\10\5"+
- "\1\64\1\65\4\5\1\66\1\5\1\67\2\5\1\70"+
- "\3\5\1\71\4\5\1\72\1\5\1\73\1\5\1\74"+
- "\2\5\1\75\1\76\10\5\1\77\10\5\1\100\6\5"+
- "\1\101\2\5\1\102\14\5\1\103\6\5\1\104\1\5"+
- "\1\105\3\5\1\106\4\5\1\107\12\5\1\110\1\111"+
- "\10\5\1\112\5\5\1\113\5\5\1\114\1\115\1\5"+
- "\1\116\1\5\1\117\1\120\1\5\1\121\5\5\1\122"+
- "\26\5\1\123\10\5\1\124\1\125\14\5\1\126\1\127"+
- "\4\5\1\130\1\131\1\5\1\132\4\5\1\133";
-
- private static int [] zzUnpackAction() {
- int [] result = new int[333];
- int offset = 0;
- offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result);
- return result;
- }
-
- private static int zzUnpackAction(String packed, int offset, int [] result) {
- int i = 0; /* index in packed string */
- int j = offset; /* index in unpacked array */
- int l = packed.length();
- while (i < l) {
- int count = packed.charAt(i++);
- int value = packed.charAt(i++);
- do result[j++] = value; while (--count > 0);
- }
- return j;
- }
-
-
- /**
- * Translates a state to a row index in the transition table
- */
- private static final int [] ZZ_ROWMAP = zzUnpackRowMap();
-
- private static final String ZZ_ROWMAP_PACKED_0 =
- "\0\0\0\61\0\142\0\142\0\223\0\304\0\365\0\u0126"+
- "\0\u0157\0\142\0\142\0\u0188\0\u01b9\0\142\0\142\0\142"+
- "\0\142\0\142\0\142\0\u01ea\0\u021b\0\u024c\0\u027d\0\142"+
- "\0\142\0\142\0\142\0\u02ae\0\u02df\0\u0310\0\u0341\0\u0372"+
- "\0\u03a3\0\u03d4\0\u0405\0\u0436\0\u0467\0\u0498\0\u04c9\0\u04fa"+
- "\0\u052b\0\u055c\0\u058d\0\u05be\0\u05ef\0\223\0\u0620\0\304"+
- "\0\u0651\0\u0682\0\u06b3\0\142\0\142\0\142\0\142\0\142"+
- "\0\142\0\142\0\142\0\142\0\u06e4\0\u0715\0\u0746\0\u0777"+
- "\0\u0157\0\u07a8\0\u07d9\0\u0157\0\u0157\0\u0157\0\u080a\0\u083b"+
- "\0\u086c\0\u089d\0\u08ce\0\u0157\0\u08ff\0\u0930\0\u0961\0\u0992"+
- "\0\u09c3\0\u09f4\0\u0157\0\u0a25\0\u0a56\0\u0157\0\u0a87\0\u0ab8"+
- "\0\u0ae9\0\u0b1a\0\u0b4b\0\u0157\0\u0b7c\0\u0bad\0\u0bde\0\u0c0f"+
- "\0\u0157\0\u0157\0\u0157\0\u0157\0\u0c40\0\u0c71\0\u0ca2\0\142"+
- "\0\142\0\u0cd3\0\u0cd3\0\u0d04\0\u0d35\0\u0d66\0\u0d97\0\u0dc8"+
- "\0\u0df9\0\u0e2a\0\u0157\0\u0e5b\0\u0e8c\0\u0ebd\0\u0eee\0\u0f1f"+
- "\0\u0f50\0\u0f81\0\u0fb2\0\u0fe3\0\u1014\0\u1045\0\u1076\0\u10a7"+
- "\0\u10d8\0\u0157\0\u1109\0\u113a\0\u116b\0\u119c\0\u11cd\0\u11fe"+
- "\0\u122f\0\u1260\0\u0157\0\u0157\0\u1291\0\u12c2\0\u12f3\0\u1324"+
- "\0\u1355\0\u1386\0\u0157\0\u13b7\0\u13e8\0\u0157\0\u1419\0\u144a"+
- "\0\u147b\0\u0157\0\u14ac\0\u14dd\0\u150e\0\u153f\0\u0157\0\u1570"+
- "\0\u0157\0\u15a1\0\u0157\0\u15d2\0\u1603\0\u0157\0\u0157\0\u1634"+
- "\0\u1665\0\u1696\0\u16c7\0\u16f8\0\u1729\0\u175a\0\u178b\0\u0157"+
- "\0\u17bc\0\u17ed\0\u181e\0\u184f\0\u1880\0\u18b1\0\u18e2\0\u1913"+
- "\0\u0157\0\u1944\0\u1975\0\u19a6\0\u19d7\0\u1a08\0\u1a39\0\u0157"+
- "\0\u1a6a\0\u1a9b\0\u0157\0\u1acc\0\u1afd\0\u1b2e\0\u1b5f\0\u1b90"+
- "\0\u1bc1\0\u1bf2\0\u1c23\0\u1c54\0\u1c85\0\u1cb6\0\u1ce7\0\u0157"+
- "\0\u1d18\0\u1d49\0\u1d7a\0\u1dab\0\u1ddc\0\u1e0d\0\u0157\0\u1e3e"+
- "\0\u0157\0\u1e6f\0\u1ea0\0\u1ed1\0\u0157\0\u1f02\0\u1f33\0\u1f64"+
- "\0\u1f95\0\u0157\0\u1fc6\0\u1ff7\0\u2028\0\u2059\0\u208a\0\u20bb"+
- "\0\u20ec\0\u211d\0\u214e\0\u217f\0\u0157\0\u0157\0\u21b0\0\u21e1"+
- "\0\u2212\0\u2243\0\u2274\0\u22a5\0\u22d6\0\u2307\0\u2338\0\u2369"+
- "\0\u239a\0\u23cb\0\u23fc\0\u242d\0\u0157\0\u245e\0\u248f\0\u24c0"+
- "\0\u24f1\0\u2522\0\u0157\0\u0157\0\u2553\0\u0157\0\u2584\0\u25b5"+
- "\0\u25e6\0\u2617\0\u2648\0\u2679\0\u26aa\0\u26db\0\u270c\0\u273d"+
- "\0\u0157\0\u276e\0\u279f\0\u27d0\0\u2801\0\u2832\0\u2863\0\u2894"+
- "\0\u28c5\0\u28f6\0\u2927\0\u2958\0\u2989\0\u29ba\0\u29eb\0\u2a1c"+
- "\0\u2a4d\0\u2a7e\0\u2aaf\0\u2ae0\0\u2b11\0\u2b42\0\u2b73\0\u0157"+
- "\0\u2ba4\0\u2bd5\0\u2c06\0\u2c37\0\u2c68\0\u2c99\0\u2cca\0\u2cfb"+
- "\0\u0157\0\u0157\0\u2d2c\0\u2d5d\0\u2d8e\0\u2dbf\0\u2df0\0\u2e21"+
- "\0\u2e52\0\u2e83\0\u2eb4\0\u2ee5\0\u2f16\0\u2f47\0\u0157\0\u0157"+
- "\0\u2f78\0\u2fa9\0\u2fda\0\u300b\0\u0157\0\u0157\0\u303c\0\u0157"+
- "\0\u306d\0\u309e\0\u30cf\0\u3100\0\u0157";
-
- private static int [] zzUnpackRowMap() {
- int [] result = new int[333];
- int offset = 0;
- offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result);
- return result;
- }
-
- private static int zzUnpackRowMap(String packed, int offset, int [] result) {
- int i = 0; /* index in packed string */
- int j = offset; /* index in unpacked array */
- int l = packed.length();
- while (i < l) {
- int high = packed.charAt(i++) << 16;
- result[j++] = high | packed.charAt(i++);
- }
- return j;
- }
-
- /**
- * The transition table of the DFA
- */
- private static final int [] ZZ_TRANS = zzUnpackTrans();
-
- private static final String ZZ_TRANS_PACKED_0 =
- "\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12"+
- "\1\11\1\13\1\14\1\15\1\16\1\17\1\20\1\21"+
- "\1\22\1\23\1\24\1\25\1\26\1\27\1\30\1\31"+
- "\1\32\1\33\1\34\1\11\1\35\1\36\1\37\1\40"+
- "\1\41\1\42\1\43\1\44\1\45\1\11\1\46\1\47"+
- "\1\50\1\11\1\51\1\52\1\53\4\11\12\4\1\54"+
- "\1\55\45\4\61\0\2\56\1\57\56\56\3\60\1\61"+
- "\55\60\4\0\1\7\1\62\1\63\30\0\1\63\25\0"+
- "\1\62\1\64\57\0\3\11\1\0\2\11\20\0\27\11"+
- "\13\0\1\65\60\0\1\66\66\0\1\67\60\0\1\70"+
- "\1\0\1\71\56\0\1\72\2\0\1\73\61\0\1\74"+
- "\37\0\3\11\1\0\2\11\20\0\1\11\1\75\6\11"+
- "\1\76\5\11\1\77\10\11\4\0\3\11\1\0\2\11"+
- "\20\0\4\11\1\100\1\11\1\101\1\102\1\11\1\103"+
- "\3\11\1\104\11\11\4\0\3\11\1\0\2\11\20\0"+
- "\5\11\1\105\3\11\1\106\15\11\4\0\3\11\1\0"+
- "\2\11\20\0\2\11\1\107\2\11\1\110\10\11\1\111"+
- "\10\11\4\0\3\11\1\0\2\11\20\0\3\11\1\112"+
- "\15\11\1\113\1\11\1\114\1\115\1\116\1\11\4\0"+
- "\3\11\1\0\2\11\20\0\1\117\4\11\1\120\2\11"+
- "\1\121\5\11\1\122\10\11\4\0\3\11\1\0\2\11"+
- "\20\0\5\11\1\123\2\11\1\124\5\11\1\125\10\11"+
- "\4\0\3\11\1\0\2\11\20\0\6\11\1\126\1\127"+
- "\1\11\1\130\15\11\4\0\3\11\1\0\2\11\20\0"+
- "\1\11\1\131\3\11\1\132\4\11\1\133\3\11\1\134"+
- "\7\11\1\135\4\0\3\11\1\0\2\11\20\0\5\11"+
- "\1\136\21\11\4\0\3\11\1\0\2\11\20\0\7\11"+
- "\1\137\17\11\4\0\3\11\1\0\2\11\20\0\16\11"+
- "\1\140\10\11\4\0\3\11\1\0\2\11\20\0\12\11"+
- "\1\141\2\11\1\142\11\11\4\0\3\11\1\0\2\11"+
- "\20\0\5\11\1\143\3\11\1\144\15\11\4\0\3\11"+
- "\1\0\2\11\20\0\16\11\1\145\10\11\4\0\3\11"+
- "\1\0\2\11\20\0\10\11\1\146\1\11\1\147\14\11"+
- "\13\0\1\150\63\0\1\151\44\0\1\56\61\0\1\60"+
- "\61\0\1\62\1\0\1\63\30\0\1\63\25\0\1\152"+
- "\2\0\1\153\1\0\1\153\53\0\3\11\1\0\2\11"+
- "\20\0\2\11\1\154\24\11\4\0\3\11\1\0\2\11"+
- "\20\0\6\11\1\155\20\11\4\0\3\11\1\0\2\11"+
- "\20\0\21\11\1\156\5\11\4\0\3\11\1\0\2\11"+
- "\20\0\2\11\1\157\24\11\4\0\3\11\1\0\2\11"+
- "\20\0\6\11\1\160\2\11\1\161\15\11\4\0\3\11"+
- "\1\0\2\11\20\0\5\11\1\162\21\11\4\0\3\11"+
- "\1\0\2\11\20\0\24\11\1\163\2\11\4\0\3\11"+
- "\1\0\2\11\20\0\6\11\1\164\20\11\4\0\3\11"+
- "\1\0\2\11\20\0\1\165\26\11\4\0\3\11\1\0"+
- "\2\11\20\0\5\11\1\166\1\167\20\11\4\0\3\11"+
- "\1\0\2\11\20\0\22\11\1\170\4\11\4\0\3\11"+
- "\1\0\2\11\20\0\5\11\1\171\21\11\4\0\3\11"+
- "\1\0\2\11\20\0\1\172\26\11\4\0\3\11\1\0"+
- "\2\11\20\0\1\11\1\173\25\11\4\0\3\11\1\0"+
- "\2\11\20\0\3\11\1\174\23\11\4\0\3\11\1\0"+
- "\2\11\20\0\11\11\1\175\15\11\4\0\3\11\1\0"+
- "\2\11\20\0\21\11\1\176\5\11\4\0\3\11\1\0"+
- "\2\11\20\0\21\11\1\177\5\11\4\0\3\11\1\0"+
- "\2\11\20\0\4\11\1\200\22\11\4\0\3\11\1\0"+
- "\2\11\20\0\1\201\3\11\1\202\22\11\4\0\3\11"+
- "\1\0\2\11\20\0\11\11\1\203\15\11\4\0\3\11"+
- "\1\0\2\11\20\0\5\11\1\204\21\11\4\0\3\11"+
- "\1\0\2\11\20\0\25\11\1\205\1\11\4\0\3\11"+
- "\1\0\2\11\20\0\5\11\1\206\21\11\4\0\3\11"+
- "\1\0\2\11\20\0\22\11\1\207\4\11\4\0\3\11"+
- "\1\0\2\11\20\0\11\11\1\210\15\11\4\0\3\11"+
- "\1\0\2\11\20\0\2\11\1\211\24\11\4\0\3\11"+
- "\1\0\2\11\20\0\3\11\1\212\6\11\1\213\14\11"+
- "\4\0\3\11\1\0\2\11\20\0\4\11\1\214\22\11"+
- "\4\0\3\11\1\0\2\11\20\0\12\11\1\215\14\11"+
- "\4\0\3\11\1\0\2\11\20\0\5\11\1\216\10\11"+
- "\1\217\10\11\4\0\1\152\60\0\3\11\1\0\2\11"+
- "\20\0\3\11\1\220\23\11\4\0\3\11\1\0\2\11"+
- "\20\0\11\11\1\221\15\11\4\0\3\11\1\0\2\11"+
- "\20\0\21\11\1\222\5\11\4\0\3\11\1\0\2\11"+
- "\20\0\24\11\1\223\2\11\4\0\3\11\1\0\2\11"+
- "\20\0\11\11\1\224\15\11\4\0\3\11\1\0\2\11"+
- "\20\0\5\11\1\225\21\11\4\0\3\11\1\0\2\11"+
- "\20\0\21\11\1\226\5\11\4\0\3\11\1\0\2\11"+
- "\20\0\1\227\26\11\4\0\3\11\1\0\2\11\20\0"+
- "\14\11\1\230\12\11\4\0\3\11\1\0\2\11\20\0"+
- "\21\11\1\231\5\11\4\0\3\11\1\0\2\11\20\0"+
- "\5\11\1\232\21\11\4\0\3\11\1\0\2\11\20\0"+
- "\11\11\1\233\15\11\4\0\3\11\1\0\2\11\20\0"+
- "\12\11\1\234\14\11\4\0\3\11\1\0\2\11\20\0"+
- "\5\11\1\235\21\11\4\0\3\11\1\0\2\11\20\0"+
- "\5\11\1\236\21\11\4\0\3\11\1\0\2\11\20\0"+
- "\15\11\1\237\11\11\4\0\3\11\1\0\2\11\20\0"+
- "\2\11\1\240\24\11\4\0\3\11\1\0\2\11\20\0"+
- "\5\11\1\241\21\11\4\0\3\11\1\0\2\11\20\0"+
- "\5\11\1\242\21\11\4\0\3\11\1\0\2\11\20\0"+
- "\5\11\1\243\21\11\4\0\3\11\1\0\2\11\20\0"+
- "\5\11\1\244\21\11\4\0\3\11\1\0\2\11\20\0"+
- "\12\11\1\245\14\11\4\0\3\11\1\0\2\11\20\0"+
- "\7\11\1\246\17\11\4\0\3\11\1\0\2\11\20\0"+
- "\11\11\1\247\15\11\4\0\3\11\1\0\2\11\20\0"+
- "\10\11\1\250\16\11\4\0\3\11\1\0\2\11\20\0"+
- "\5\11\1\251\21\11\4\0\3\11\1\0\2\11\20\0"+
- "\14\11\1\252\12\11\4\0\3\11\1\0\2\11\20\0"+
- "\16\11\1\253\10\11\4\0\3\11\1\0\2\11\20\0"+
- "\3\11\1\254\23\11\4\0\3\11\1\0\2\11\20\0"+
- "\5\11\1\255\21\11\4\0\3\11\1\0\2\11\20\0"+
- "\1\256\26\11\4\0\3\11\1\0\2\11\20\0\1\257"+
- "\26\11\4\0\3\11\1\0\2\11\20\0\4\11\1\260"+
- "\22\11\4\0\3\11\1\0\2\11\20\0\10\11\1\261"+
- "\16\11\4\0\3\11\1\0\2\11\20\0\5\11\1\262"+
- "\21\11\4\0\3\11\1\0\2\11\20\0\10\11\1\263"+
- "\16\11\4\0\3\11\1\0\2\11\20\0\12\11\1\264"+
- "\14\11\4\0\3\11\1\0\2\11\20\0\5\11\1\265"+
- "\21\11\4\0\3\11\1\0\2\11\20\0\21\11\1\266"+
- "\5\11\4\0\3\11\1\0\2\11\20\0\5\11\1\267"+
- "\21\11\4\0\3\11\1\0\2\11\20\0\26\11\1\270"+
- "\4\0\3\11\1\0\2\11\20\0\26\11\1\271\4\0"+
- "\3\11\1\0\2\11\20\0\22\11\1\272\4\11\4\0"+
- "\3\11\1\0\2\11\20\0\21\11\1\273\5\11\4\0"+
- "\3\11\1\0\2\11\20\0\6\11\1\274\20\11\4\0"+
- "\3\11\1\0\2\11\20\0\6\11\1\275\20\11\4\0"+
- "\3\11\1\0\2\11\20\0\6\11\1\276\20\11\4\0"+
- "\3\11\1\0\2\11\20\0\2\11\1\277\24\11\4\0"+
- "\3\11\1\0\2\11\20\0\11\11\1\300\15\11\4\0"+
- "\3\11\1\0\2\11\20\0\6\11\1\301\20\11\4\0"+
- "\3\11\1\0\2\11\20\0\12\11\1\302\14\11\4\0"+
- "\3\11\1\0\2\11\20\0\7\11\1\303\17\11\4\0"+
- "\3\11\1\0\2\11\20\0\16\11\1\304\10\11\4\0"+
- "\3\11\1\0\2\11\20\0\7\11\1\305\17\11\4\0"+
- "\3\11\1\0\2\11\20\0\5\11\1\306\21\11\4\0"+
- "\3\11\1\0\2\11\20\0\5\11\1\307\21\11\4\0"+
- "\3\11\1\0\2\11\20\0\13\11\1\310\13\11\4\0"+
- "\3\11\1\0\2\11\20\0\7\11\1\311\17\11\4\0"+
- "\3\11\1\0\2\11\20\0\7\11\1\312\17\11\4\0"+
- "\3\11\1\0\2\11\20\0\6\11\1\313\20\11\4\0"+
- "\3\11\1\0\2\11\20\0\7\11\1\314\17\11\4\0"+
- "\3\11\1\0\2\11\20\0\5\11\1\315\21\11\4\0"+
- "\3\11\1\0\2\11\20\0\7\11\1\316\17\11\4\0"+
- "\3\11\1\0\1\11\1\317\20\0\27\11\4\0\3\11"+
- "\1\0\2\11\20\0\11\11\1\320\15\11\4\0\3\11"+
- "\1\0\2\11\20\0\10\11\1\321\16\11\4\0\3\11"+
- "\1\0\2\11\20\0\15\11\1\322\11\11\4\0\3\11"+
- "\1\0\2\11\20\0\22\11\1\323\4\11\4\0\3\11"+
- "\1\0\2\11\20\0\11\11\1\324\15\11\4\0\3\11"+
- "\1\0\2\11\20\0\13\11\1\325\13\11\4\0\3\11"+
- "\1\0\2\11\20\0\17\11\1\326\7\11\4\0\3\11"+
- "\1\0\2\11\20\0\7\11\1\327\17\11\4\0\3\11"+
- "\1\0\2\11\20\0\17\11\1\330\7\11\4\0\3\11"+
- "\1\0\2\11\20\0\11\11\1\331\15\11\4\0\3\11"+
- "\1\0\2\11\20\0\4\11\1\332\22\11\4\0\3\11"+
- "\1\0\2\11\20\0\6\11\1\333\20\11\4\0\3\11"+
- "\1\0\2\11\20\0\3\11\1\334\23\11\4\0\3\11"+
- "\1\0\2\11\20\0\11\11\1\335\15\11\4\0\3\11"+
- "\1\0\2\11\20\0\1\336\26\11\4\0\3\11\1\0"+
- "\2\11\20\0\5\11\1\337\21\11\4\0\3\11\1\0"+
- "\2\11\20\0\4\11\1\340\22\11\4\0\3\11\1\0"+
- "\2\11\20\0\7\11\1\341\17\11\4\0\3\11\1\0"+
- "\2\11\20\0\11\11\1\342\15\11\4\0\3\11\1\0"+
- "\2\11\20\0\6\11\1\343\20\11\4\0\3\11\1\0"+
- "\1\11\1\344\20\0\27\11\4\0\3\11\1\0\2\11"+
- "\20\0\2\11\1\345\24\11\4\0\3\11\1\0\2\11"+
- "\20\0\10\11\1\346\16\11\4\0\3\11\1\0\2\11"+
- "\20\0\16\11\1\347\10\11\4\0\3\11\1\0\2\11"+
- "\20\0\14\11\1\350\12\11\4\0\3\11\1\0\2\11"+
- "\20\0\2\11\1\351\24\11\4\0\3\11\1\0\2\11"+
- "\20\0\2\11\1\352\24\11\4\0\3\11\1\0\2\11"+
- "\20\0\2\11\1\353\24\11\4\0\3\11\1\0\2\11"+
- "\20\0\6\11\1\354\20\11\4\0\3\11\1\0\2\11"+
- "\20\0\5\11\1\355\21\11\4\0\3\11\1\0\2\11"+
- "\20\0\5\11\1\356\21\11\4\0\3\11\1\0\2\11"+
- "\20\0\1\357\26\11\4\0\3\11\1\0\2\11\20\0"+
- "\10\11\1\360\16\11\4\0\3\11\1\0\2\11\20\0"+
- "\11\11\1\361\15\11\4\0\3\11\1\0\2\11\20\0"+
- "\5\11\1\362\21\11\4\0\3\11\1\0\2\11\20\0"+
- "\5\11\1\363\2\11\1\364\16\11\4\0\3\11\1\0"+
- "\2\11\20\0\5\11\1\365\21\11\4\0\3\11\1\0"+
- "\2\11\20\0\1\366\26\11\4\0\3\11\1\0\2\11"+
- "\20\0\12\11\1\367\14\11\4\0\3\11\1\0\2\11"+
- "\20\0\11\11\1\370\15\11\4\0\3\11\1\0\2\11"+
- "\20\0\11\11\1\371\15\11\4\0\3\11\1\0\2\11"+
- "\20\0\7\11\1\372\17\11\4\0\3\11\1\0\2\11"+
- "\20\0\7\11\1\373\17\11\4\0\3\11\1\0\2\11"+
- "\20\0\2\11\1\374\24\11\4\0\3\11\1\0\2\11"+
- "\20\0\11\11\1\375\15\11\4\0\3\11\1\0\2\11"+
- "\20\0\7\11\1\376\17\11\4\0\3\11\1\0\1\11"+
- "\1\377\20\0\27\11\4\0\3\11\1\0\2\11\20\0"+
- "\23\11\1\u0100\3\11\4\0\3\11\1\0\2\11\20\0"+
- "\3\11\1\u0101\23\11\4\0\3\11\1\0\2\11\20\0"+
- "\11\11\1\u0102\15\11\4\0\3\11\1\0\2\11\20\0"+
- "\6\11\1\u0103\20\11\4\0\3\11\1\0\2\11\20\0"+
- "\5\11\1\u0104\21\11\4\0\3\11\1\0\1\11\1\u0105"+
- "\20\0\27\11\4\0\3\11\1\0\2\11\20\0\5\11"+
- "\1\u0106\21\11\4\0\3\11\1\0\2\11\20\0\1\u0107"+
- "\26\11\4\0\3\11\1\0\2\11\20\0\20\11\1\u0108"+
- "\6\11\4\0\3\11\1\0\2\11\20\0\20\11\1\u0109"+
- "\6\11\4\0\3\11\1\0\2\11\20\0\7\11\1\u010a"+
- "\17\11\4\0\3\11\1\0\2\11\20\0\11\11\1\u010b"+
- "\15\11\4\0\3\11\1\0\2\11\20\0\7\11\1\u010c"+
- "\17\11\4\0\3\11\1\0\2\11\20\0\14\11\1\u010d"+
- "\12\11\4\0\3\11\1\0\2\11\20\0\5\11\1\u010e"+
- "\21\11\4\0\3\11\1\0\2\11\20\0\11\11\1\u010f"+
- "\15\11\4\0\3\11\1\0\2\11\20\0\16\11\1\u0110"+
- "\10\11\4\0\3\11\1\0\2\11\20\0\1\11\1\u0111"+
- "\25\11\4\0\3\11\1\0\1\11\1\u0112\20\0\27\11"+
- "\4\0\3\11\1\0\1\11\1\u0113\20\0\27\11\4\0"+
- "\3\11\1\0\2\11\20\0\20\11\1\u0114\6\11\4\0"+
- "\3\11\1\0\1\11\1\u0115\20\0\27\11\4\0\3\11"+
- "\1\0\2\11\20\0\16\11\1\u0116\10\11\4\0\3\11"+
- "\1\0\2\11\20\0\5\11\1\u0117\21\11\4\0\3\11"+
- "\1\0\2\11\20\0\21\11\1\u0118\5\11\4\0\3\11"+
- "\1\0\2\11\20\0\12\11\1\u0119\14\11\4\0\3\11"+
- "\1\0\2\11\20\0\12\11\1\u011a\14\11\4\0\3\11"+
- "\1\0\2\11\20\0\6\11\1\u011b\20\11\4\0\3\11"+
- "\1\0\2\11\20\0\6\11\1\u011c\20\11\4\0\3\11"+
- "\1\0\1\11\1\u011d\20\0\27\11\4\0\3\11\1\0"+
- "\2\11\20\0\16\11\1\u011e\10\11\4\0\3\11\1\0"+
- "\2\11\20\0\4\11\1\u011f\22\11\4\0\3\11\1\0"+
- "\2\11\20\0\7\11\1\u0120\17\11\4\0\3\11\1\0"+
- "\2\11\20\0\5\11\1\u0121\21\11\4\0\3\11\1\0"+
- "\2\11\20\0\2\11\1\u0122\24\11\4\0\3\11\1\0"+
- "\1\11\1\u0123\20\0\27\11\4\0\3\11\1\0\2\11"+
- "\20\0\2\11\1\u0124\24\11\4\0\3\11\1\0\2\11"+
- "\20\0\2\11\1\u0125\24\11\4\0\3\11\1\0\2\11"+
- "\20\0\2\11\1\u0126\24\11\4\0\3\11\1\0\2\11"+
- "\20\0\12\11\1\u0127\14\11\4\0\3\11\1\0\2\11"+
- "\20\0\5\11\1\u0128\21\11\4\0\3\11\1\0\2\11"+
- "\20\0\1\u0129\26\11\4\0\3\11\1\0\2\11\20\0"+
- "\7\11\1\u012a\17\11\4\0\3\11\1\0\2\11\20\0"+
- "\13\11\1\u012b\13\11\4\0\3\11\1\0\2\11\20\0"+
- "\6\11\1\u012c\20\11\4\0\3\11\1\0\2\11\20\0"+
- "\13\11\1\u012d\13\11\4\0\3\11\1\0\2\11\20\0"+
- "\13\11\1\u012e\13\11\4\0\3\11\1\0\2\11\20\0"+
- "\7\11\1\u012f\17\11\4\0\3\11\1\0\1\11\1\u0130"+
- "\20\0\27\11\4\0\3\11\1\0\2\11\20\0\5\11"+
- "\1\u0131\21\11\4\0\3\11\1\0\2\11\20\0\11\11"+
- "\1\u0132\15\11\4\0\3\11\1\0\2\11\20\0\14\11"+
- "\1\u0133\12\11\4\0\3\11\1\0\2\11\20\0\5\11"+
- "\1\u0134\21\11\4\0\3\11\1\0\2\11\20\0\3\11"+
- "\1\u0135\23\11\4\0\3\11\1\0\2\11\20\0\3\11"+
- "\1\u0136\23\11\4\0\3\11\1\0\2\11\20\0\6\11"+
- "\1\u0137\20\11\4\0\3\11\1\0\2\11\20\0\6\11"+
- "\1\u0138\20\11\4\0\3\11\1\0\2\11\20\0\11\11"+
- "\1\u0139\15\11\4\0\3\11\1\0\2\11\20\0\3\11"+
- "\1\u013a\23\11\4\0\3\11\1\0\2\11\20\0\2\11"+
- "\1\u013b\24\11\4\0\3\11\1\0\2\11\20\0\2\11"+
- "\1\u013c\24\11\4\0\3\11\1\0\2\11\20\0\11\11"+
- "\1\u013d\15\11\4\0\3\11\1\0\2\11\20\0\5\11"+
- "\1\u013e\21\11\4\0\3\11\1\0\2\11\20\0\5\11"+
- "\1\u013f\21\11\4\0\3\11\1\0\2\11\20\0\15\11"+
- "\1\u0140\11\11\4\0\3\11\1\0\2\11\20\0\7\11"+
- "\1\u0141\17\11\4\0\3\11\1\0\2\11\20\0\7\11"+
- "\1\u0142\17\11\4\0\3\11\1\0\2\11\20\0\12\11"+
- "\1\u0143\14\11\4\0\3\11\1\0\2\11\20\0\3\11"+
- "\1\u0144\23\11\4\0\3\11\1\0\2\11\20\0\20\11"+
- "\1\u0145\6\11\4\0\3\11\1\0\2\11\20\0\20\11"+
- "\1\u0146\6\11\4\0\3\11\1\0\2\11\20\0\14\11"+
- "\1\u0147\12\11\4\0\3\11\1\0\2\11\20\0\15\11"+
- "\1\u0148\11\11\4\0\3\11\1\0\2\11\20\0\1\u0149"+
- "\26\11\4\0\3\11\1\0\2\11\20\0\11\11\1\u014a"+
- "\15\11\4\0\3\11\1\0\2\11\20\0\2\11\1\u014b"+
- "\24\11\4\0\3\11\1\0\2\11\20\0\16\11\1\u014c"+
- "\10\11\4\0\3\11\1\0\2\11\20\0\7\11\1\u014d"+
- "\17\11";
-
- private static int [] zzUnpackTrans() {
- int [] result = new int[12593];
- int offset = 0;
- offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result);
- return result;
- }
-
- private static int zzUnpackTrans(String packed, int offset, int [] result) {
- int i = 0; /* index in packed string */
- int j = offset; /* index in unpacked array */
- int l = packed.length();
- while (i < l) {
- int count = packed.charAt(i++);
- int value = packed.charAt(i++);
- value--;
- do result[j++] = value; while (--count > 0);
- }
- return j;
- }
-
-
- /* error codes */
- private static final int ZZ_UNKNOWN_ERROR = 0;
- private static final int ZZ_NO_MATCH = 1;
- private static final int ZZ_PUSHBACK_2BIG = 2;
-
- /* error messages for the codes above */
- private static final String ZZ_ERROR_MSG[] = {
- "Unkown internal scanner error",
- "Error: could not match input",
- "Error: pushback value was too large"
- };
-
- /**
- * ZZ_ATTRIBUTE[aState] contains the attributes of state <code>aState</code>
- */
- private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute();
-
- private static final String ZZ_ATTRIBUTE_PACKED_0 =
- "\2\0\2\11\5\1\2\11\2\1\6\11\4\1\4\11"+
- "\22\1\1\0\1\1\1\0\2\1\1\0\11\11\53\1"+
- "\2\11\1\1\1\0\342\1";
-
- private static int [] zzUnpackAttribute() {
- int [] result = new int[333];
- int offset = 0;
- offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result);
- return result;
- }
-
- private static int zzUnpackAttribute(String packed, int offset, int [] result) {
- int i = 0; /* index in packed string */
- int j = offset; /* index in unpacked array */
- int l = packed.length();
- while (i < l) {
- int count = packed.charAt(i++);
- int value = packed.charAt(i++);
- do result[j++] = value; while (--count > 0);
- }
- return j;
- }
-
- /** the input device */
- private java.io.Reader zzReader;
-
- /** the current state of the DFA */
- private int zzState;
-
- /** the current lexical state */
- private int zzLexicalState = YYINITIAL;
-
- /** this buffer contains the current text to be matched and is
- the source of the yytext() string */
- private char zzBuffer[] = new char[ZZ_BUFFERSIZE];
-
- /** the textposition at the last accepting state */
- private int zzMarkedPos;
-
- /** the current text position in the buffer */
- private int zzCurrentPos;
-
- /** startRead marks the beginning of the yytext() string in the buffer */
- private int zzStartRead;
-
- /** endRead marks the last character in the buffer, that has been read
- from input */
- private int zzEndRead;
-
- /** number of newlines encountered up to the start of the matched text */
- private int yyline;
-
- /** the number of characters up to the start of the matched text */
- private int yychar;
-
- /**
- * the number of characters from the last newline up to the start of the
- * matched text
- */
- private int yycolumn;
-
- /**
- * zzAtBOL == true <=> the scanner is currently at the beginning of a line
- */
- private boolean zzAtBOL = true;
-
- /** zzAtEOF == true <=> the scanner is at the EOF */
- private boolean zzAtEOF;
-
- /** denotes if the user-EOF-code has already been executed */
- private boolean zzEOFDone;
-
- /* user code: */
- public int lineno() { return yyline + 1; }
- public int colno() { return yycolumn + 1; }
-
- private Symbol symbol(int type) {
- return new Symbol(type, lineno(), colno());
- }
- private Symbol symbol(int type, Object value) {
- return new Symbol(type, lineno(), colno(), value);
- }
-
- private int commentLevel = 0;
-
-
- /**
- * Creates a new scanner
- * There is also a java.io.InputStream version of this constructor.
- *
- * @param in the java.io.Reader to read input from.
- */
- public XPathFlex(java.io.Reader in) {
- this.zzReader = in;
- }
-
- /**
- * Creates a new scanner.
- * There is also java.io.Reader version of this constructor.
- *
- * @param in the java.io.Inputstream to read input from.
- */
- XPathFlex(java.io.InputStream in) {
- this(new java.io.InputStreamReader(in));
- }
-
- /**
- * Unpacks the compressed character translation table.
- *
- * @param packed the packed character translation table
- * @return the unpacked character translation table
- */
- private static char [] zzUnpackCMap(String packed) {
- char [] map = new char[0x10000];
- int i = 0; /* index in packed string */
- int j = 0; /* index in unpacked array */
- while (i < 132) {
- int count = packed.charAt(i++);
- char value = packed.charAt(i++);
- do map[j++] = value; while (--count > 0);
- }
- return map;
- }
-
-
- /**
- * Refills the input buffer.
- *
- * @return <code>false</code>, iff there was new input.
- *
- * @exception java.io.IOException if any I/O-Error occurs
- */
- private boolean zzRefill() throws java.io.IOException {
-
- /* first: make room (if you can) */
- if (zzStartRead > 0) {
- System.arraycopy(zzBuffer, zzStartRead,
- zzBuffer, 0,
- zzEndRead-zzStartRead);
-
- /* translate stored positions */
- zzEndRead-= zzStartRead;
- zzCurrentPos-= zzStartRead;
- zzMarkedPos-= zzStartRead;
- zzStartRead = 0;
- }
-
- /* is the buffer big enough? */
- if (zzCurrentPos >= zzBuffer.length) {
- /* if not: blow it up */
- char newBuffer[] = new char[zzCurrentPos*2];
- System.arraycopy(zzBuffer, 0, newBuffer, 0, zzBuffer.length);
- zzBuffer = newBuffer;
- }
-
- /* finally: fill the buffer with new input */
- int numRead = zzReader.read(zzBuffer, zzEndRead,
- zzBuffer.length-zzEndRead);
-
- if (numRead > 0) {
- zzEndRead+= numRead;
- return false;
- }
- // unlikely but not impossible: read 0 characters, but not at end of stream
- if (numRead == 0) {
- int c = zzReader.read();
- if (c == -1) {
- return true;
- } else {
- zzBuffer[zzEndRead++] = (char) c;
- return false;
- }
- }
-
- // numRead < 0
- return true;
- }
-
-
- /**
- * Closes the input stream.
- */
- public final void yyclose() throws java.io.IOException {
- zzAtEOF = true; /* indicate end of file */
- zzEndRead = zzStartRead; /* invalidate buffer */
-
- if (zzReader != null)
- zzReader.close();
- }
-
-
- /**
- * Resets the scanner to read from a new input stream.
- * Does not close the old reader.
- *
- * All internal variables are reset, the old input stream
- * <b>cannot</b> be reused (internal buffer is discarded and lost).
- * Lexical state is set to <tt>ZZ_INITIAL</tt>.
- *
- * @param reader the new input stream
- */
- public final void yyreset(java.io.Reader reader) {
- zzReader = reader;
- zzAtBOL = true;
- zzAtEOF = false;
- zzEOFDone = false;
- zzEndRead = zzStartRead = 0;
- zzCurrentPos = zzMarkedPos = 0;
- yyline = yychar = yycolumn = 0;
- zzLexicalState = YYINITIAL;
- }
-
-
- /**
- * Returns the current lexical state.
- */
- public final int yystate() {
- return zzLexicalState;
- }
-
-
- /**
- * Enters a new lexical state
- *
- * @param newState the new lexical state
- */
- public final void yybegin(int newState) {
- zzLexicalState = newState;
- }
-
-
- /**
- * Returns the text matched by the current regular expression.
- */
- public final String yytext() {
- return new String( zzBuffer, zzStartRead, zzMarkedPos-zzStartRead );
- }
-
-
- /**
- * Returns the character at position <tt>pos</tt> from the
- * matched text.
- *
- * It is equivalent to yytext().charAt(pos), but faster
- *
- * @param pos the position of the character to fetch.
- * A value from 0 to yylength()-1.
- *
- * @return the character at position pos
- */
- public final char yycharat(int pos) {
- return zzBuffer[zzStartRead+pos];
- }
-
-
- /**
- * Returns the length of the matched text region.
- */
- public final int yylength() {
- return zzMarkedPos-zzStartRead;
- }
-
-
- /**
- * Reports an error that occured while scanning.
- *
- * In a wellformed scanner (no or only correct usage of
- * yypushback(int) and a match-all fallback rule) this method
- * will only be called with things that "Can't Possibly Happen".
- * If this method is called, something is seriously wrong
- * (e.g. a JFlex bug producing a faulty scanner etc.).
- *
- * Usual syntax/scanner level error handling should be done
- * in error fallback rules.
- *
- * @param errorCode the code of the errormessage to display
- */
- private void zzScanError(int errorCode) {
- String message;
- try {
- message = ZZ_ERROR_MSG[errorCode];
- }
- catch (ArrayIndexOutOfBoundsException e) {
- message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR];
- }
-
- throw new Error(message);
- }
-
-
- /**
- * Pushes the specified amount of characters back into the input stream.
- *
- * They will be read again by then next call of the scanning method
- *
- * @param number the number of characters to be read again.
- * This number must not be greater than yylength()!
- */
- public void yypushback(int number) {
- if ( number > yylength() )
- zzScanError(ZZ_PUSHBACK_2BIG);
-
- zzMarkedPos -= number;
- }
-
-
- /**
- * Contains user EOF-code, which will be executed exactly once,
- * when the end of file is reached
- */
- private void zzDoEOF() throws java.io.IOException {
- if (!zzEOFDone) {
- zzEOFDone = true;
- yyclose();
- }
- }
-
-
- /**
- * Resumes scanning until the next regular expression is matched,
- * the end of input is encountered or an I/O-Error occurs.
- *
- * @return the next token
- * @exception java.io.IOException if any I/O-Error occurs
- */
- public java_cup.runtime.Symbol next_token() throws java.io.IOException {
- int zzInput;
- int zzAction;
-
- // cached fields:
- int zzCurrentPosL;
- int zzMarkedPosL;
- int zzEndReadL = zzEndRead;
- char [] zzBufferL = zzBuffer;
- char [] zzCMapL = ZZ_CMAP;
-
- int [] zzTransL = ZZ_TRANS;
- int [] zzRowMapL = ZZ_ROWMAP;
- int [] zzAttrL = ZZ_ATTRIBUTE;
-
- while (true) {
- zzMarkedPosL = zzMarkedPos;
-
- boolean zzR = false;
- for (zzCurrentPosL = zzStartRead; zzCurrentPosL < zzMarkedPosL;
- zzCurrentPosL++) {
- switch (zzBufferL[zzCurrentPosL]) {
- case '\u000B':
- case '\u000C':
- case '\u0085':
- case '\u2028':
- case '\u2029':
- yyline++;
- yycolumn = 0;
- zzR = false;
- break;
- case '\r':
- yyline++;
- yycolumn = 0;
- zzR = true;
- break;
- case '\n':
- if (zzR)
- zzR = false;
- else {
- yyline++;
- yycolumn = 0;
- }
- break;
- default:
- zzR = false;
- yycolumn++;
- }
- }
-
- if (zzR) {
- // peek one character ahead if it is \n (if we have counted one line too much)
- boolean zzPeek;
- if (zzMarkedPosL < zzEndReadL)
- zzPeek = zzBufferL[zzMarkedPosL] == '\n';
- else if (zzAtEOF)
- zzPeek = false;
- else {
- boolean eof = zzRefill();
- zzEndReadL = zzEndRead;
- zzMarkedPosL = zzMarkedPos;
- zzBufferL = zzBuffer;
- if (eof)
- zzPeek = false;
- else
- zzPeek = zzBufferL[zzMarkedPosL] == '\n';
- }
- if (zzPeek) yyline--;
- }
- zzAction = -1;
-
- zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL;
-
- zzState = ZZ_LEXSTATE[zzLexicalState];
-
-
- zzForAction: {
- while (true) {
-
- if (zzCurrentPosL < zzEndReadL)
- zzInput = zzBufferL[zzCurrentPosL++];
- else if (zzAtEOF) {
- zzInput = YYEOF;
- break zzForAction;
- }
- else {
- // store back cached positions
- zzCurrentPos = zzCurrentPosL;
- zzMarkedPos = zzMarkedPosL;
- boolean eof = zzRefill();
- // get translated positions and possibly new buffer
- zzCurrentPosL = zzCurrentPos;
- zzMarkedPosL = zzMarkedPos;
- zzBufferL = zzBuffer;
- zzEndReadL = zzEndRead;
- if (eof) {
- zzInput = YYEOF;
- break zzForAction;
- }
- else {
- zzInput = zzBufferL[zzCurrentPosL++];
- }
- }
- int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ];
- if (zzNext == -1) break zzForAction;
- zzState = zzNext;
-
- int zzAttributes = zzAttrL[zzState];
- if ( (zzAttributes & 1) == 1 ) {
- zzAction = zzState;
- zzMarkedPosL = zzCurrentPosL;
- if ( (zzAttributes & 8) == 8 ) break zzForAction;
- }
-
- }
- }
-
- // store back cached position
- zzMarkedPos = zzMarkedPosL;
-
- switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
- case 74:
- { return symbol(XpathSym.ANCESTOR);
- }
- case 92: break;
- case 56:
- { return symbol(XpathSym.ITEM);
- }
- case 93: break;
- case 46:
- { return symbol(XpathSym.GT);
- }
- case 94: break;
- case 81:
- { return symbol(XpathSym.DESCENDANT);
- }
- case 95: break;
- case 15:
- { return symbol(XpathSym.EQUALS);
- }
- case 96: break;
- case 3:
- { return symbol(XpathSym.INTEGER, new BigInteger(yytext()));
- }
- case 97: break;
- case 39:
- { return symbol(XpathSym.EQ);
- }
- case 98: break;
- case 71:
- { return symbol(XpathSym.ELEMENT);
- }
- case 99: break;
- case 77:
- { return symbol(XpathSym.NAMESPACE);
- }
- case 100: break;
- case 34:
- { return symbol(XpathSym.IS);
- }
- case 101: break;
- case 23:
- { // get rid of quotes
- String str = yytext();
- assert str.length() >= 2;
- return symbol(XpathSym.STRING, org.eclipse.wst.xml.xpath2.processor.internal.utils.LiteralUtils.unquote(str));
- }
- case 102: break;
- case 1:
- { String err = "Unknown character at line " + lineno();
- err += " col " + colno();
- err += ": " + yytext();
-
- throw new JFlexError(err);
- }
- case 103: break;
- case 20:
- { return symbol(XpathSym.COMMA);
- }
- case 104: break;
- case 70:
- { return symbol(XpathSym.COMMENT);
- }
- case 105: break;
- case 38:
- { return symbol(XpathSym.LT);
- }
- case 106: break;
- case 30:
- { return symbol(XpathSym.LESS_LESS);
- }
- case 107: break;
- case 65:
- { return symbol(XpathSym.TREAT);
- }
- case 108: break;
- case 13:
- { return symbol(XpathSym.STAR);
- }
- case 109: break;
- case 66:
- { return symbol(XpathSym.UNION);
- }
- case 110: break;
- case 21:
- { return symbol(XpathSym.DOLLAR);
- }
- case 111: break;
- case 85:
- { return symbol(XpathSym.SCHEMA_ELEMENT);
- }
- case 112: break;
- case 35:
- { return symbol(XpathSym.IN);
- }
- case 113: break;
- case 43:
- { return symbol(XpathSym.OR);
- }
- case 114: break;
- case 25:
- { return symbol(XpathSym.DOTDOT);
- }
- case 115: break;
- case 82:
- { return symbol(XpathSym.TYPESWITCH);
- }
- case 116: break;
- case 5:
- { return symbol(XpathSym.NCNAME, yytext());
- }
- case 117: break;
- case 24:
- { return symbol(XpathSym.DECIMAL, new BigDecimal(yytext()));
- }
- case 118: break;
- case 19:
- { return symbol(XpathSym.AT_SYM);
- }
- case 119: break;
- case 29:
- { return symbol(XpathSym.LESSEQUAL);
- }
- case 120: break;
- case 26:
- { commentLevel++; // int overflow =P
- yybegin(COMMENT);
- }
- case 121: break;
- case 83:
- { return symbol(XpathSym.DOCUMENT_NODE);
- }
- case 122: break;
- case 33:
- { return symbol(XpathSym.FORWARD_SLASHSLASH);
- }
- case 123: break;
- case 18:
- { return symbol(XpathSym.FORWARD_SLASH);
- }
- case 124: break;
- case 67:
- { return symbol(XpathSym.EXCEPT);
- }
- case 125: break;
- case 89:
- { return symbol(XpathSym.PRECEDING_SIBLING);
- }
- case 126: break;
- case 73:
- { return symbol(XpathSym.INSTANCE);
- }
- case 127: break;
- case 57:
- { return symbol(XpathSym.ELSE);
- }
- case 128: break;
- case 45:
- { return symbol(XpathSym.GE);
- }
- case 129: break;
- case 47:
- { commentLevel++;
- }
- case 130: break;
- case 36:
- { return symbol(XpathSym.IF);
- }
- case 131: break;
- case 42:
- { return symbol(XpathSym.TO);
- }
- case 132: break;
- case 84:
- { return symbol(XpathSym.EMPTY_SEQUENCE);
- }
- case 133: break;
- case 80:
- { return symbol(XpathSym.PRECEDING);
- }
- case 134: break;
- case 31:
- { return symbol(XpathSym.GREATEREQUAL);
- }
- case 135: break;
- case 87:
- { return symbol(XpathSym.ANCESTOR_OR_SELF);
- }
- case 136: break;
- case 78:
- { return symbol(XpathSym.ATTRIBUTE);
- }
- case 137: break;
- case 86:
- { return symbol(XpathSym.SCHEMA_ATTRIBUTE);
- }
- case 138: break;
- case 79:
- { return symbol(XpathSym.FOLLOWING);
- }
- case 139: break;
- case 52:
- { return symbol(XpathSym.FOR);
- }
- case 140: break;
- case 14:
- { return symbol(XpathSym.PIPE);
- }
- case 141: break;
- case 22:
- { return symbol(XpathSym.QUESTIONMARK);
- }
- case 142: break;
- case 37:
- { return symbol(XpathSym.LE);
- }
- case 143: break;
- case 75:
- { return symbol(XpathSym.INTERSECT);
- }
- case 144: break;
- case 48:
- { commentLevel--;
- if(commentLevel == 0)
- yybegin(YYINITIAL);
- }
- case 145: break;
- case 44:
- { return symbol(XpathSym.OF);
- }
- case 146: break;
- case 63:
- { return symbol(XpathSym.CHILD);
- }
- case 147: break;
- case 40:
- { return symbol(XpathSym.NE);
- }
- case 148: break;
- case 58:
- { return symbol(XpathSym.SELF);
- }
- case 149: break;
- case 27:
- { return symbol(XpathSym.COLONCOLON);
- }
- case 150: break;
- case 50:
- { return symbol(XpathSym.DIV);
- }
- case 151: break;
- case 88:
- { return symbol(XpathSym.FOLLOWING_SIBLING);
- }
- case 152: break;
- case 62:
- { return symbol(XpathSym.TEXT);
- }
- case 153: break;
- case 68:
- { return symbol(XpathSym.RETURN);
- }
- case 154: break;
- case 53:
- { return symbol(XpathSym.MOD);
- }
- case 155: break;
- case 6:
- { return symbol(XpathSym.PLUS);
- }
- case 156: break;
- case 28:
- { return symbol(XpathSym.NOTEQUALS);
- }
- case 157: break;
- case 32:
- { return symbol(XpathSym.GREATER_GREATER);
- }
- case 158: break;
- case 64:
- { return symbol(XpathSym.EVERY);
- }
- case 159: break;
- case 72:
- { return symbol(XpathSym.CASTABLE);
- }
- case 160: break;
- case 90:
- { return symbol(XpathSym.DESCENDANT_OR_SELF);
- }
- case 161: break;
- case 76:
- { return symbol(XpathSym.SATISFIES);
- }
- case 162: break;
- case 91:
- { return symbol(XpathSym.PROCESSING_INSTRUCTION);
- }
- case 163: break;
- case 16:
- { return symbol(XpathSym.LESSTHAN);
- }
- case 164: break;
- case 54:
- { return symbol(XpathSym.CAST);
- }
- case 165: break;
- case 12:
- { return symbol(XpathSym.RPAR);
- }
- case 166: break;
- case 2:
- { /* ignore */
- }
- case 167: break;
- case 10:
- { return symbol(XpathSym.LBRACKET);
- }
- case 168: break;
- case 60:
- { return symbol(XpathSym.NODE);
- }
- case 169: break;
- case 55:
- { return symbol(XpathSym.IDIV);
- }
- case 170: break;
- case 49:
- { return symbol(XpathSym.DOUBLE, new Double(yytext()));
- }
- case 171: break;
- case 61:
- { return symbol(XpathSym.THEN);
- }
- case 172: break;
- case 59:
- { return symbol(XpathSym.SOME);
- }
- case 173: break;
- case 69:
- { return symbol(XpathSym.PARENT);
- }
- case 174: break;
- case 7:
- { return symbol(XpathSym.MINUS);
- }
- case 175: break;
- case 41:
- { return symbol(XpathSym.AS);
- }
- case 176: break;
- case 4:
- { return symbol(XpathSym.DOT);
- }
- case 177: break;
- case 11:
- { return symbol(XpathSym.RBRACKET);
- }
- case 178: break;
- case 17:
- { return symbol(XpathSym.GREATER);
- }
- case 179: break;
- case 51:
- { return symbol(XpathSym.AND);
- }
- case 180: break;
- case 8:
- { return symbol(XpathSym.LPAR);
- }
- case 181: break;
- case 9:
- { return symbol(XpathSym.COLON);
- }
- case 182: break;
- default:
- if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
- zzAtEOF = true;
- zzDoEOF();
- { return new java_cup.runtime.Symbol(XpathSym.EOF); }
- }
- else {
- zzScanError(ZZ_NO_MATCH);
- }
- }
- }
- }
-
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/XpathSym.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/XpathSym.java
deleted file mode 100644
index 0646a49..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/XpathSym.java
+++ /dev/null
@@ -1,101 +0,0 @@
-
-//----------------------------------------------------
-// The following code was generated by CUP v0.10k
-// Fri Jun 25 01:11:06 CEST 2010
-//----------------------------------------------------
-
-package org.eclipse.wst.xml.xpath2.processor.internal;
-
-/** CUP generated class containing symbol constants. */
-public class XpathSym {
- /* terminals */
- public static final int DESCENDANT_OR_SELF = 32;
- public static final int AS = 56;
- public static final int GT = 45;
- public static final int FOLLOWING = 34;
- public static final int FORWARD_SLASHSLASH = 19;
- public static final int PARENT = 36;
- public static final int GE = 46;
- public static final int DOCUMENT_NODE = 75;
- public static final int NAMESPACE = 35;
- public static final int FORWARD_SLASH = 18;
- public static final int TREAT = 55;
- public static final int NODE = 74;
- public static final int COMMA = 24;
- public static final int ANCESTOR = 37;
- public static final int LT = 43;
- public static final int INTEGER = 83;
- public static final int DOUBLE = 84;
- public static final int CHILD = 28;
- public static final int FOLLOWING_SIBLING = 33;
- public static final int EVERY = 66;
- public static final int SELF = 31;
- public static final int LE = 44;
- public static final int ELEMENT = 80;
- public static final int TEXT = 76;
- public static final int INSTANCE = 53;
- public static final int NOTEQUALS = 11;
- public static final int THEN = 68;
- public static final int SCHEMA_ELEMENT = 81;
- public static final int SCHEMA_ATTRIBUTE = 79;
- public static final int ANCESTOR_OR_SELF = 40;
- public static final int EQ = 41;
- public static final int PRECEDING = 39;
- public static final int MOD = 49;
- public static final int AT_SYM = 21;
- public static final int DOLLAR = 25;
- public static final int EXCEPT = 52;
- public static final int LESSTHAN = 12;
- public static final int PIPE = 9;
- public static final int LESSEQUAL = 13;
- public static final int QUESTIONMARK = 27;
- public static final int PLUS = 6;
- public static final int IDIV = 48;
- public static final int LPAR = 4;
- public static final int UNION = 50;
- public static final int GREATEREQUAL = 15;
- public static final int DECIMAL = 85;
- public static final int FOR = 60;
- public static final int STAR = 8;
- public static final int GREATER = 14;
- public static final int PRECEDING_SIBLING = 38;
- public static final int DIV = 47;
- public static final int RETURN = 62;
- public static final int ELSE = 69;
- public static final int DOTDOT = 22;
- public static final int DOT = 26;
- public static final int EOF = 0;
- public static final int NCNAME = 87;
- public static final int COMMENT = 77;
- public static final int INTERSECT = 51;
- public static final int RPAR = 5;
- public static final int ITEM = 73;
- public static final int EMPTY_SEQUENCE = 72;
- public static final int CASTABLE = 57;
- public static final int IS = 59;
- public static final int MINUS = 7;
- public static final int PROCESSING_INSTRUCTION = 78;
- public static final int IN = 61;
- public static final int OR = 71;
- public static final int error = 1;
- public static final int ATTRIBUTE = 30;
- public static final int IF = 67;
- public static final int TYPESWITCH = 82;
- public static final int CAST = 58;
- public static final int OF = 54;
- public static final int COLON = 23;
- public static final int DESCENDANT = 29;
- public static final int SOME = 65;
- public static final int RBRACKET = 3;
- public static final int COLONCOLON = 20;
- public static final int GREATER_GREATER = 17;
- public static final int STRING = 86;
- public static final int SATISFIES = 63;
- public static final int AND = 70;
- public static final int TO = 64;
- public static final int LBRACKET = 2;
- public static final int NE = 42;
- public static final int LESS_LESS = 16;
- public static final int EQUALS = 10;
-}
-
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/AddExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/AddExpr.java
deleted file mode 100644
index d93325d..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/AddExpr.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * Class for binary operation Add, takes 2 inputs and returns the combined
- * value.
- */
-public class AddExpr extends BinExpr {
-
- /**
- * Constructor for AddExpr
- *
- * @param l
- * input1 xpath expression/variable.
- * @param r
- * input2 xpath expression/variable.
- */
- public AddExpr(Expr l, Expr r) {
- super(l, r);
- }
-
- /**
- * Support for Visitor interface.
- *
- * @return Result of Visitor operation.
- */
- public Object accept(XPathVisitor v) {
- return v.visit(this);
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/AndExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/AndExpr.java
deleted file mode 100644
index 6e33163..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/AndExpr.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * Class for binary operation And. The value of an and-expression is determined
- * by the effective boolean values (EBV's) of its operands.
- */
-public class AndExpr extends BinExpr {
-
- /**
- * Constructor for AndExpr.
- *
- * @param l
- * input1 xpath expression.
- * @param r
- * input2 xpath expression.
- */
- public AndExpr(Expr l, Expr r) {
- super(l, r);
- }
-
- /**
- * Support for Visitor interface.
- *
- * @return Result of Visitor operation.
- */
- public Object accept(XPathVisitor v) {
- return v.visit(this);
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/AnyKindTest.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/AnyKindTest.java
deleted file mode 100644
index f7f776c..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/AnyKindTest.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- ******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-/**
- * Class to test a type of any kind. This matches any node in the expression.
- */
-public class AnyKindTest extends KindTest {
-
- /**
- * Support for Visitor interface.
- *
- * @return Result of Visitor operation.
- */
- public Object accept(XPathVisitor v) {
- return v.visit(this);
- }
-
- public AnyType createTestType(ResultSequence rs) {
- return null;
- }
-
- public QName name() {
- return null;
- }
-
- public boolean isWild() {
- return false;
- }
-
- public Class getXDMClassType() {
- return NodeType.class;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/AttrElemTest.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/AttrElemTest.java
deleted file mode 100644
index f3e6fb2..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/AttrElemTest.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import org.apache.xerces.xs.XSConstants;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-/**
- * Common base class for Attribute and Element tests.
- */
-public abstract class AttrElemTest extends KindTest {
- private QName _name;
- private QName _type; // may be null
- private boolean _wild; // use wild qname ?
-
- /**
- * Constructor for Attribute and Element tests. This takes in 3 inputs,
- * Name, wildcard test(true/false) and type.
- *
- * @param name
- * QName.
- * @param wild
- * Wildcard test? True/False.
- * @param type
- * QName type.
- */
- public AttrElemTest(QName name, boolean wild, QName type) {
- _name = name;
- _wild = wild;
- _type = type;
- }
-
- /**
- * Constructor for Attribute and Element tests. This takes in 2 inputs, Name
- * and wildcard test(true/false).
- *
- * @param name
- * QName.
- * @param wild
- * Wildcard test? True/False.
- */
- public AttrElemTest(QName name, boolean wild) {
- this(name, wild, null);
- }
-
- /**
- * Default Constructor for Attribute and Element tests. This takes in no
- * inputs.
- */
- public AttrElemTest() {
- this(null, false);
- }
-
- /**
- * Support for wildcard test.
- *
- * @return Result of wildcard test.
- */
- public boolean wild() {
- return _wild;
- }
-
- /**
- * Support for name test.
- *
- * @return Result of name test.
- */
- public QName name() {
- return _name;
- }
-
- /**
- * Support for type test.
- *
- * @return Result of type test.
- */
- public QName type() {
- return _type;
- }
-
- protected short getDerviationTypes() {
- return XSConstants.DERIVATION_LIST | XSConstants.DERIVATION_EXTENSION
- | XSConstants.DERIVATION_RESTRICTION
- | XSConstants.DERIVATION_SUBSTITUTION;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/AttributeTest.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/AttributeTest.java
deleted file mode 100644
index e21a6a5..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/AttributeTest.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * David Carver - bug 298535 - Attribute instance of improvements
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import org.apache.xerces.xs.AttributePSVI;
-import org.apache.xerces.xs.ItemPSVI;
-import org.apache.xerces.xs.XSTypeDefinition;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AttrType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Node;
-
-/**
- * Class used to match an attribute node by its name and/or type.
- */
-public class AttributeTest extends AttrElemTest {
-
- private AnyType anyType = null;
-
- /**
- * Constructor for AttributeTest. This one takes in 3 inputs, Name, wildcard
- * test(true/false) and type.
- *
- * @param name
- * QName.
- * @param wild
- * Wildcard test, True/False.
- * @param type
- * QName type.
- */
- public AttributeTest(QName name, boolean wild, QName type) {
- super(name, wild, type);
- }
-
- /**
- * Constructor for AttributeTest. This one takes in 2 inputs, Name and
- * wildcard test(true/false).
- *
- * @param name
- * QName.
- * @param wild
- * Wildcard test, True/False.
- */
- public AttributeTest(QName name, boolean wild) {
- super(name, wild);
- }
-
- /**
- * Default Constructor for AttributeTest.
- */
- public AttributeTest() {
- super();
- }
-
- /**
- * Support for Visitor interface.
- *
- * @return Result of Visitor operation.
- */
- public Object accept(XPathVisitor v) {
- return v.visit(this);
- }
-
- public AnyType createTestType(ResultSequence rs) {
- if (name() == null && !wild()) {
- return new AttrType();
- }
-
- AnyType at = rs.first();
-
- if (!(at instanceof NodeType)) {
- return new AttrType();
- }
-
- return createAttrType(at);
- }
-
- private AnyType createAttrType(AnyType at) {
- anyType = new AttrType();
- NodeType nodeType = (NodeType) at;
- Node node = nodeType.node_value();
- if (node == null) {
- return anyType;
- }
-
- String nodeName = node.getLocalName();
-
- if (wild()) {
- if (type() != null) {
- anyType = createAttrForXSDType(node);
- }
- } else if (nodeName.equals(name().local())) {
- if (type() != null) {
- anyType = createAttrForXSDType(node);
- } else {
- anyType = new AttrType((Attr) node);
- }
- }
- return anyType;
- }
-
- private AnyType createAttrForXSDType(Node node) {
- Attr attr = (Attr) node;
- if (!(attr instanceof ItemPSVI)) {
- anyType = new AttrType(attr);
- } else {
- AttributePSVI elempsvi = (AttributePSVI) attr;
- XSTypeDefinition typedef = elempsvi.getTypeDefinition();
- if (typedef != null) {
- if (typedef.derivedFrom(type().namespace(), type().local(),
- getDerviationTypes())) {
- anyType = new AttrType(attr);
- }
- }
- }
- return anyType;
- }
-
- public boolean isWild() {
- return wild();
- }
-
- public Class getXDMClassType() {
- return AttrType.class;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/AxisStep.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/AxisStep.java
deleted file mode 100644
index ec83e14..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/AxisStep.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- * Class for AxisStep, this generates a sequence of zero or more nodes. These
- * nodes are always returned in Document Order. This can be Forward Step or
- * Reverse Step.
- */
-public class AxisStep extends StepExpr {
- private Step _step;
- private Collection _exprs;
-
- /**
- * Constructor for AxisStep.
- *
- * @param step
- * Defines forward/reverse step.
- * @param exprs
- * Collection of xpath expressions.
- */
- public AxisStep(Step step, Collection exprs) {
- _step = step;
- _exprs = exprs;
- }
-
- /**
- * Support for Visitor interface.
- *
- * @return Result of Visitor operation.
- */
- public Object accept(XPathVisitor v) {
- return v.visit(this);
- }
-
- /**
- * Advances to next step.
- *
- * @return Previous step.
- */
- public Step step() {
- return _step;
- }
-
- /**
- * Set the step direction.
- */
- public void set_step(Step s) {
- _step = s;
- }
-
- /**
- * Interator.
- *
- * @return Iterated expressions.
- */
- public Iterator iterator() {
- return _exprs.iterator();
- }
-
- /**
- * Determines size of expressions.
- *
- * @return Size of expressions.
- */
- public int predicate_count() {
- return _exprs.size();
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/BinExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/BinExpr.java
deleted file mode 100644
index 3f07c79..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/BinExpr.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * Abstract class for a Binary operation.
- */
-public abstract class BinExpr extends Expr {
- // XXX: review hierarchy - strictly should be Expr
- // or rename to binop
- private XPathNode _left;
- private XPathNode _right;
-
- /**
- * Constructor for BinExpr.
- *
- * @param l
- * left xpath node for the operation.
- * @param r
- * right xpath node for the operation.
- */
- public BinExpr(XPathNode l, XPathNode r) {
- _left = l;
- _right = r;
- }
-
- /**
- * Left xpath node.
- *
- * @return Left node.
- */
- public XPathNode left() {
- return _left;
- }
-
- /**
- * Right xpath node.
- *
- * @return Right node.
- */
- public XPathNode right() {
- return _right;
- }
-
- /**
- * Set the left xpath node.
- *
- * @param n
- * Left node.
- */
- public void set_left(XPathNode n) {
- _left = n;
- }
-
- /**
- * Set the right xpath node.
- *
- * @param n
- * Right node.
- */
- public void set_right(XPathNode n) {
- _right = n;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/CastExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/CastExpr.java
deleted file mode 100644
index a80d033..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/CastExpr.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * A class that creates a new value of a specific type based on an existing
- * value. A cast expression takes two operands: an input expression and a target
- * type. The type of the input expression is called the input type. The target
- * type must be a named atomic type, represented by a QName, optionally followed
- * by the occurrence indicator ? if an empty sequence is permitted. If the
- * target type has no namespace prefix, it is considered to be in the default
- * element/type namespace.
- */
-public class CastExpr extends BinExpr {
-
- /**
- * Constructor for CastExpr.
- *
- * @param l
- * input xpath expression/variable.
- * @param r
- * SingleType to cast l to.
- */
- public CastExpr(Expr l, SingleType r) {
- super(l, r);
- }
-
- /**
- * Support for Visitor interface.
- *
- * @return Result of Visitor operation.
- */
- public Object accept(XPathVisitor v) {
- return v.visit(this);
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/CastableExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/CastableExpr.java
deleted file mode 100644
index c05f357..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/CastableExpr.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * A class that tests whether a given value is castable into a given type. This
- * can be used to select an appropriate type for processing a given value.
- */
-public class CastableExpr extends BinExpr {
-
- /**
- * Constructor of CastableExpr
- *
- * @param l
- * input xpath expression/variable.
- * @param r
- * SingleType to check l against.
- */
- public CastableExpr(Expr l, SingleType r) {
- super(l, r);
- }
-
- /**
- * Support for Visitor interface.
- *
- * @return Result of Visitor operation.
- */
- public Object accept(XPathVisitor v) {
- return v.visit(this);
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/CmpExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/CmpExpr.java
deleted file mode 100644
index d0e765e..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/CmpExpr.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * The comparison of expression operator takes the value of its left operand and
- * compares (dependant on type) against its right operand, according to the
- * rules of the particular comparison rule
- */
-public class CmpExpr extends BinExpr {
- /**
- * Set internal value for EQUALS operation.
- */
- public static final int EQUALS = 0;
- /**
- * Set internal value for NOTEQUALS operation.
- */
- public static final int NOTEQUALS = 1;
- /**
- * Set internal value for LESSTHAN operation.
- */
- public static final int LESSTHAN = 2;
- /**
- * Set internal value for LESSEQUAL operation.
- */
- public static final int LESSEQUAL = 3;
- /**
- * Set internal value for GREATER operation.
- */
- public static final int GREATER = 4;
- /**
- * Set internal value for GREATEREQUAL operation.
- */
- public static final int GREATEREQUAL = 5;
- /**
- * Set internal value for EQ operation.
- */
- public static final int EQ = 6;
- /**
- * Set internal value for NE operation.
- */
- public static final int NE = 7;
- /**
- * Set internal value for LT operation.
- */
- public static final int LT = 8;
- /**
- * Set internal value for LE operation.
- */
- public static final int LE = 9;
- /**
- * Set internal value for GT operation.
- */
- public static final int GT = 10;
- /**
- * Set internal value for GE operation.
- */
- public static final int GE = 11;
- /**
- * Set internal value for IS operation.
- */
- public static final int IS = 12;
- /**
- * Set internal value for LESS_LESS operation.
- */
- public static final int LESS_LESS = 13;
- /**
- * Set internal value for GREATER_GREATER operation.
- */
- public static final int GREATER_GREATER = 14;
-
- private int _type;
-
- /**
- * Constructor for CmpExpr
- *
- * @param l
- * input xpath left expression/variable
- * @param r
- * input xpath right expression/variable
- * @param type
- * what comparison to use l against r.
- */
- public CmpExpr(Expr l, Expr r, int type) {
- super(l, r);
-
- _type = type;
- }
-
- /**
- * Support for Visitor interface.
- *
- * @return Result of Visitor operation.
- */
- public Object accept(XPathVisitor v) {
- return v.visit(this);
- }
-
- /**
- * @return comparison type
- */
- public int type() {
- return _type;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/CntxItemExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/CntxItemExpr.java
deleted file mode 100644
index 0cd4694..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/CntxItemExpr.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * Class for Context Item Expresions.
- */
-public class CntxItemExpr extends PrimaryExpr {
- /**
- * Support for Visitor interface.
- *
- * @return Result of Visitor operation.
- */
- public Object accept(XPathVisitor v) {
- return v.visit(this);
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/CommentTest.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/CommentTest.java
deleted file mode 100644
index bcc184e..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/CommentTest.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * David Carver - bug 298535 - Attribute instance of improvements
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.CommentType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-/**
- * Class for Comment testing.
- */
-public class CommentTest extends KindTest {
- /**
- * Support for Visitor interface.
- *
- * @return Result of Visitor operation.
- */
- public Object accept(XPathVisitor v) {
- return v.visit(this);
- }
-
- public AnyType createTestType(ResultSequence rs) {
- return null;
- }
-
- public QName name() {
- return null;
- }
-
- public boolean isWild() {
- return false;
- }
-
- public Class getXDMClassType() {
- return CommentType.class;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/DecimalLiteral.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/DecimalLiteral.java
deleted file mode 100644
index 4f4cbf3..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/DecimalLiteral.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDecimal;
-
-import java.math.BigDecimal;
-
-/**
- *The value of a numeric literal containing "." but no e or E character is an
- * atomic value of type xs:decimal
- *
- */
-public class DecimalLiteral extends NumericLiteral {
- private XSDecimal _value;
-
- /**
- * Constructor for DecimalLiteral
- *
- * @param value
- * double value
- */
- public DecimalLiteral(BigDecimal value) {
- _value = new XSDecimal(value);
- }
-
- /**
- * Support for Visitor interface.
- *
- * @return Result of Visitor operation.
- */
- public Object accept(XPathVisitor v) {
- return v.visit(this);
- }
-
- /**
- * @return xs:decimal value
- */
- public XSDecimal value() {
- return _value;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/DivExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/DivExpr.java
deleted file mode 100644
index 00b66e4..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/DivExpr.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * Class for Division expressions.
- */
-public class DivExpr extends BinExpr {
- /**
- * Constructor for DivExpr.
- *
- * @param l
- * input1 xpath expression/variable.
- * @param r
- * input2 xpath expression/variable.
- */
- public DivExpr(Expr l, Expr r) {
- super(l, r);
- }
-
- /**
- * Support for Visitor interface.
- *
- * @return Result of Visitor operation.
- */
- public Object accept(XPathVisitor v) {
- return v.visit(this);
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/DocumentTest.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/DocumentTest.java
deleted file mode 100644
index 4fac7e5..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/DocumentTest.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * David Carver - bug 298535 - Attribute instance of improvements
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.DocType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-/**
- * Class for Document testing.
- */
-public class DocumentTest extends KindTest {
- /**
- * Set internal value for NONE.
- */
- public static final int NONE = 0;
- /**
- * Set internal value for ELEMENT.
- */
- public static final int ELEMENT = 1;
- /**
- * Set internal value for SCHEMA_ELEMENT.
- */
- public static final int SCHEMA_ELEMENT = 2;
-
- // XXX: polymorphism
- private int _type;
-
- private AttrElemTest _etest;
- private SchemaElemTest _schema_etest;
-
- /**
- * Constructor for DocumentTest.
- *
- * @param type
- * Type of element to test.
- * @param arg
- * xpath object to test.
- */
- public DocumentTest(int type, Object arg) {
- _etest = null;
- _schema_etest = null;
-
- _type = type;
- switch (_type) {
- case ELEMENT:
- _etest = (AttrElemTest) arg;
- break;
- case SCHEMA_ELEMENT:
- _schema_etest = (SchemaElemTest) arg;
- break;
- }
- }
-
- /**
- * Default Constructor for DocumentTest.
- */
- public DocumentTest() {
- this(NONE, null);
- }
-
- /**
- * Support for Visitor interface.
- *
- * @return Result of Visitor operation.
- */
- public Object accept(XPathVisitor v) {
- return v.visit(this);
- }
-
- /**
- * Get test type.
- *
- * @return Type of test.
- */
- public int type() {
- return _type;
- }
-
- /**
- * Element test.
- *
- * @return Element test.
- */
- public AttrElemTest elem_test() {
- return _etest;
- }
-
- /**
- * Schema element test.
- *
- * @return Schema element test.
- */
- public SchemaElemTest schema_elem_test() {
- return _schema_etest;
- }
-
- public AnyType createTestType(ResultSequence rs) {
- // TODO Auto-generated method stub
- return null;
- }
-
- public QName name() {
- // TODO Auto-generated method stub
- return null;
- }
-
- public boolean isWild() {
- return false;
- }
-
- public Class getXDMClassType() {
- return DocType.class;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/DoubleLiteral.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/DoubleLiteral.java
deleted file mode 100644
index b7ea3b1..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/DoubleLiteral.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDouble;
-
-/**
- *The value of a numeric literal containing an e or E character is an atomic
- * value of type xs:double
- *
- */
-public class DoubleLiteral extends NumericLiteral {
- private XSDouble _value;
-
- /**
- * Constructor for Doubleiteral
- *
- * @param value
- * double value
- */
- public DoubleLiteral(double value) {
- _value = new XSDouble(value);
- }
-
- /**
- * Support for Visitor interface.
- *
- * @return Result of Visitor operation.
- */
- public Object accept(XPathVisitor v) {
- return v.visit(this);
- }
-
- /**
- * @return xs:double value
- */
- public XSDouble value() {
- return _value;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ElementTest.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ElementTest.java
deleted file mode 100644
index e033945..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ElementTest.java
+++ /dev/null
@@ -1,195 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * David Carver - bug 298535 - Attribute instance of improvements
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import org.apache.xerces.xs.ElementPSVI;
-import org.apache.xerces.xs.ItemPSVI;
-import org.apache.xerces.xs.XSTypeDefinition;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.ElementType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-/**
- * Class for Element testing.
- */
-public class ElementTest extends AttrElemTest {
- private boolean _qmark = false;
-
- private AnyType anyType = null;
-
- /**
- * Constructor for ElementTest. This takes in 4 inputs, Name, wildcard
- * test(true/false), type and question mark test(true/false).
- *
- * @param name
- * Name of element to test.
- * @param wild
- * Wildcard test? (true/false).
- * @param type
- * Type of element to test.
- * @param qmark
- * Nilled property (true/false).
- */
- public ElementTest(QName name, boolean wild, QName type, boolean qmark) {
- super(name, wild, type);
- _qmark = qmark;
- }
-
- /**
- * Constructor for ElementTest. This takes in 3 inputs, Name, wildcard
- * test(true/false)and type.
- *
- * @param name
- * Name of element to test.
- * @param wild
- * Wildcard test? (true/false).
- * @param type
- * Type of element to test.
- */
- public ElementTest(QName name, boolean wild, QName type) {
- super(name, wild, type);
- }
-
- /**
- * Constructor for ElementTest. This takes in 2 inputs, Name, wildcard
- * test(true/false).
- *
- * @param name
- * Name of element to test.
- * @param wild
- * Wildcard test? (true/false).
- */
- public ElementTest(QName name, boolean wild) {
- super(name, wild);
- }
-
- /**
- * Default Constructor for ElementTest.
- */
- public ElementTest() {
- super();
- }
-
- /**
- * Support for Visitor interface.
- *
- * @return Result of Visitor operation.
- */
- public Object accept(XPathVisitor v) {
- return v.visit(this);
- }
-
- /**
- * Set nilled property.
- *
- * @return Result of operation.
- */
- public boolean qmark() {
- return _qmark;
- }
-
- public AnyType createTestType(ResultSequence rs) {
-
- if (name() == null && !wild()) {
- return new ElementType();
- }
-
- AnyType at = rs.first();
-
- if (!(at instanceof NodeType)) {
- return new ElementType();
- }
-
- return createElementType(at);
- }
-
- private AnyType createElementType(AnyType at) {
- anyType = new ElementType();
- NodeType nodeType = (NodeType) at;
- Node node = nodeType.node_value();
- Document doc = null;
- if (node.getNodeType() == Node.DOCUMENT_NODE) {
- doc = (Document) node;
- } else {
- doc = nodeType.node_value().getOwnerDocument();
- }
-
- NodeList nodeList = null;
- if (!wild()) {
- nodeList = doc.getElementsByTagNameNS(name().namespace(),
- name().local());
- } else {
- nodeList = new SingleItemNodeListImpl(node);
- }
-
- if (nodeList.getLength() > 0) {
- anyType = createElementForXSDType(nodeList);
- }
- return anyType;
- }
-
- private AnyType createElementForXSDType(NodeList nodeList) {
- for (int i = 0; i < nodeList.getLength(); i++) {
- Element element = (Element) nodeList.item(i);
- if (type() == null || !(element instanceof ItemPSVI)) {
- anyType = new ElementType(element);
- break;
- } else {
- ElementPSVI elempsvi = (ElementPSVI) element;
- XSTypeDefinition typedef = elempsvi.getTypeDefinition();
- if (typedef.derivedFrom(type().namespace(), type().local(),
- getDerviationTypes())) {
- anyType = new ElementType(element);
- break;
- }
- }
- }
- return anyType;
- }
-
- public boolean isWild() {
- return wild();
- }
-
- public Class getXDMClassType() {
- return ElementType.class;
- }
-
- private static class SingleItemNodeListImpl implements NodeList {
- private Node node;
- public SingleItemNodeListImpl(Node node) {
- this.node = node;
- }
-
- public Node item(int index) {
- return node;
- }
-
- public int getLength() {
- if (node != null) {
- return 1;
- } else {
- return 0;
- }
- }
-
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ExceptExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ExceptExpr.java
deleted file mode 100644
index 09319cc..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ExceptExpr.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * The except operator takes two node sequences as operands and returns a
- * sequence containing all the nodes that occur in the first operand but not in
- * the second operand.
- */
-public class ExceptExpr extends BinExpr {
-
- /**
- * Constructor for ExceptExpr.
- *
- * @param l
- * input1 xpath expression/variable.
- * @param r
- * input2 xpath expression/variable.
- */
- public ExceptExpr(Expr l, Expr r) {
- super(l, r);
- }
-
- /**
- * Support for Visitor interface.
- *
- * @return Result of Visitor operation.
- */
- public Object accept(XPathVisitor v) {
- return v.visit(this);
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/Expr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/Expr.java
deleted file mode 100644
index e77ba93..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/Expr.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * Class for normal expressions.
- */
-public abstract class Expr extends XPathNode {
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/FilterExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/FilterExpr.java
deleted file mode 100644
index f626035..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/FilterExpr.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- * A filter expression consists simply of a primary expression followed by zero
- * or more predicates. The result of the filter expression consists of all the
- * items returned by the primary expression for which all the predicates are
- * true. If no predicates are specified, the result is simply the result of the
- * primary expression. This result may contain nodes, atomic values, or any
- * combination of these. The ordering of the items returned by a filter
- * expression is the same as their order in the result of the primary
- * expression. Context positions are assigned to items based on their ordinal
- * position in the result sequence. The first context position is 1.
- */
-public class FilterExpr extends StepExpr {
- private PrimaryExpr _pexpr;
- private Collection _exprs;
-
- /**
- * Constructor of FilterExpr.
- *
- * @param pexpr
- * is copied to _pexpr.
- * @param exprs
- * is copied to _exprs.
- */
- public FilterExpr(PrimaryExpr pexpr, Collection exprs) {
- _pexpr = pexpr;
- _exprs = exprs;
- }
-
- /**
- * Support for Visitor interface.
- *
- * @return Result of Visitor operation.
- */
- public Object accept(XPathVisitor v) {
- return v.visit(this);
- }
-
- /**
- * Get the primary expression.
- *
- * @return The primary expression.
- */
- public PrimaryExpr primary() {
- return _pexpr;
- }
-
- /**
- * Get the next predicate.
- *
- * @return The next predicate.
- */
- public Iterator iterator() {
- return _exprs.iterator();
- }
-
- /**
- * Set a new primary expression.
- *
- * @param e
- * is set as the new primary expression.
- */
- public void set_primary(PrimaryExpr e) {
- _pexpr = e;
- }
-
- /**
- * Count the number of predicates.
- *
- * @return The size of the collection of predicates.
- */
- public int predicate_count() {
- return _exprs.size();
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ForExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ForExpr.java
deleted file mode 100644
index 3fde276..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ForExpr.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- * Class for the For expression.
- */
-public class ForExpr extends Expr {
- private Collection _var_expr_pairs;
- private Expr _return;
-
- /**
- * Constructor for ForExpr.
- *
- * @param varexp
- * Expressions.
- * @param ret
- * Return expression.
- */
- public ForExpr(Collection varexp, Expr ret) {
- _var_expr_pairs = varexp;
- _return = ret;
- }
-
- /**
- * Support for Visitor interface.
- *
- * @return Result of Visitor operation.
- */
- public Object accept(XPathVisitor v) {
- return v.visit(this);
- }
-
- /**
- * Support for Iterator interface.
- *
- * @return Result of Iterator operation.
- */
- public Iterator iterator() {
- return _var_expr_pairs.iterator();
- }
-
- /**
- * Support for Expr interface.
- *
- * @return Result of Expr operation.
- */
- public Expr expr() {
- return _return;
- }
-
- /**
- * Set Expression.
- *
- * @param e
- * Expression.
- */
- public void set_expr(Expr e) {
- _return = e;
- }
-
- // used for normalization... basically just keep a "simple for"... no
- // pairs... collection will always have 1 element
- /**
- * Normalization of expression pairs.
- */
- public void truncate_pairs() {
- boolean first = true;
-
- for (Iterator i = _var_expr_pairs.iterator(); i.hasNext();) {
- i.next();
- if (!first)
- i.remove();
-
- first = false;
- }
- }
-
- /**
- * Support for Collection interface.
- *
- * @return Expression pairs.
- */
- public Collection ve_pairs() {
- return _var_expr_pairs;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ForwardStep.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ForwardStep.java
deleted file mode 100644
index 1a376ab..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ForwardStep.java
+++ /dev/null
@@ -1,172 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.AttributeAxis;
-import org.eclipse.wst.xml.xpath2.processor.internal.ChildAxis;
-import org.eclipse.wst.xml.xpath2.processor.internal.DescendantAxis;
-import org.eclipse.wst.xml.xpath2.processor.internal.DescendantOrSelfAxis;
-import org.eclipse.wst.xml.xpath2.processor.internal.FollowingAxis;
-import org.eclipse.wst.xml.xpath2.processor.internal.FollowingSiblingAxis;
-import org.eclipse.wst.xml.xpath2.processor.internal.ForwardAxis;
-import org.eclipse.wst.xml.xpath2.processor.internal.SelfAxis;
-
-/**
- * Class for Forward stepping support for Step operations.
- */
-public class ForwardStep extends Step {
- /**
- * Set internal value for NONE.
- */
- public static final int NONE = 0;
- /**
- * Set internal value for CHILD.
- */
- public static final int CHILD = 1;
- /**
- * Set internal value for DESCENDANT.
- */
- public static final int DESCENDANT = 2;
- /**
- * Set internal value for ATTRIBUTE.
- */
- public static final int ATTRIBUTE = 3;
- /**
- * Set internal value for SELF.
- */
- public static final int SELF = 4;
- /**
- * Set internal value for DESCENDANT_OR_SELF.
- */
- public static final int DESCENDANT_OR_SELF = 5;
- /**
- * Set internal value for FOLLOWING_SIBLING.
- */
- public static final int FOLLOWING_SIBLING = 6;
- /**
- * Set internal value for FOLLOWING.
- */
- public static final int FOLLOWING = 7;
- /**
- * Set internal value for NAMESPACE.
- */
- public static final int NAMESPACE = 8;
- /**
- * Set internal value for AT_SYM.
- */
- public static final int AT_SYM = 9;
-
- private int _axis;
-
- // XXX: we should get rid of the int axis... and make only this the axis
- private ForwardAxis _iterator;
-
- // XXX: needs to be fixed
- private void update_iterator() {
- switch (_axis) {
- case NONE:
- if (node_test() instanceof AttributeTest)
- _iterator = new AttributeAxis();
- else
- _iterator = new ChildAxis();
- break;
-
- case CHILD:
- _iterator = new ChildAxis();
- break;
-
- case DESCENDANT:
- _iterator = new DescendantAxis();
- break;
-
- case FOLLOWING_SIBLING:
- _iterator = new FollowingSiblingAxis();
- break;
-
- case FOLLOWING:
- _iterator = new FollowingAxis();
- break;
-
- case AT_SYM:
- case ATTRIBUTE:
- _iterator = new AttributeAxis();
- break;
-
- case SELF:
- _iterator = new SelfAxis();
- break;
-
- case DESCENDANT_OR_SELF:
- _iterator = new DescendantOrSelfAxis();
- break;
-
- default:
- assert false;
- break;
- }
- }
-
- /**
- * Constructor for ForwardStep.
- *
- * @param axis
- * Axis number.
- * @param node_test
- * Node test.
- */
- public ForwardStep(int axis, NodeTest node_test) {
- super(node_test);
-
- _axis = axis;
-
- update_iterator();
- }
-
- /**
- * Support for Visitor interface.
- *
- * @return Result of Visitor operation.
- */
- public Object accept(XPathVisitor v) {
- return v.visit(this);
- }
-
- /**
- * Support for Axis interface.
- *
- * @return Result of Axis operation.
- */
- public int axis() {
- return _axis;
- }
-
- /**
- * Set Axis to current.
- *
- * @param axis
- * Axis to set.
- */
- public void set_axis(int axis) {
- _axis = axis;
- update_iterator();
- }
-
- /**
- * Support for Iterator interface.
- *
- * @return Result of Iterator operation.
- */
- public ForwardAxis iterator() {
- return _iterator;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/FunctionCall.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/FunctionCall.java
deleted file mode 100644
index b4a0b20..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/FunctionCall.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- * Class for Function Call support.
- */
-public class FunctionCall extends PrimaryExpr {
- private QName _name;
- private Collection _args;
-
- /**
- * Constructor for FunctionCall.
- *
- * @param name
- * QName.
- * @param args
- * Collection of arguments.
- */
- public FunctionCall(QName name, Collection args) {
- _name = name;
- _args = args;
- }
-
- /**
- * Support for Visitor interface.
- *
- * @return Result of Visitor operation.
- */
- public Object accept(XPathVisitor v) {
- return v.visit(this);
- }
-
- /**
- * Support for QName interface.
- *
- * @return Result of QName operation.
- */
- public QName name() {
- return _name;
- }
-
- /**
- * Support for Iterator interface.
- *
- * @return Result of Iterator operation.
- */
- public Iterator iterator() {
- return _args.iterator();
- }
-
- /**
- * Support for Arity interface.
- *
- * @return Result of Arity operation.
- */
- public int arity() {
- return _args.size();
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/IDivExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/IDivExpr.java
deleted file mode 100644
index 92c0c11..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/IDivExpr.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * Support for Integer division.
- */
-public class IDivExpr extends BinExpr {
- /**
- * Constructor for IDivExpr.
- *
- * @param l
- * left value.
- * @param r
- * right value.
- */
- public IDivExpr(Expr l, Expr r) {
- super(l, r);
- }
-
- /**
- * Support for Visitor interface.
- *
- * @return Result of Visitor operation.
- */
- public Object accept(XPathVisitor v) {
- return v.visit(this);
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/IfExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/IfExpr.java
deleted file mode 100644
index 931aa82..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/IfExpr.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- * Support for IF expressions.
- */
-public class IfExpr extends Expr {
- private Collection _exprs;
- private Expr _then;
- private Expr _else;
-
- /**
- * Constructor for IfExpr.
- *
- * @param exps
- * Condition expressions.
- * @param t
- * If true expressions.
- * @param e
- * If false/else expressions.
- */
- public IfExpr(Collection exps, Expr t, Expr e) {
- _exprs = exps;
- _then = t;
- _else = e;
- }
-
- /**
- * Support for Visitor interface.
- *
- * @return Result of Visitor operation.
- */
- public Object accept(XPathVisitor v) {
- return v.visit(this);
- }
-
- /**
- * Support for Iterator interface.
- *
- * @return Result of Iterator operation.
- */
- public Iterator iterator() {
- return _exprs.iterator();
- }
-
- /**
- * Support for Expression interface.
- *
- * @return Result of Expr operation.
- */
- public Expr then_clause() {
- return _then;
- }
-
- /**
- * Support for Expression interface.
- *
- * @return Result of Expr operation.
- */
- public Expr else_clause() {
- return _else;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/InstOfExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/InstOfExpr.java
deleted file mode 100644
index 84e7127..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/InstOfExpr.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * The boolean operator 'instance of' takes the value of its first operand and
- * matches its type to the SequenceType in its second operand, according to the
- * rules for SequenceType matching.
- */
-public class InstOfExpr extends BinExpr {
- /**
- * Constructor for InstOfExpr.
- *
- * @param l
- * input xpath expression/variable.
- * @param r
- * SequenceType to check l against.
- */
- public InstOfExpr(Expr l, SequenceType r) {
- super(l, r);
- }
-
- /**
- * Support for Visitor interface.
- *
- * @return Result of Visitor operation.
- */
- public Object accept(XPathVisitor v) {
- return v.visit(this);
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/IntegerLiteral.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/IntegerLiteral.java
deleted file mode 100644
index 9b687b9..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/IntegerLiteral.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 274805 - improvements to xs:integer data type
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger;
-
-import java.math.BigInteger;
-
-/**
- * The value of a numeric literal containing no "." anad no e or E character is
- * an atomic value of type xs:integer
- *
- */
-public class IntegerLiteral extends NumericLiteral {
- private XSInteger _value;
-
- /**
- * Constructor for IntegerLiteral
- *
- * @param i
- * integer value
- */
- public IntegerLiteral(BigInteger i) {
- _value = new XSInteger(i);
- }
-
- /**
- * Support for Visitor interface.
- *
- * @return Result of Visitor operation.
- */
- public Object accept(XPathVisitor v) {
- return v.visit(this);
- }
-
- /**
- * @return xs:integer value
- */
- public XSInteger value() {
- return _value;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/IntersectExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/IntersectExpr.java
deleted file mode 100644
index 348772d..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/IntersectExpr.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * The intersect operator takes two node sequences as operands and returns a
- * sequence containing all the nodes that occur in both operands.
- */
-public class IntersectExpr extends BinExpr {
-
- /**
- * Constructor for IntersectExpr.
- *
- * @param l
- * input1 xpath expression/variable.
- * @param r
- * input2 xpath expression/variable.
- */
- public IntersectExpr(Expr l, Expr r) {
- super(l, r);
- }
-
- /**
- * Support for Visitor interface.
- *
- * @return Result of Visitor operation.
- */
- public Object accept(XPathVisitor v) {
- return v.visit(this);
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ItemType.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ItemType.java
deleted file mode 100644
index d8e46ee..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ItemType.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-/**
- * Support for Item node type.
- */
-public class ItemType extends XPathNode {
- /**
- * Set internal value for ITEM.
- */
- public static final int ITEM = 0;
- /**
- * Set internal value for QNAME.
- */
- public static final int QNAME = 1;
- /**
- * Set internal value for KINDTEST.
- */
- public static final int KINDTEST = 2;
- private int _type;
-
- private QName _qname;
- private KindTest _ktest;
-
- // XXX: polymorphism
- /**
- * Constructor for ItemType.
- *
- * @param type
- * Type.
- * @param value
- * Object value.
- */
- public ItemType(int type, Object value) {
- _qname = null;
- _ktest = null;
-
- _type = type;
-
- switch (type) {
- case QNAME:
- _qname = (QName) value;
- break;
- case KINDTEST:
- _ktest = (KindTest) value;
- break;
- }
- }
-
- /**
- * Support for Visitor interface.
- *
- * @return Result of Visitor operation.
- */
- public Object accept(XPathVisitor v) {
- return v.visit(this);
- }
-
- /**
- * Support for Type interface.
- *
- * @return Result of Type operation.
- */
- public int type() {
- return _type;
- }
-
- /**
- * Support for QName interface.
- *
- * @return Result of QName operation.
- */
- public QName qname() {
- return _qname;
- }
-
- /**
- * Support KindTest interface.
- *
- * @return Result of KindTest operation.
- */
- public KindTest kind_test() {
- return _ktest;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/KindTest.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/KindTest.java
deleted file mode 100644
index 740c622..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/KindTest.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * David Carver - bug 298535 - Attribute instance of improvements
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-/**
- * Class for KindTest operation.
- */
-public abstract class KindTest extends NodeTest {
-
- abstract public AnyType createTestType(ResultSequence rs);
-
- abstract public QName name();
-
- abstract public boolean isWild();
-
- abstract public Class getXDMClassType();
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/Literal.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/Literal.java
deleted file mode 100644
index 463ab8d..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/Literal.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * Literal is either a NumericLiteral or a StringLiteral
- *
- */
-public abstract class Literal extends PrimaryExpr {
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/MinusExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/MinusExpr.java
deleted file mode 100644
index 2b1e1cc..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/MinusExpr.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * Class for Minus expressions.
- */
-public class MinusExpr extends UnExpr {
- /**
- * Constructor for MinusExpr
- *
- * @param arg
- * argument expressions.
- */
- public MinusExpr(Expr arg) {
- super(arg);
- }
-
- /**
- * Support for Visitor interface.
- *
- * @return Result of Visitor operation.
- */
- public Object accept(XPathVisitor v) {
- return v.visit(this);
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ModExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ModExpr.java
deleted file mode 100644
index cbcc6b8..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ModExpr.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * Class for Modular operation.
- */
-public class ModExpr extends BinExpr {
- /**
- * Constructor for ModExpr.
- *
- * @param l
- * input1 xpath expression/variable.
- * @param r
- * input2 xpath expression/variable.
- */
- public ModExpr(Expr l, Expr r) {
- super(l, r);
- }
-
- /**
- * Support for Visitor interface.
- *
- * @return Result of Visitor operation.
- */
- public Object accept(XPathVisitor v) {
- return v.visit(this);
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/MulExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/MulExpr.java
deleted file mode 100644
index 230040a..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/MulExpr.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * Class for Multiply operation.
- */
-public class MulExpr extends BinExpr {
- /**
- * Constructor for MulExpr.
- *
- * @param l
- * input1 xpath expression/variable.
- * @param r
- * input2 xpath expression/variable.
- */
- public MulExpr(Expr l, Expr r) {
- super(l, r);
- }
-
- /**
- * Support for Visitor interface.
- *
- * @return Result of Visitor operation.
- */
- public Object accept(XPathVisitor v) {
- return v.visit(this);
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/NameTest.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/NameTest.java
deleted file mode 100644
index 3be715f..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/NameTest.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-/**
- * Class for Name test operation.
- */
-public class NameTest extends NodeTest {
- private QName _name;
-
- /**
- * Constructor for NameTest.
- *
- * @param name
- * QName to test.
- */
- public NameTest(QName name) {
- _name = name;
- }
-
- /**
- * Support for Visitor interface.
- *
- * @return Result of Visitor operation.
- */
- public Object accept(XPathVisitor v) {
- return v.visit(this);
- }
-
- /**
- * Support for QName interface.
- *
- * @return Resulf of QName operation.
- */
- public QName name() {
- return _name;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/NodeTest.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/NodeTest.java
deleted file mode 100644
index c8868a0..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/NodeTest.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * Class for Node test operation.
- */
-public abstract class NodeTest extends XPathNode {
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/NumericLiteral.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/NumericLiteral.java
deleted file mode 100644
index 0e7653b..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/NumericLiteral.java
+++ /dev/null
@@ -1,19 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * NumericLiteral is a value of typpe xs:integer, xs:decimal or xs:double
- *
- */
-public abstract class NumericLiteral extends Literal {
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/OrExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/OrExpr.java
deleted file mode 100644
index cfd2837..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/OrExpr.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * Class for Or operation.
- */
-public class OrExpr extends BinExpr {
- /**
- * Constructor for OrExpr.
- *
- * @param l
- * left expression.
- * @param r
- * right expression.
- */
- public OrExpr(Expr l, Expr r) {
- super(l, r);
- }
-
- /**
- * Support for Visitor interface.
- *
- * @return Resulf of Visitor operation.
- */
- public Object accept(XPathVisitor v) {
- return v.visit(this);
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/PITest.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/PITest.java
deleted file mode 100644
index b9ea5d0..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/PITest.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * David Carver - bug 298535 - Attribute instance of improvements
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.PIType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-/**
- * Class for Processing Instruction support.
- */
-public class PITest extends KindTest {
- private String _arg;
-
- /**
- * Constructor for PITest.
- *
- * @param arg
- * instruction argument.
- */
- public PITest(String arg) {
- _arg = arg;
- }
-
- /**
- * Default Constructor for PITest.
- */
- public PITest() {
- this(null);
- }
-
- /**
- * Support for Visitor interface.
- *
- * @return Result of Visitor operation.
- */
- public Object accept(XPathVisitor v) {
- return v.visit(this);
- }
-
- /**
- * Support for String arguments.
- *
- * @return Result of String operation.
- */
- public String arg() {
- return _arg;
- }
-
- public AnyType createTestType(ResultSequence rs) {
- // TODO Auto-generated method stub
- return null;
- }
-
- public QName name() {
- // TODO Auto-generated method stub
- return null;
- }
-
- public boolean isWild() {
- return false;
- }
-
- public Class getXDMClassType() {
- return PIType.class;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ParExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ParExpr.java
deleted file mode 100644
index fc8fff2..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ParExpr.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- * Class for parethesized expressions support.
- */
-public class ParExpr extends PrimaryExpr {
- private Collection _exprs;
-
- /**
- * Constructor for ParExpr.
- *
- * @param exprs
- * Expressions.
- */
- public ParExpr(Collection exprs) {
- _exprs = exprs;
- }
-
- /**
- * Support for Visitor interface.
- *
- * @return Result of Visitor operation.
- */
- public Object accept(XPathVisitor v) {
- return v.visit(this);
- }
-
- /**
- * Support for Iterator interface.
- *
- * @return Result of Iterator operation.
- */
- public Iterator iterator() {
- return _exprs.iterator();
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/PipeExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/PipeExpr.java
deleted file mode 100644
index e01bc0e..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/PipeExpr.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * Class for Piped expressions support.
- */
-public class PipeExpr extends BinExpr {
- /**
- * Constructor for PipeExpr.
- *
- * @param l
- * Left expression.
- * @param r
- * Right expression.
- */
- public PipeExpr(Expr l, Expr r) {
- super(l, r);
- }
-
- /**
- * Support for Visitor interface.
- *
- * @return Result of Visitor operation.
- */
- public Object accept(XPathVisitor v) {
- return v.visit(this);
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/PlusExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/PlusExpr.java
deleted file mode 100644
index 75d57b9..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/PlusExpr.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * Class for Plus expression support.
- */
-public class PlusExpr extends UnExpr {
- /**
- * Constructor for PlusExpr.
- *
- * @param arg
- * Arguments.
- */
- public PlusExpr(Expr arg) {
- super(arg);
- }
-
- /**
- * Support for Visitor interface.
- *
- * @return Result of Visitor operation.
- */
- public Object accept(XPathVisitor v) {
- return v.visit(this);
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/PrimaryExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/PrimaryExpr.java
deleted file mode 100644
index 891bdaf..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/PrimaryExpr.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * Support for Basic primitive language.
- */
-public abstract class PrimaryExpr extends XPathNode {
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/QuantifiedExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/QuantifiedExpr.java
deleted file mode 100644
index 1cfea92..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/QuantifiedExpr.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-// mite wanna do two separate classes at the end
-/**
- * Support for Quantified expressions.
- */
-public class QuantifiedExpr extends Expr {
- /**
- * Set internal value for SOME.
- */
- public static final int SOME = 0;
- /**
- * Set internal value for ALL.
- */
- public static final int ALL = 1;
-
- private Collection _var_expr_pairs;
- private Expr _return;
- private int _type;
-
- /**
- * Constructor for QuantifiedExpr.
- *
- * @param type
- * Type (0 for SOME, 1 for ALL).
- * @param varexp
- * Expressions.
- * @param ret
- * Returned expression.
- */
- public QuantifiedExpr(int type, Collection varexp, Expr ret) {
- _type = type;
- _var_expr_pairs = varexp;
- _return = ret;
- }
-
- /**
- * Support for Visitor interface.
- *
- * @return Result of Visitor operation.
- */
- public Object accept(XPathVisitor v) {
- return v.visit(this);
- }
-
- /**
- * Support for Integer interface.
- *
- * @return Result of Int operation.
- */
- public int type() {
- return _type;
- }
-
- /**
- * Support for Iterator inteface.
- *
- * @return Result of Iterator operation.
- */
- public Iterator iterator() {
- return _var_expr_pairs.iterator();
- }
-
- /**
- * Support for Expression interface.
- *
- * @return Result of Expr operation.
- */
- public Expr expr() {
- return _return;
- }
-
- /**
- * Set next expression.
- *
- * @param e
- * Expression.
- */
- public void set_expr(Expr e) {
- _return = e;
- }
-
- // used for normalization... basically just keep a "simple for"... no
- // pairs... collection will always have 1 element
- /**
- * Normalization of expression pairs.
- */
- public void truncate_pairs() {
- boolean first = true;
-
- for (Iterator i = _var_expr_pairs.iterator(); i.hasNext();) {
- i.next();
- if (!first)
- i.remove();
-
- first = false;
- }
- }
-
- /**
- * Support for Collection interface.
- *
- * @return Expression pairs.
- */
- public Collection ve_pairs() {
- return _var_expr_pairs;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/RangeExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/RangeExpr.java
deleted file mode 100644
index edfeaeb..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/RangeExpr.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * Support for Range expressions.
- */
-public class RangeExpr extends BinExpr {
- /**
- * Constructor for RangeExpr.
- *
- * @param l
- * left expression.
- * @param r
- * right expression.
- */
- public RangeExpr(Expr l, Expr r) {
- super(l, r);
- }
-
- /**
- * Support for Visitor interface.
- *
- * @return Result of Visitor operation.
- */
- public Object accept(XPathVisitor v) {
- return v.visit(this);
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ReverseStep.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ReverseStep.java
deleted file mode 100644
index 5eaaf8f..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/ReverseStep.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.AncestorAxis;
-import org.eclipse.wst.xml.xpath2.processor.internal.AncestorOrSelfAxis;
-import org.eclipse.wst.xml.xpath2.processor.internal.ParentAxis;
-import org.eclipse.wst.xml.xpath2.processor.internal.PrecedingAxis;
-import org.eclipse.wst.xml.xpath2.processor.internal.PrecedingSiblingAxis;
-import org.eclipse.wst.xml.xpath2.processor.internal.ReverseAxis;
-
-/**
- * Class for Reverse stepping support for Step operations.
- */
-public class ReverseStep extends Step {
- /**
- * Set internal value for PARENT.
- */
- public static final int PARENT = 0;
- /**
- * Set internal value for ANCESTOR.
- */
- public static final int ANCESTOR = 1;
- /**
- * Set internal value for PRECEDING_SIBLING.
- */
- public static final int PRECEDING_SIBLING = 2;
- /**
- * Set internal value for PRECEDING.
- */
- public static final int PRECEDING = 3;
- /**
- * Set internal value for ANCESTOR_OR_SELF.
- */
- public static final int ANCESTOR_OR_SELF = 4;
- /**
- * Set internal value for DOTDOT.
- */
- public static final int DOTDOT = 5;
-
- private int _axis;
- private ReverseAxis _iterator;
-
- private void update_iterator() {
- switch (_axis) {
- case PARENT:
- _iterator = new ParentAxis();
- break;
- case ANCESTOR:
- _iterator = new AncestorAxis();
- break;
-
- case PRECEDING_SIBLING:
- _iterator = new PrecedingSiblingAxis();
- break;
-
- case PRECEDING:
- _iterator = new PrecedingAxis();
- break;
-
- case ANCESTOR_OR_SELF:
- _iterator = new AncestorOrSelfAxis();
- break;
-
- case DOTDOT:
- _iterator = null;
- break;
-
- default:
- assert false;
- }
- }
-
- /**
- * Constructor for ReverseStep.
- *
- * @param axis
- * Axis number.
- * @param node_test
- * Node test.
- */
- public ReverseStep(int axis, NodeTest node_test) {
- super(node_test);
-
- _axis = axis;
- update_iterator();
- }
-
- /**
- * Support for Visitor interface.
- *
- * @return Result of Visitor operation.
- */
- public Object accept(XPathVisitor v) {
- return v.visit(this);
- }
-
- /**
- * Support for Axis interface.
- *
- * @return Result of Axis operation.
- */
- public int axis() {
- return _axis;
- }
-
- /**
- * Support for Iterator interface.
- *
- * @return Result of Iterator operation.
- */
- public ReverseAxis iterator() {
- return _iterator;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/SchemaAttrTest.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/SchemaAttrTest.java
deleted file mode 100644
index f823e42..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/SchemaAttrTest.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-/**
- * Support for Schema Attribute test.
- */
-public class SchemaAttrTest extends KindTest {
- private QName _arg;
-
- /**
- * Constructor for SchemaAttrTest.
- *
- * @param arg
- * QName argument.
- */
- public SchemaAttrTest(QName arg) {
- _arg = arg;
- }
-
- /**
- * Support for Visitor interface.
- *
- * @return Result of Visitor operation.
- */
- public Object accept(XPathVisitor v) {
- return v.visit(this);
- }
-
- /**
- * Support for QName interface.
- *
- * @return Result of QName operation.
- */
- public QName arg() {
- return _arg;
- }
-
- public AnyType createTestType(ResultSequence rs) {
- // TODO Auto-generated method stub
- return null;
- }
-
- public QName name() {
- return _arg;
- }
-
- public boolean isWild() {
- return false;
- }
-
- public Class getXDMClassType() {
- // TODO Auto-generated method stub
- return null;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/SchemaElemTest.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/SchemaElemTest.java
deleted file mode 100644
index ce9b218..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/SchemaElemTest.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-/**
- * Support for Schema Element Test.
- */
-public class SchemaElemTest extends KindTest {
- private QName _arg;
-
- /**
- * Constructor for SchemaElemTest.
- *
- * @param arg
- * QName argument.
- */
- public SchemaElemTest(QName arg) {
- _arg = arg;
- }
-
- /**
- * Support for Visitor interface.
- *
- * @return Result of Visitor operation.
- */
- public Object accept(XPathVisitor v) {
- return v.visit(this);
- }
-
- /**
- * Support for QName interface.
- *
- * @return Result of QName operation.
- */
- public QName name() {
- return _arg;
- }
-
- public AnyType createTestType(ResultSequence rs) {
- // TODO Auto-generated method stub
- return null;
- }
-
- public boolean isWild() {
- return false;
- }
-
- public Class getXDMClassType() {
- // TODO Auto-generated method stub
- return null;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/SequenceType.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/SequenceType.java
deleted file mode 100644
index 355012e..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/SequenceType.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper Steen Moller - bug 312191 - instance of test fails with partial matches
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * Support for Sequence type.
- */
-public class SequenceType extends XPathNode {
- /**
- * Set internal value for EMPTY.
- */
- public static final int EMPTY = 0;
- /**
- * Set internal value for NONE.
- */
- public static final int NONE = 1;
- /**
- * Set internal value for QUESTION.
- */
- public static final int QUESTION = 2;
- /**
- * Set internal value for STAR.
- */
- public static final int STAR = 3;
- /**
- * Set internal value for PLUS.
- */
- public static final int PLUS = 4;
-
- private int _occ;
- private ItemType _it;
-
- /**
- * Constructor for SequenceType.
- *
- * @param occ
- * Occurence.
- * @param it
- * Item type.
- */
- public SequenceType(int occ, ItemType it) {
- _occ = occ;
- _it = it;
- }
-
- /**
- * Support for Visitor interface.
- *
- * @return Result of Visitor operation.
- */
- public Object accept(XPathVisitor v) {
- return v.visit(this);
- }
-
- /**
- * Get occurence of item.
- *
- * @return Result from Int operation.
- */
- public int occurrence() {
- return _occ;
- }
-
- /**
- * Support for ItemType interface.
- *
- * @return Result of ItemType operation.
- */
- public ItemType item_type() {
- return _it;
- }
-
- public boolean isLengthValid(int length) {
- switch (occurrence()) {
- case EMPTY: return length == 0;
- case NONE: return length == 1;
- case QUESTION: return length <= 1;
- case STAR: return true;
- case PLUS: return length >= 1;
- default:
- assert false;
- return false;
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/SingleType.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/SingleType.java
deleted file mode 100644
index 3cdffb4..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/SingleType.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-/**
- * Support for Single types.
- */
-public class SingleType extends XPathNode {
-
- private QName _type;
- private boolean _qmark;
-
- /**
- * Constructor for SingleType.
- *
- * @param type
- * QName type.
- * @param qmark
- * optional type? (true/false).
- */
- public SingleType(QName type, boolean qmark) {
- _type = type;
- _qmark = qmark;
- }
-
- /**
- * Default Constructor for SingleType.
- */
- public SingleType(QName type) {
- this(type, false);
- }
-
- /**
- * Support for Visitor interface.
- *
- * @return Result of Visitor operation.
- */
- public Object accept(XPathVisitor v) {
- return v.visit(this);
- }
-
- /**
- * Set optional type.
- *
- * @return optional type value.
- */
- public boolean qmark() {
- return _qmark;
- }
-
- /**
- * Support for QName interface.
- *
- * @return Result of QName operation.
- */
- public QName type() {
- return _type;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/Step.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/Step.java
deleted file mode 100644
index 5c163fb..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/Step.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * Support for Step operations.
- */
-public abstract class Step extends XPathNode {
-
- private NodeTest _node_test;
-
- /**
- * Constructor for Step.
- *
- * @param node_test
- * Nodes for operation.
- */
- public Step(NodeTest node_test) {
- _node_test = node_test;
- }
-
- /**
- * Support for NodeTest interface.
- *
- * @return Result of NodeTest operation.
- */
- public NodeTest node_test() {
- return _node_test;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/StepExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/StepExpr.java
deleted file mode 100644
index 06db05a..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/StepExpr.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * Support for Step expressions.
- */
-public abstract class StepExpr extends Expr {
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/StringLiteral.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/StringLiteral.java
deleted file mode 100644
index d1da02c..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/StringLiteral.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSString;
-
-/**
- * The value of a string literal is an atomic value whose type is xs:string and
- * whose value is the string denoted by the characters between the delimiting
- * apostrophes or quotation marks. If the literal is delimited by apostrophes,
- * two adjacent apostrophes within the literal are interpreted as a single
- * apostrophe. Similarly, if the literal is delimited by quotation marks, two
- * adjacent quotation marks within the literal are interpreted as one quotation
- * mark
- *
- */
-public class StringLiteral extends Literal {
- private XSString _value;
-
- /**
- * Constructor for StringLiteral
- *
- * @param value
- * string value
- */
- public StringLiteral(String value) {
- _value = new XSString(value);
- }
-
- /**
- * Support for Visitor interface.
- *
- * @return Result of Visitor operation.
- */
- public Object accept(XPathVisitor v) {
- return v.visit(this);
- }
-
- /**
- * @return string value
- */
- public String string() {
- return _value.value();
- }
-
- /**
- * @return xs:string value
- */
- public XSString value() {
- return _value;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/SubExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/SubExpr.java
deleted file mode 100644
index 116a511..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/SubExpr.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * Support for Subtraction operation.
- */
-public class SubExpr extends BinExpr {
- /**
- * Constructor for SubExpr.
- *
- * @param l
- * left input.
- * @param r
- * right input.
- */
- public SubExpr(Expr l, Expr r) {
- super(l, r);
- }
-
- /**
- * Support for Visitor interface.
- *
- * @return Result of Visitor operation.
- */
- public Object accept(XPathVisitor v) {
- return v.visit(this);
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/TextTest.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/TextTest.java
deleted file mode 100644
index 7e531f4..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/TextTest.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * David Carver - bug 298535 - Attribute instance of improvements
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.TextType;
-
-/**
- * Class to match any text node.
- */
-public class TextTest extends KindTest {
- /**
- * Support for Visitor interface.
- *
- * @return Result of Visitor operation.
- */
- public Object accept(XPathVisitor v) {
- return v.visit(this);
- }
-
- public AnyType createTestType(ResultSequence rs) {
- return null;
- }
-
- public QName name() {
- return null;
- }
-
- public boolean isWild() {
- return false;
- }
-
- public Class getXDMClassType() {
- return TextType.class;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/TreatAsExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/TreatAsExpr.java
deleted file mode 100644
index 5d8c87e..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/TreatAsExpr.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * Support for Treat operation. This does not change the value of the operand,
- * rather it ensues the operand has a correct type at evaluation time.
- */
-public class TreatAsExpr extends BinExpr {
- /**
- * Constructor for TreatAsExpr.
- *
- * @param l
- * xpath expression/variable.
- * @param r
- * SequenceType to treat as.
- */
- public TreatAsExpr(Expr l, SequenceType r) {
- super(l, r);
- }
-
- /**
- * Support for Visitor interface.
- *
- * @return Result of Visitor operation.
- */
- public Object accept(XPathVisitor v) {
- return v.visit(this);
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/UnExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/UnExpr.java
deleted file mode 100644
index 773d883..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/UnExpr.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * Support for Unary expressions.
- */
-public abstract class UnExpr extends Expr {
- private Expr _arg;
-
- /**
- * Constructor for UnExpr.
- *
- * @param arg
- * expression.
- */
- public UnExpr(Expr arg) {
- _arg = arg;
- }
-
- /**
- * Support for Expression interface.
- *
- * @return Result of Expr operation.
- */
- public Expr arg() {
- return _arg;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/UnionExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/UnionExpr.java
deleted file mode 100644
index 1eb094c..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/UnionExpr.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * The union class takes two node sequences as operands and return a sequence
- * containing all the nodes that occur in either of the operands.
- */
-public class UnionExpr extends BinExpr {
-
- /**
- * Constructor for UnionExpr.
- *
- * @param l
- * input1 xpath expression/variable.
- * @param r
- * unput2 xpath expression/variable.
- */
- public UnionExpr(Expr l, Expr r) {
- super(l, r);
- }
-
- /**
- * Support for Visitor interface.
- *
- * @return Result of Visitor operation.
- */
- public Object accept(XPathVisitor v) {
- return v.visit(this);
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/VarExprPair.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/VarExprPair.java
deleted file mode 100644
index 1936135..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/VarExprPair.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-/**
- * Class for Variable Expression Pairs.
- */
-public class VarExprPair {
- private QName _var;
- private Expr _expr;
-
- /**
- * Constructor for VarExprPair.
- *
- * @param var
- * QName variable.
- * @param expr
- * Expression.
- */
- public VarExprPair(QName var, Expr expr) {
- _var = var;
- _expr = expr;
- }
-
- /**
- * Support for QName interface.
- *
- * @return Result of QName operation.
- */
- public QName varname() {
- return _var;
- }
-
- /**
- * Support for Expression interface.
- *
- * @return Result of Expr operation.
- */
- public Expr expr() {
- return _expr;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/VarRef.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/VarRef.java
deleted file mode 100644
index beacb9c..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/VarRef.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-/**
- * Support for Variable Reference. A QName preceded by a $-sign is a variable
- * reference.
- */
-public class VarRef extends PrimaryExpr {
- private QName _varname;
-
- /**
- * Constructor for VarRef.
- *
- * @param name
- * QName.
- */
- public VarRef(QName name) {
- _varname = name;
- }
-
- /**
- * Support for Visitor interface.
- *
- * @return Result of Visitor operation.
- */
- public Object accept(XPathVisitor v) {
- return v.visit(this);
- }
-
- /**
- * Support for QName interface.
- *
- * @return Result of QName operation.
- */
- public QName name() {
- return _varname;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/XPathExpr.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/XPathExpr.java
deleted file mode 100644
index 224bb97..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/XPathExpr.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * Path expression walks tries to walk the path specified in its argument
- */
-public class XPathExpr extends Expr {
- private int _slashes;
- private StepExpr _expr;
-
- // single linked list
- private XPathExpr _next;
-
- /**
- * @param slashes
- * is copied to _slashes
- * @param expr
- * is copied to _expr _next is made null as a result.
- */
- public XPathExpr(int slashes, StepExpr expr) {
- _slashes = slashes;
- _expr = expr;
- _next = null;
- }
-
- /**
- * Support for Visitor interface.
- *
- * @return Result of Visitor operation.
- */
- public Object accept(XPathVisitor v) {
- return v.visit(this);
- }
-
- /**
- * Add to tail of path
- */
- // XXX: keep ref to last
- public void add_tail(int slashes, StepExpr expr) {
- XPathExpr last = this;
- XPathExpr next = _next;
-
- while (next != null) {
- last = next;
- next = last.next();
- }
-
- XPathExpr item = new XPathExpr(slashes, expr);
- last.set_next(item);
-
- }
-
- /**
- * @param count
- * is copied to _slashes
- */
- public void set_slashes(int count) {
- _slashes = count;
- }
-
- /**
- * @return XPath expression _next
- */
- public XPathExpr next() {
- return _next;
- }
-
- /**
- * an XPath expression, n is copied to _next
- */
- public void set_next(XPathExpr n) {
- _next = n;
- }
-
- /**
- * @return Step expression _expr
- */
- public StepExpr expr() {
- return _expr;
- }
-
- /**
- * @return int _slashes
- */
- public int slashes() {
- return _slashes;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/XPathNode.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/XPathNode.java
deleted file mode 100644
index 1631afc..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/XPathNode.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-/**
- * Class for a XPathNode object.
- */
-public abstract class XPathNode {
- /**
- * Support for Visitor interface.
- */
- public abstract Object accept(XPathVisitor v);
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/XPathVisitor.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/XPathVisitor.java
deleted file mode 100644
index 2f13c62..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/XPathVisitor.java
+++ /dev/null
@@ -1,269 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.ast;
-
-import org.eclipse.wst.xml.xpath2.processor.ast.XPath;
-
-/**
- * Visitor class for XPath expressions.
- */
-public interface XPathVisitor {
- /**
- * Visit XPath.
- */
- public Object visit(XPath xp);
-
- /**
- * Visit ForExpr.
- */
- public Object visit(ForExpr fex);
-
- /**
- * Visit QuantifiedExpr.
- */
- public Object visit(QuantifiedExpr qex);
-
- /**
- * Visit IfExpr.
- */
- public Object visit(IfExpr ifex);
-
- /**
- * Visit OrExpr.
- */
- public Object visit(OrExpr orex);
-
- /**
- * Visit AndExpr.
- */
- public Object visit(AndExpr andex);
-
- /**
- * Visit CmpExpr.
- */
- public Object visit(CmpExpr cmpex);
-
- /**
- * Visit RangeExpr.
- */
- public Object visit(RangeExpr rex);
-
- /**
- * Visit AddExpr.
- */
- public Object visit(AddExpr addex);
-
- /**
- * Visit SubExpr.
- */
- public Object visit(SubExpr subex);
-
- /**
- * Visit MulExpr.
- */
- public Object visit(MulExpr mulex);
-
- /**
- * Visit DivExpr.
- */
- public Object visit(DivExpr mulex);
-
- /**
- * Visit IDivExpr.
- */
- public Object visit(IDivExpr mulex);
-
- /**
- * Visit ModExpr.
- */
- public Object visit(ModExpr mulex);
-
- /**
- * Visit UnionExpr.
- */
- public Object visit(UnionExpr unex);
-
- /**
- * Visit PipeExpr.
- */
- public Object visit(PipeExpr pipex);
-
- /**
- * Visit IntersectExpr.
- */
- public Object visit(IntersectExpr iexpr);
-
- /**
- * Visit ExceptExpr.
- */
- public Object visit(ExceptExpr eexpr);
-
- /**
- * Visit InstOfExpr.
- */
- public Object visit(InstOfExpr ioexp);
-
- /**
- * Visit TreatAsExpr.
- */
- public Object visit(TreatAsExpr taexp);
-
- /**
- * Visit CastableExpr.
- */
- public Object visit(CastableExpr cexp);
-
- /**
- * Visit CastExpr.
- */
- public Object visit(CastExpr cexp);
-
- /**
- * Visit MinusExpr.
- */
- public Object visit(MinusExpr e);
-
- /**
- * Visit PlusExpr.
- */
- public Object visit(PlusExpr e);
-
- /**
- * Visit XPathExpr.
- */
- public Object visit(XPathExpr e);
-
- /**
- * Visit ForwardStep.
- */
- public Object visit(ForwardStep e);
-
- /**
- * Visit ReverseStep.
- */
- public Object visit(ReverseStep e);
-
- /**
- * Visit NameTest.
- */
- public Object visit(NameTest e);
-
- /**
- * Visit VarRef.
- */
- public Object visit(VarRef e);
-
- /**
- * Visit StringLiteral.
- */
- public Object visit(StringLiteral e);
-
- /**
- * Visit IntegerLiteral.
- */
- public Object visit(IntegerLiteral e);
-
- /**
- * Visit DoubleLiteral.
- */
- public Object visit(DoubleLiteral e);
-
- /**
- * Visit DecimalLiteral.
- */
- public Object visit(DecimalLiteral e);
-
- /**
- * Visit ParExpr.
- */
- public Object visit(ParExpr e);
-
- /**
- * Visit CntxItemExpr.
- */
- public Object visit(CntxItemExpr e);
-
- /**
- * Visit FunctionCall.
- */
- public Object visit(FunctionCall e);
-
- /**
- * Visit SingleType.
- */
- public Object visit(SingleType e);
-
- /**
- * Visit SequenceType.
- */
- public Object visit(SequenceType e);
-
- /**
- * Visit ItemType.
- */
- public Object visit(ItemType e);
-
- /**
- * Visit AnyKindTest.
- */
- public Object visit(AnyKindTest e);
-
- /**
- * Visit DocumentTest.
- */
- public Object visit(DocumentTest e);
-
- /**
- * Visit TextTest.
- */
- public Object visit(TextTest e);
-
- /**
- * Visit CommentTest.
- */
- public Object visit(CommentTest e);
-
- /**
- * Visit PITest.
- */
- public Object visit(PITest e);
-
- /**
- * Visit AttributeTest.
- */
- public Object visit(AttributeTest e);
-
- /**
- * Visit SchemaAttrTest.
- */
- public Object visit(SchemaAttrTest e);
-
- /**
- * Visit ElementTest.
- */
- public Object visit(ElementTest e);
-
- /**
- * Visit SchemElemTest.
- */
- public Object visit(SchemaElemTest e);
-
- /**
- * Visit AxisStep.
- */
- public Object visit(AxisStep e);
-
- /**
- * Visit FilterExpr.
- */
- public Object visit(FilterExpr e);
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/AbstractCollationEqualFunction.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/AbstractCollationEqualFunction.java
deleted file mode 100644
index a801fa2..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/AbstractCollationEqualFunction.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Standards for Technology in Automotive Retail and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * David Carver (STAR) - initial API and implementation
- * David Carver (STAR) - bug 296882 - fixed function that would always return false.
- *******************************************************************************/
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSBoolean;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDateTime;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDouble;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSFloat;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSString;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSUntypedAtomic;
-
-import java.math.BigInteger;
-import java.util.Iterator;
-
-public abstract class AbstractCollationEqualFunction extends Function {
-
- public AbstractCollationEqualFunction(QName name, int arity) {
- super(name, arity);
- // TODO Auto-generated constructor stub
- }
-
- public AbstractCollationEqualFunction(QName name, int min_arity,
- int max_arity) {
- super(name, min_arity, max_arity);
- }
-
-
- protected static boolean hasValue(AnyType itema, AnyType itemb, DynamicContext context, String collationURI) throws DynamicError {
- XSString itemStr = new XSString(itema.string_value());
- if (isBoolean(itema, itemb)) {
- XSBoolean boolat = (XSBoolean) itema;
- if (boolat.eq(itemb, context)) {
- return true;
- }
- }
-
- if (isNumeric(itema, itemb)) {
- NumericType numericat = (NumericType) itema;
- if (numericat.eq(itemb, context)) {
- return true;
- }
- }
-
- if (isDuration(itema, itemb)) {
- XSDuration durat = (XSDuration) itema;
- if (durat.eq(itemb, context)) {
- return true;
- }
- }
-
- if (needsStringComparison(itema, itemb)) {
- XSString xstr1 = new XSString(itema.string_value());
- if (FnCompare.compare_string(collationURI, xstr1, itemStr,
- context).equals(BigInteger.ZERO)) {
- return true;
- }
- }
- return false;
- }
-
- protected static boolean hasValue(ResultSequence rs, AnyAtomicType item,
- DynamicContext context, String collationURI) throws DynamicError {
- XSString itemStr = new XSString(item.string_value());
-
- for (Iterator i = rs.iterator(); i.hasNext();) {
- AnyType at = (AnyType) i.next();
-
- if (!(at instanceof CmpEq))
- continue;
-
- if (isBoolean(item, at)) {
- XSBoolean boolat = (XSBoolean) at;
- if (boolat.eq(item, context)) {
- return true;
- }
- }
-
- if (isNumeric(item, at)) {
- NumericType numericat = (NumericType) at;
- if (numericat.eq(item, context)) {
- return true;
- }
- }
-
- if (isDuration(item, at)) {
- XSDuration durat = (XSDuration) at;
- if (durat.eq(item, context)) {
- return true;
- }
- }
-
- if (needsStringComparison(item, at)) {
- XSString xstr1 = new XSString(at.string_value());
- if (FnCompare.compare_string(collationURI, xstr1, itemStr,
- context).equals(BigInteger.ZERO)) {
- return true;
- }
- }
- }
- return false;
- }
-
- protected static boolean isDuration(AnyAtomicType item, AnyType at) {
- return at instanceof XSDuration && item instanceof XSDuration;
- }
-
- protected static boolean isBoolean(AnyAtomicType item, AnyType at) {
- return at instanceof XSBoolean && item instanceof XSBoolean;
- }
-
- protected static boolean isNumeric(AnyAtomicType item, AnyType at) {
- return at instanceof NumericType && item instanceof NumericType;
- }
-
- protected static boolean needsStringComparison(AnyAtomicType item,
- AnyType at) {
- AnyType anyItem = (AnyType) item;
- return needsStringComparison(anyItem, at);
- }
-
- protected static boolean isDuration(AnyType item, AnyType at) {
- return at instanceof XSDuration && item instanceof XSDuration;
- }
-
- protected static boolean isDate(AnyType item, AnyType at) {
- return at instanceof XSDateTime && item instanceof XSDateTime;
- }
-
-
- protected static boolean isBoolean(AnyType cmptype, AnyType at) {
- return at instanceof XSBoolean && cmptype instanceof XSBoolean;
- }
-
- protected static boolean isNumeric(AnyType item, AnyType at) {
- return at instanceof NumericType && item instanceof NumericType;
- }
-
- protected static boolean needsStringComparison(AnyType item, AnyType at) {
- if (item instanceof NumericType) {
- if (at instanceof XSFloat) {
- XSFloat f = (XSFloat) at;
- if (f.nan()) {
- return true;
- }
- }
-
- if (at instanceof XSDouble) {
- XSDouble d = (XSDouble) at;
- if (d.nan()) {
- return true;
- }
- }
- }
-
- if (at instanceof XSString) {
- return true;
- }
-
- if (at instanceof XSUntypedAtomic) {
- return true;
- }
- return false;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/AbstractRegExFunction.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/AbstractRegExFunction.java
deleted file mode 100644
index e887ea6..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/AbstractRegExFunction.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2010 Standards for Technology in Automotive Retail and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * David Carver - bug 262765 - initial API and implementation
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-public abstract class AbstractRegExFunction extends Function {
- protected static final String validflags = "smix";
-
- public AbstractRegExFunction(QName name, int arity) {
- super(name, arity);
- }
-
- public AbstractRegExFunction(QName name, int min_arity, int max_arity) {
- super(name, min_arity, max_arity);
- }
-
- protected static boolean matches(String pattern, String flags, String src) {
- boolean fnd = false;
- if (pattern.indexOf("-[") != -1) {
- pattern = pattern.replaceAll("\\-\\[", "&&[^");
- }
- Matcher m = compileAndExecute(pattern, flags, src);
- while (m.find()) {
- fnd = true;
- }
- return fnd;
- }
-
- protected static Matcher regex(String pattern, String flags, String src) {
- Matcher matcher = compileAndExecute(pattern, flags, src);
- return matcher;
- }
-
- private static Matcher compileAndExecute(String pattern, String flags, String src) {
- int flag = Pattern.UNIX_LINES;
- if (flags != null) {
- if (flags.indexOf("m") >= 0) {
- flag = flag | Pattern.MULTILINE;
- }
- if (flags.indexOf("s") >= 0) {
- flag = flag | Pattern.DOTALL;
- }
- if (flags.indexOf("i") >= 0) {
- flag = flag | Pattern.CASE_INSENSITIVE;
- }
-
- if (flags.indexOf("x") >= 0) {
- flag = flag | Pattern.COMMENTS;
- }
- }
-
- Pattern p = Pattern.compile(pattern, flag);
- return p.matcher(src);
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/AbstractURIFunction.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/AbstractURIFunction.java
deleted file mode 100644
index 95d74f3..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/AbstractURIFunction.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2010 Standards for Technology in Automotive Retail and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * David Carver - STAR - bug 262765 - renamed to correct function name.
- * Jesper Steen Moeller - bug 285145 - implement full arity checking
- * Jesper Steen Moeller - bug 285319 - fix UTF-8 escaping
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSString;
-
-import java.nio.ByteBuffer;
-import java.nio.charset.Charset;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-
-public abstract class AbstractURIFunction extends Function {
-
- private static final Charset UTF_8 = Charset.forName("UTF-8");
-
- static Collection _expected_args = null;
-
- protected static boolean needs_escape(byte x, boolean escape_delimiters, boolean escape_space) {
-
- // These are identified as "unreserved" by [RFC 3986]:
- if ('A' <= x && x <= 'Z')
- return false;
- if ('a' <= x && x <= 'z')
- return false;
- if ('0' <= x && x <= '9')
- return false;
-
- switch (x) {
- // These are identified as "unreserved" by [RFC 3986]:
- case '-':
- case '_':
- case '.':
- case '~':
- return false;
-
- // These are URI/IRI delimiters
- case '(':
- case ')':
- case '\'':
- case '*':
- case '!':
- case '#':
- case '%':
- case ';':
- case '/':
- case '?':
- case ':':
- case '@':
- case '&':
- case '=':
- case '+':
- case '$':
- case ',':
- case '[':
- case ']':
- return escape_delimiters;
-
- case ' ':
- return escape_space;
-
- // The rest should always be escaped: < > " space | ^ - and all the UTF-8 bytes
- default:
- return true;
- }
- }
-
- /**
- * Apply the URI escaping rules to the arguments.
- *
- * @param args
- * have the URI escaping rules applied to them.
- * @throws DynamicError
- * Dynamic error.
- * @return The result of applying the URI escaping rules to the arguments.
- */
- public static ResultSequence escape_uri(Collection args, boolean escape) throws DynamicError {
- return escape_uri(args, escape, true);
- }
-
- /**
- * Apply the URI escaping rules to the arguments.
- *
- * @param args
- * have the URI escaping rules applied to them.
- * @param escape_space TODO
- * @throws DynamicError
- * Dynamic error.
- * @return The result of applying the URI escaping rules to the arguments.
- */
- public static ResultSequence escape_uri(Collection args, boolean escape_delimiters, boolean escape_space) throws DynamicError {
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- Iterator argi = cargs.iterator();
- ResultSequence arg1 = (ResultSequence) argi.next();
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg1.empty()) {
- rs.add(new XSString(""));
- return rs;
- }
-
- AnyType aat = arg1.first();
- String str = aat.string_value();
-
- ByteBuffer buffer = UTF_8.encode(str);
- StringBuffer sb = new StringBuffer();
-
- for (int i = 0; i < buffer.limit(); i++) {
- byte x = buffer.get(i);
-
- if (needs_escape(x, escape_delimiters, escape_space)) {
- sb.append("%");
- sb.append(Integer.toHexString(x & 0xFF).toUpperCase());
- } else
- sb.append((char)x);
- }
-
- rs.add(new XSString(sb.toString()));
-
- return rs;
- }
-
- /**
- * Calculate the expected arguments.
- *
- * @return The expected arguments.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- _expected_args.add(new SeqType(new XSString(), SeqType.OCC_QMARK));
- }
-
- return _expected_args;
- }
-
- public AbstractURIFunction(QName name, int arity) {
- super(name, arity);
- }
-
- public AbstractURIFunction(QName name, int min_arity, int max_arity) {
- super(name, min_arity, max_arity);
- }
-
- public ResultSequence evaluate(Collection args) throws DynamicError {
- // TODO Auto-generated method stub
- return null;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/CmpEq.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/CmpEq.java
deleted file mode 100644
index 5365c71..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/CmpEq.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper Moller - bug 280555 - Add pluggable collation support
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-
-/**
- * Class for compare for equal function.
- */
-public interface CmpEq {
- /**
- * Constructor for CmpEq.
- *
- * @param arg
- * argument of any type.
- * @param context TODO
- * @throws DynamicError
- * Dynamic error.
- * @return Result of operation, true/false.
- */
- public boolean eq(AnyType arg, DynamicContext context) throws DynamicError;
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/CmpGt.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/CmpGt.java
deleted file mode 100644
index 8f95f6e..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/CmpGt.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper Moller - bug 280555 - Add pluggable collation support
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-
-/**
- * Class for compare for greater than operation.
- */
-public interface CmpGt {
- /**
- * Constructor for CmpGt
- *
- * @param arg
- * argument of any type.
- * @param context TODO
- * @throws DynamicError
- * Dynamic error.
- * @return Result of operation, true/false.
- */
- public boolean gt(AnyType arg, DynamicContext context) throws DynamicError;
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/CmpLt.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/CmpLt.java
deleted file mode 100644
index cab0207..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/CmpLt.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper Moller - bug 280555 - Add pluggable collation support
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-
-/**
- * Class for compare for less than operation.
- */
-public interface CmpLt {
- /**
- * Constructor for CmpLt.
- *
- * @param arg
- * argument of any type.
- * @param context TODO
- * @throws DynamicError
- * Dynamic error.
- * @return Result of operation, true/false.
- */
- public boolean lt(AnyType arg, DynamicContext context) throws DynamicError;
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/Constructor.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/Constructor.java
deleted file mode 100644
index a2ef298..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/Constructor.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug274784 - improvements to xs:boolean data type implementation
- * Jesper Steen Moeller - bug 285145 - implement full arity checking
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-import java.util.Collection;
-
-/**
- * Constructor class for functions.
- */
-public class Constructor extends Function {
- private CtrType _atomic_type;
-
- /**
- * Constructor for Constructor class.
- *
- * @param aat
- * input of any atomic type.
- */
- public Constructor(CtrType aat) {
- super(new QName(aat.type_name()), 1);
-
- _atomic_type = aat;
- }
-
- // XXX IN GENRAL, I THIUNK WE NEED TO PULL SANITY CHECKING OUTSIDE!
- // PLUS I AM NOT ATOMIZING/ETC ETC HERE!!! BAD CODE
- // BUG XXX HACK DEATH
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- assert args.size() >= min_arity() && args.size() <= max_arity();
-
- // sanity checks
- ResultSequence arg = (ResultSequence) args.iterator().next();
-
- if (arg.size() > 1)
- DynamicError.throw_type_error();
-
- // do it
- return _atomic_type.constructor(arg);
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/ConstructorFL.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/ConstructorFL.java
deleted file mode 100644
index f7a0fa2..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/ConstructorFL.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-import java.util.Hashtable;
-
-/**
- * Constructor class for the functions library.
- */
-public class ConstructorFL extends FunctionLibrary {
-
- private Hashtable _types;
-
- /**
- * Constructor for ConstructorFL.
- *
- * @param ns
- * input string.
- */
- public ConstructorFL(String ns) {
- super(ns);
-
- _types = new Hashtable();
- }
-
- /**
- * Adds a type into the functions library.
- *
- * @param at
- * input of any atomic type.
- */
- public void add_type(CtrType at) {
- QName name = new QName(at.type_name());
- name.set_namespace(namespace());
-
- _types.put(name, at);
-
- add_function(new Constructor(at));
- }
-
- /**
- * Adds a type into the functions library as an abstract type.
- *
- * @param at
- * input of any atomic type.
- */
- public void add_abstract_type(String localName, AnyAtomicType at) {
- QName name = new QName(localName);
- name.set_namespace(namespace());
-
- _types.put(name, at);
- }
-
- /**
- * Support for QName interface.
- *
- * @param name
- * variable name.
- * @return type of input variable.
- */
- public AnyAtomicType atomic_type(QName name) {
- return (AnyAtomicType) _types.get(name);
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnAbs.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnAbs.java
deleted file mode 100644
index 49c126d..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnAbs.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper Steen Moeller - bug 285145 - implement full arity checking
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDouble;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSFloat;
-
-import java.util.Collection;
-
-/**
- * Returns the absolute value of $arg. If $arg is negative returns -$arg
- * otherwise returns $arg. If type of $arg is one of the four numeric types
- * xs:float, xs:double, xs:decimal or xs:integer the type of the return is the
- * same as the type of $arg. If the type of $arg is a type derived from one of
- * the numeric types, the type of the return is the base numeric type. For
- * xs:float and xs:double arguments, if the argument is positive zero (+0) or
- * negative zero (-0), then positive zero (+0) is returned. If the argument is
- * positive or negative infinity, positive infinity is returned.
- */
-public class FnAbs extends Function {
- /**
- * Constructor for FnAbs.
- */
- public FnAbs() {
- super(new QName("abs"), 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- // 1 argument only!
- assert args.size() >= min_arity() && args.size() <= max_arity();
-
- ResultSequence argument = (ResultSequence) args.iterator().next();
-
- return fn_abs(argument);
- }
-
- /**
- * Absolute value operation.
- *
- * @param arg
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:abs operation.
- */
- public static ResultSequence fn_abs(ResultSequence arg) throws DynamicError {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- // sanity chex
- NumericType nt = get_single_numeric_arg(arg);
-
- // empty arg
- if (nt == null)
- return rs;
-
- if (nt instanceof XSDouble) {
- XSDouble dat = (XSDouble) nt;
- if (dat.zero() || dat.negativeZero()) {
- rs.add(new XSDouble("0"));
- return rs;
- }
- if (dat.infinite()) {
- rs.add(new XSDouble(Double.POSITIVE_INFINITY));
- return rs;
- }
- }
-
- if (nt instanceof XSFloat) {
- XSFloat dat = (XSFloat) nt;
- if (dat.zero() || dat.negativeZero()) {
- rs.add(new XSFloat((new Float(0)).floatValue()));
- return rs;
- }
- if (dat.infinite()) {
- rs.add(new XSFloat(Float.POSITIVE_INFINITY));
- return rs;
- }
- }
-
-
- rs.add(nt.abs());
- return rs;
- }
-
- /**
- * Obtain numeric value from expression.
- *
- * @param arg
- * input expression.
- * @throws DynamicError
- * Dynamic error.
- * @return Resulting numeric type from the operation.
- */
- public static NumericType get_single_numeric_arg(ResultSequence arg)
- throws DynamicError {
- int size = arg.size();
- if (size > 1)
- DynamicError.throw_type_error();
-
- if (size == 0)
- return null;
-
- AnyType at = arg.first();
-
- if (!(at instanceof NumericType))
- throw DynamicError.invalidType();
-
- return (NumericType) at;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnAdjustDateTimeToTimeZone.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnAdjustDateTimeToTimeZone.java
deleted file mode 100644
index bb978f5..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnAdjustDateTimeToTimeZone.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2010 Standards for Technology in Automotive Retail, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * David Carver - bug 280547 - initial API and implementation.
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.CalendarType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDateTime;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDayTimeDuration;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.GregorianCalendar;
-import java.util.Iterator;
-
-import javax.xml.datatype.DatatypeConfigurationException;
-import javax.xml.datatype.DatatypeFactory;
-import javax.xml.datatype.Duration;
-import javax.xml.datatype.XMLGregorianCalendar;
-
-/**
- * Adjusts an xs:dateTime value to a specific timezone, or to no timezone at
- * all. If <code>$timezone</code> is the empty sequence, returns an
- * <code>xs:dateTime</code> without timezone. Otherwise, returns an
- * <code>xs:dateTime</code> with a timezone.
- */
-public class FnAdjustDateTimeToTimeZone extends Function {
- private static Collection _expected_args = null;
- private static final XSDayTimeDuration minDuration = new XSDayTimeDuration(
- 0, 14, 0, 0, true);
- private static final XSDayTimeDuration maxDuration = new XSDayTimeDuration(
- 0, 14, 0, 0, false);
-
- /**
- * Constructor for FnDateTime.
- */
- public FnAdjustDateTimeToTimeZone() {
- super(new QName("adjust-dateTime-to-timezone"), 1, 2);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return adjustdateTime(args, dynamic_context());
- }
-
- /**
- * Evaluate the function using the arguments passed.
- *
- * @param args
- * Result from the expressions evaluation.
- * @param sc
- * Result of static context operation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of the fn:dateTime operation.
- */
- public static ResultSequence adjustdateTime(Collection args,
- DynamicContext dc) throws DynamicError {
-
- Collection cargs = Function.convert_arguments(args, expectedArgs());
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- // get args
- Iterator argiter = cargs.iterator();
- ResultSequence arg1 = (ResultSequence) argiter.next();
- if (arg1.empty()) {
- return rs;
- }
- ResultSequence arg2 = null;
- if (argiter.hasNext()) {
- arg2 = (ResultSequence) argiter.next();
- }
- XSDateTime dateTime = (XSDateTime) arg1.first();
- XSDayTimeDuration timezone = null;
-
- if (arg2 != null && arg2.empty()) {
- if (dateTime.timezoned()) {
- CalendarType localized = new XSDateTime(dateTime.calendar(), null);
- rs.add(localized);
- return rs;
- } else {
- return arg1;
- }
- } else if (arg2 == null) {
- CalendarType localized = new XSDateTime(dateTime.normalizeCalendar(dateTime.calendar(), dateTime.tz()), null);
- rs.add(localized);
- return rs;
- }
-
- timezone = (XSDayTimeDuration) arg2.first();
- if (timezone.lt(minDuration, dc) || timezone.gt(maxDuration, dc)) {
- throw DynamicError.invalidTimezone();
- }
-
- if (dateTime.tz() == null) {
- rs.add(new XSDateTime(dateTime.calendar(), timezone));
- return rs;
- }
-
- try {
- XMLGregorianCalendar xmlCalendar = DatatypeFactory.newInstance().newXMLGregorianCalendar((GregorianCalendar)dateTime.normalizeCalendar(dateTime.calendar(), dateTime.tz()));
-
- Duration duration = DatatypeFactory.newInstance().newDuration(timezone.string_value());
- xmlCalendar.add(duration);
-
- rs.add(new XSDateTime(xmlCalendar.toGregorianCalendar(), timezone));
-
- } catch (DatatypeConfigurationException e) {
- throw DynamicError.invalidTimezone();
- }
-
- return rs;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expectedArgs() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- _expected_args
- .add(new SeqType(new XSDateTime(), SeqType.OCC_QMARK));
- _expected_args.add(new SeqType(new XSDayTimeDuration(),
- SeqType.OCC_QMARK));
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnAdjustDateToTimeZone.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnAdjustDateToTimeZone.java
deleted file mode 100644
index f46723c..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnAdjustDateToTimeZone.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2010 Standards for Technology in Automotive Retail, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * David Carver - bug 280547 - initial API and implementation.
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDate;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDayTimeDuration;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.GregorianCalendar;
-import java.util.Iterator;
-
-import javax.xml.datatype.DatatypeConfigurationException;
-import javax.xml.datatype.DatatypeFactory;
-import javax.xml.datatype.Duration;
-import javax.xml.datatype.XMLGregorianCalendar;
-
-/**
- * Adjusts an xs:date value to a specific timezone, or to no timezone at
- * all. If <code>$timezone</code> is the empty sequence, returns an
- * <code>xs:date</code> without timezone. Otherwise, returns an
- * <code>xs:date</code> with a timezone.
- */
-public class FnAdjustDateToTimeZone extends Function {
- private static Collection _expected_args = null;
- private static final XSDayTimeDuration minDuration = new XSDayTimeDuration(
- 0, 14, 0, 0, true);
- private static final XSDayTimeDuration maxDuration = new XSDayTimeDuration(
- 0, 14, 0, 0, false);
-
- /**
- * Constructor for FnDateTime.
- */
- public FnAdjustDateToTimeZone() {
- super(new QName("adjust-date-to-timezone"), 1, 2);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return adjustDate(args, dynamic_context());
- }
-
- /**
- * Evaluate the function using the arguments passed.
- *
- * @param args
- * Result from the expressions evaluation.
- * @param sc
- * Result of static context operation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of the fn:dateTime operation.
- */
- public static ResultSequence adjustDate(Collection args,
- DynamicContext dc) throws DynamicError {
-
- Collection cargs = Function.convert_arguments(args, expectedArgs());
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- // get args
- Iterator argiter = cargs.iterator();
- ResultSequence arg1 = (ResultSequence) argiter.next();
- if (arg1.empty()) {
- return rs;
- }
- ResultSequence arg2 = ResultSequenceFactory.create_new();
- if (argiter.hasNext()) {
- arg2 = (ResultSequence) argiter.next();
- }
- XSDate date = (XSDate) arg1.first();
- XSDayTimeDuration timezone = null;
-
- if (arg2.empty()) {
- if (date.timezoned()) {
- XSDate localized = new XSDate(date.calendar(), null);
- rs.add(localized);
- return rs;
- } else {
- return arg1;
- }
- }
-
- timezone = (XSDayTimeDuration) arg2.first();
- if (timezone.lt(minDuration, dc) || timezone.gt(maxDuration, dc)) {
- throw DynamicError.invalidTimezone();
- }
-
- if (date.tz() == null) {
- rs.add(new XSDate(date.calendar(), timezone));
- return rs;
- }
-
- try {
- XMLGregorianCalendar xmlCalendar = DatatypeFactory.newInstance().newXMLGregorianCalendar((GregorianCalendar)date.normalizeCalendar(date.calendar(), date.tz()));
-
- Duration duration = DatatypeFactory.newInstance().newDuration(timezone.string_value());
- xmlCalendar.add(duration);
-
- rs.add(new XSDate(xmlCalendar.toGregorianCalendar(), timezone));
- } catch (DatatypeConfigurationException ex) {
- throw DynamicError.invalidTimezone();
- }
-
- return rs;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expectedArgs() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- _expected_args
- .add(new SeqType(new XSDate(), SeqType.OCC_QMARK));
- _expected_args.add(new SeqType(new XSDayTimeDuration(),
- SeqType.OCC_QMARK));
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnAdjustTimeToTimeZone.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnAdjustTimeToTimeZone.java
deleted file mode 100644
index 720e3f7..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnAdjustTimeToTimeZone.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2010 Standards for Technology in Automotive Retail, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * David Carver - bug 280547 - initial API and implementation.
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDayTimeDuration;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSTime;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.GregorianCalendar;
-import java.util.Iterator;
-
-import javax.xml.datatype.DatatypeConfigurationException;
-import javax.xml.datatype.DatatypeFactory;
-import javax.xml.datatype.Duration;
-import javax.xml.datatype.XMLGregorianCalendar;
-
-/**
- * Adjusts an xs:dateTime value to a specific timezone, or to no timezone at
- * all. If <code>$timezone</code> is the empty sequence, returns an
- * <code>xs:dateTime</code> without timezone. Otherwise, returns an
- * <code>xs:dateTime</code> with a timezone.
- */
-public class FnAdjustTimeToTimeZone extends Function {
- private static Collection _expected_args = null;
- private static final XSDayTimeDuration minDuration = new XSDayTimeDuration(
- 0, 14, 0, 0, true);
- private static final XSDayTimeDuration maxDuration = new XSDayTimeDuration(
- 0, 14, 0, 0, false);
-
- /**
- * Constructor for FnDateTime.
- */
- public FnAdjustTimeToTimeZone() {
- super(new QName("adjust-time-to-timezone"), 1, 2);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return adjustTime(args, dynamic_context());
- }
-
- /**
- * Evaluate the function using the arguments passed.
- *
- * @param args
- * Result from the expressions evaluation.
- * @param sc
- * Result of static context operation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of the fn:dateTime operation.
- */
- public static ResultSequence adjustTime(Collection args,
- DynamicContext dc) throws DynamicError {
-
- Collection cargs = Function.convert_arguments(args, expectedArgs());
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- // get args
- Iterator argiter = cargs.iterator();
- ResultSequence arg1 = (ResultSequence) argiter.next();
- if (arg1.empty()) {
- return rs;
- }
- ResultSequence arg2 = ResultSequenceFactory.create_new();
- if (argiter.hasNext()) {
- arg2 = (ResultSequence) argiter.next();
- }
- XSTime time = (XSTime) arg1.first();
- XSDayTimeDuration timezone = null;
-
- if (arg2.empty()) {
- if (time.timezoned()) {
- XSTime localized = new XSTime(time.calendar(), null);
- rs.add(localized);
- return rs;
- } else {
- return arg1;
- }
- }
-
-
- XMLGregorianCalendar xmlCalendar = null;
-
- try {
- if (time.tz() != null) {
- xmlCalendar = DatatypeFactory.newInstance().newXMLGregorianCalendar((GregorianCalendar)time.normalizeCalendar(time.calendar(), time.tz()));
- } else {
- xmlCalendar = DatatypeFactory.newInstance().newXMLGregorianCalendarTime(time.hour(), time.minute(), (int)time.second(), 0);
- }
-
- timezone = (XSDayTimeDuration) arg2.first();
- if (timezone.lt(minDuration, dc) || timezone.gt(maxDuration, dc)) {
- throw DynamicError.invalidTimezone();
- }
-
- if (time.tz() == null) {
- rs.add(new XSTime(time.calendar(), timezone));
- return rs;
- }
-
- Duration duration = DatatypeFactory.newInstance().newDuration(timezone.string_value());
- xmlCalendar.add(duration);
-
- rs.add(new XSTime(xmlCalendar.toGregorianCalendar(), timezone));
- } catch (DatatypeConfigurationException ex) {
- throw DynamicError.invalidTimezone();
- }
-
- return rs;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expectedArgs() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- _expected_args
- .add(new SeqType(new XSTime(), SeqType.OCC_QMARK));
- _expected_args.add(new SeqType(new XSDayTimeDuration(),
- SeqType.OCC_QMARK));
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnAvg.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnAvg.java
deleted file mode 100644
index df9ba55..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnAvg.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 273760 - wrong namespace for functions and data types
- * David Carver - bug 262765 - fix issue with casting items to XSDouble cast
- * needed to cast to Numeric so that evaluations
- * and formatting occur correctly.
- * - fix fn:avg casting issues and divide by zero issues.
- * Jesper Moller - bug 281028 - fix promotion rules for fn:avg
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDouble;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSFloat;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger;
-import org.eclipse.wst.xml.xpath2.processor.internal.utils.ScalarTypePromoter;
-import org.eclipse.wst.xml.xpath2.processor.internal.utils.TypePromoter;
-
-import java.math.BigInteger;
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- * Returns the average of the values in the input sequence $arg, that is, the
- * sum of the values divided by the number of values.
- */
-public class FnAvg extends Function {
- /**
- * Constructor for FnAvg.
- */
- public FnAvg() {
- super(new QName("avg"), 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return avg(args);
- }
-
- /**
- * Average value operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:avg operation.
- */
- public static ResultSequence avg(Collection args) throws DynamicError {
-
- ResultSequence arg = (ResultSequence)args.iterator().next();
-
- if (arg.empty())
- return ResultSequenceFactory.create_new();
-
- int elems = 0;
-
- MathPlus total = null;
-
- TypePromoter tp = new ScalarTypePromoter();
- tp.considerSequence(arg);
-
- for (Iterator i = arg.iterator(); i.hasNext();) {
- ++elems;
- AnyAtomicType conv = tp.promote((AnyType) i.next());
-
- if (conv instanceof XSDouble && ((XSDouble)conv).nan() || conv instanceof XSFloat && ((XSFloat)conv).nan()) {
- return ResultSequenceFactory.create_new(tp.promote(new XSFloat(Float.NaN)));
- }
- if (total == null) {
- total = (MathPlus)conv;
- } else {
- total = (MathPlus)total.plus(ResultSequenceFactory.create_new(conv)).first();
- }
- }
-
- if (!(total instanceof MathDiv))
- DynamicError.throw_type_error();
-
- return ((MathDiv)total).div(ResultSequenceFactory.create_new(new XSInteger(BigInteger.valueOf(elems))));
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnBaseUri.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnBaseUri.java
deleted file mode 100644
index 93256a3..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnBaseUri.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug274725 - implementation of base-uri function
- * Jesper Steen Moeller - bug 285145 - implement full arity checking
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSAnyURI;
-import org.w3c.dom.Node;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-/**
- * Returns the value of the base-uri property for $arg as defined by the
- * accessor function dm:base-uri() for that kind of node in Section 5.1 base-uri
- * Accessor of the specification. If $arg is the empty sequence, the empty
- * sequence is returned. Document, element and processing-instruction nodes have
- * a base-uri property which may be empty. The base-uri property of all other
- * node types is the empty sequence. The value of the base-uri property is
- * returned if it exists and is not empty. Otherwise, if the node has a parent,
- * the value of dm:base-uri() applied to its parent is returned, recursively. If
- * the node does not have a parent, or if the recursive ascent up the ancestor
- * chain encounters a node whose base-uri property is empty and it does not have
- * a parent, the empty sequence is returned.
- */
-public class FnBaseUri extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnBaseUri.
- */
- public FnBaseUri() {
- super(new QName("base-uri"), 0, 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return base_uri(args, dynamic_context());
- }
-
- /**
- * Base-Uri operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @param d_context
- * Dynamic context
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:base-uri operation.
- */
- public static ResultSequence base_uri(Collection args, DynamicContext d_context)
- throws DynamicError {
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- ResultSequence rs = null;
-
- if (cargs.size() == 0) {
- // support for arity 0
- // get base-uri from the context item.
- AnyType contextItem = d_context.context_item();
- if (contextItem != null) {
- rs = getBaseUri(contextItem);
- }
- else {
- throw DynamicError.contextUndefined();
- }
- }
- else if (cargs.size() == 1) {
- // support for arity 1
- ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
- AnyType att = arg1.first();
-
- rs = getBaseUri(att);
- }
- else {
- // arity other than 0 or 1 is not allowed
- throw DynamicError.throw_type_error();
- }
-
- return rs;
- }
-
- /*
- * Helper function for base-uri support
- */
- public static ResultSequence getBaseUri(AnyType att) {
- ResultSequence rs = ResultSequenceFactory.create_new();
- XSAnyURI baseUri = null;
- // depending on the node type, we get the base-uri for the node.
- // if base-uri property in DOM is null, we set the base-uri as string "null". This
- // avoids null pointer exception while comparing xs:anyURI values.
-
- if (att instanceof NodeType) {
- NodeType node = (NodeType) att;
- Node domNode = node.node_value();
- String buri = domNode.getBaseURI();
- if (buri != null) {
- baseUri = new XSAnyURI(buri);
- } else {
- baseUri = new XSAnyURI("null");
- }
- }
-
- if (baseUri != null) {
- rs.add(baseUri);
- }
-
- return rs;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- _expected_args.add(new SeqType(SeqType.OCC_QMARK));
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnBoolean.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnBoolean.java
deleted file mode 100644
index dfefad6..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnBoolean.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper Steen Moeller - bug 285145 - implement full arity checking
- * Jesper Steen Moller - bug 262765 - use correct 'effective boolean value'
- * David Carver (STAR) - bug 262765 - fix checking of data types.
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.CalendarType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSBoolean;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDouble;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSFloat;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSString;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSUntypedAtomic;
-
-import java.util.Collection;
-
-/**
- * Computes the effective boolean value of the sequence $arg. If $arg is the
- * empty sequence, returns false. If $arg contains a single atomic value, then
- * the function returns false if $arg is: - The singleton xs:boolean value
- * false. - The singleton value "" (zero-length string) of type xs:string or
- * xdt:untypedAtomic. - A singleton numeric value that is numerically equal to
- * zero. - The singleton xs:float or xs:double value NaN. In all other cases,
- * returns true.
- */
-public class FnBoolean extends Function {
- /**
- * Constructor for FnBoolean.
- */
- public FnBoolean() {
- super(new QName("boolean"), 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- // 1 argument only!
- assert args.size() >= min_arity() && args.size() <= max_arity();
-
- ResultSequence argument = (ResultSequence) args.iterator().next();
-
- return ResultSequenceFactory.create_new(fn_boolean(argument));
- }
-
- private static final XSBoolean TRUE = new XSBoolean(true);
-
- private static final XSBoolean FALSE = new XSBoolean(false);
-
- /**
- * Boolean operation.
- *
- * @param arg
- * Result from the expressions evaluation.
- * @return Result of fn:boolean operation.
- * @throws DynamicError
- */
- public static XSBoolean fn_boolean(ResultSequence arg) throws DynamicError {
- if (arg.empty())
- return FALSE;
-
- AnyType at = arg.first();
-
- if (at instanceof CalendarType) {
- throw DynamicError.throw_type_error();
- }
-
-
- if (at instanceof NodeType)
- return TRUE;
-
- if (arg.size() > 1)
- throw DynamicError.throw_type_error();
-
- // XXX ??
- if (!(at instanceof AnyAtomicType))
- return TRUE;
-
- // ok we got 1 single atomic type element
-
- if (at instanceof XSBoolean) {
- if (!((XSBoolean) at).value())
- return FALSE;
- }
-
- if ((at instanceof XSString) || (at instanceof XSUntypedAtomic)) {
- if (at.string_value().equals(""))
- return FALSE;
- }
-
- if (at instanceof NumericType) {
- if (((NumericType) at).zero())
- return FALSE;
- }
-
- if ((at instanceof XSFloat) && (((XSFloat) at).nan()))
- return FALSE;
-
- if ((at instanceof XSDouble) && (((XSDouble) at).nan()))
- return FALSE;
-
-
- return TRUE;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCeiling.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCeiling.java
deleted file mode 100644
index fc8e6eb..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCeiling.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper Steen Moeller - bug 285145 - implement full arity checking
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-import java.util.Collection;
-
-/**
- * Returns the smallest (closest to negative infinity) number with no fractional
- * part that is not less than the value of $arg. If type of $arg is one of the
- * four numeric types xs:float, xs:double, xs:decimal or xs:integer the type of
- * the return is the same as the type of $arg. If the type of $arg is a type
- * derived from one of the numeric types, the type of the return is the base
- * numeric type. For xs:float and xs:double arguments, if the argument is
- * positive zero (+0), then positive zero (+0) is returned. If the argument is
- * negative zero (-0), then negative zero (-0) is returned. If the argument is
- * less than zero (0), negative zero (-0) is returned.
- */
-public class FnCeiling extends Function {
- /**
- * Constructor for FnCeiling.
- */
- public FnCeiling() {
- super(new QName("ceiling"), 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- // 1 argument only!
- assert args.size() >= min_arity() && args.size() <= max_arity();
-
- ResultSequence argument = (ResultSequence) args.iterator().next();
-
- return fn_ceiling(argument);
- }
-
- /**
- * Ceiling value operation.
- *
- * @param arg
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:ceiling operation.
- */
- public static ResultSequence fn_ceiling(ResultSequence arg)
- throws DynamicError {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- // sanity chex
- NumericType nt = FnAbs.get_single_numeric_arg(arg);
-
- // empty arg
- if (nt == null)
- return rs;
-
- rs.add(nt.ceiling());
- return rs;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCodepointEqual.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCodepointEqual.java
deleted file mode 100644
index 6f5a61f..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCodepointEqual.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2010 Jesper Steen Moller, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Jesper Steen Moller - initial API and implementation
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSBoolean;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSString;
-
-import java.math.BigInteger;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- *
- * <p>
- * String comparison function.
- * </p>
- *
- * <p>
- * Usage: fn:codepoint-equal($comparand1 as xs:string?,
- * $comparand2 as xs:string?) as xs:boolean?
- * </p>
- *
- * <p>
- * Returns true or false depending on whether the value of $comparand1 is equal
- * to the value of $comparand2, according to the Unicode code point collation
- * (http://www.w3.org/2005/xpath-functions/collation/codepoint).
- * </p>
- *
- * <p>
- * If either argument is the empty sequence, the result is the empty sequence.
- * </p>
- *
- */
-public class FnCodepointEqual extends Function {
-
- private static Collection _expected_args = null;
-
- /**
- * Constructor of FnCodepointEqual.
- */
- public FnCodepointEqual() {
- super(new QName("codepoint-equal"), 2);
- }
-
- /**
- * Evaluate the arguments.
- *
- * @param args
- * is evaluated.
- * @throws DynamicError
- * Dynamic error.
- * @return The evaluation of the comparison of the arguments.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return codepoint_equals(args, dynamic_context());
- }
-
- /**
- * Compare the arguments as codepoints
- *
- * @param args
- * are compared.
- * @param dynamicContext
- * The current dynamic context
- * @throws DynamicError
- * Dynamic error.
- * @return The result of the comparison of the arguments.
- */
- public static ResultSequence codepoint_equals(Collection args, DynamicContext dynamicContext) throws DynamicError {
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- Iterator argiter = cargs.iterator();
- ResultSequence arg1 = (ResultSequence) argiter.next();
- XSString xstr1 = arg1.empty() ? null : (XSString) arg1.first();
-
- ResultSequence arg2 = (ResultSequence) argiter.next();
- XSString xstr2 = arg2.empty() ? null : (XSString) arg2.first();
-
- // This delegates to FnCompare
- BigInteger result = FnCompare.compare_string(DynamicContext.CODEPOINT_COLLATION, xstr1, xstr2, dynamicContext);
- if (result != null) rs.add(new XSBoolean(BigInteger.ZERO.equals(result)));
-
- return rs;
- }
-
- /**
- * Calculate the expected arguments.
- *
- * @return The expected arguments.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- SeqType arg = new SeqType(new XSString(), SeqType.OCC_QMARK);
- _expected_args.add(arg);
- _expected_args.add(arg);
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCodepointsToString.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCodepointsToString.java
deleted file mode 100644
index 1c41a8d..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCodepointsToString.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - improvements to the function implementation
- * David Carver - bug 282096 - improvements for surrogate handling
- * Jesper Steen Moeller - bug 282096 - clean up string storage
- * Jesper Steen Moeller - bug 280553 - further checks of legal Unicode codepoints.
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSString;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-
-import com.ibm.icu.text.UTF16;
-
-/**
- * Creates an xs:string from a sequence of code points. Returns the zero-length
- * string if $arg is the empty sequence. If any of the code points in $arg is
- * not a legal XML character, an error is raised [err:FOCH0001].
- */
-public class FnCodepointsToString extends Function {
- private static Collection _expected_args = null;
-
- /**
- * The maximum value of a Unicode code point.
- */
- public static final int MIN_LEGAL_CODEPOINT = 0x1;
-
-
- /**
- * The maximum value of a Unicode code point.
- */
- public static final int MAX_LEGAL_CODEPOINT = 0x10ffff;
-
- /**
- * Constructor for FnCodepointsToString.
- */
- public FnCodepointsToString() {
- super(new QName("codepoints-to-string"), 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return codepoints_to_string(args);
- }
-
- /**
- * Codepoints to string operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:codepoints-to-string operation.
- */
- public static ResultSequence codepoints_to_string(Collection args)
- throws DynamicError {
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
- if (arg1.empty()) {
- rs.add(new XSString(""));
- return rs;
- }
-
- int[] codePointArray = new int[arg1.size()];
- int codePointIndex = 0;
- for (Iterator i = arg1.iterator(); i.hasNext();) {
- XSInteger code = (XSInteger) i.next();
-
- int codepoint = code.int_value().intValue();
- if (codepoint < MIN_LEGAL_CODEPOINT || codepoint > MAX_LEGAL_CODEPOINT) {
- throw DynamicError.unsupported_codepoint("U+" + Integer.toString(codepoint, 16).toUpperCase());
- }
-
- codePointArray[codePointIndex] = codepoint;
- codePointIndex++;
- }
-
- try {
- String str = UTF16.newString(codePointArray, 0, codePointArray.length);
- rs.add(new XSString(str));
- } catch (IllegalArgumentException iae) {
- // This should be duoble checked above, but rather safe than sorry
- throw DynamicError.unsupported_codepoint(iae.getMessage());
- }
-
- return rs;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- _expected_args.add(new SeqType(new XSInteger(), SeqType.OCC_STAR));
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCollection.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCollection.java
deleted file mode 100644
index bcf8742..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCollection.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper Steen Moller - bug 281159 - fix document loading and resolving URIs
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.DocType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSString;
-import org.w3c.dom.Document;
-
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-
-/**
- * Summary: This function takes an xs:string as argument and returns a sequence
- * of nodes obtained by interpreting $arg as an xs:anyURI and resolving it
- * according to the mapping specified in Available collections described in
- * Section C.2 Dynamic Context Components. If Available collections provides a
- * mapping from this string to a sequence of nodes, the function returns that
- * sequence. If Available collections maps the string to an empty sequence,
- * then the function returns an empty sequence. If Available collections
- * provides no mapping for the string, an error is raised [err:FODC0004]. If
- * $arg is not specified, the function returns the sequence of the nodes in the
- * default collection in the dynamic context. See Section C.2 Dynamic Context
- * ComponentsXP. If the value of the default collection is undefined an error
- * is raised [err:FODC0002].
- *
- * If the $arg is a relative xs:anyURI, it is resolved against the value of the
- * base-URI property from the static context. If $arg is not a valid xs:anyURI,
- * an error is raised [err:FODC0004].
- *
- * If $arg is the empty sequence, the function behaves as if it had been called
- * without an argument. See above.
- *
- * By default, this function is ·stable·. This means that repeated calls on the
- * function with the same argument will return the same result. However, for
- * performance reasons, implementations may provide a user option to evaluate
- * the function without a guarantee of stability. The manner in which any such
- * option is provided is ·implementation-defined·. If the user has not selected
- * such an option, a call to this function must either return a stable result or
- * must raise an error: [err:FODC0003].
- */
-public class FnCollection extends Function {
- private static Collection _expected_args = null;
-
- public static final String DEFAULT_COLLECTION_URI = "http://www.w3.org/2005/xpath-functions/collection/default";
-
- /**
- * Constructor for FnDoc.
- */
- public FnCollection() {
- super(new QName("collection"), 0, 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return collection(args, dynamic_context());
- }
-
- /**
- * Doc operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @param dc
- * Result of dynamic context operation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:doc operation.
- */
- public static ResultSequence collection(Collection args, DynamicContext dc)
- throws DynamicError {
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- // get args
- Iterator argiter = cargs.iterator();
- ResultSequence arg1 = null;
- ResultSequence rs = ResultSequenceFactory.create_new();
- if (argiter.hasNext()) {
- arg1 = (ResultSequence) argiter.next();
- } else {
- return getCollection(DEFAULT_COLLECTION_URI, dc);
- }
-
-
- if (arg1.empty())
- return ResultSequenceFactory.create_new();
-
- String uri = ((XSString) arg1.first()).value();
-
-
- try {
- new URI(uri);
- } catch (URISyntaxException ex) {
- throw DynamicError.doc_not_found(null);
- }
-
- if (uri.indexOf(":") < 0) {
- throw DynamicError.invalidCollectionArgument();
- }
-
-
- URI resolved = dc.resolve_uri(uri);
- if (resolved == null)
- throw DynamicError.invalid_doc(null);
-
- rs = getCollection(uri, dc);
- if (rs.empty())
- throw DynamicError.doc_not_found(null);
-
- return rs;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- SeqType arg = new SeqType(new XSString(), SeqType.OCC_QMARK);
- _expected_args.add(arg);
- }
-
- return _expected_args;
- }
-
- private static ResultSequence getCollection(String uri, DynamicContext dc) {
- ResultSequence rs = ResultSequenceFactory.create_new();
- Map collectionMap = dc.get_collections();
- List docList = (List)collectionMap.get(uri);
- for (int i = 0; i < docList.size(); i++) {
- Document doc = (Document)docList.get(i);
- rs.add(new DocType(doc));
- }
- return rs;
-
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCompare.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCompare.java
deleted file mode 100644
index 739448c..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCompare.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper Steen Moeller - bug 285145 - implement full arity checking
- * Jesper Steen Moeller - bug 280555 - Add pluggable collation support
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSString;
-
-import java.math.BigInteger;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Comparator;
-import java.util.Iterator;
-
-/**
- *
- * <p>
- * String comparison function.
- * </p>
- *
- * <p>
- * Usage: fn:compare($comparand1 as xs:string?, $comparand2 as xs:string?) as
- * xs:integer?
- * </p>
- *
- * <p>
- * This class returns -1, 0, or 1, depending on whether the value of $comparand1
- * is respectively less than, equal to, or greater than the value of
- * $comparand2.
- * </p>
- *
- * <p>
- * If the value of $comparand2 begins with a string that is equal to the value
- * of $comparand1 (according to the collation that is used) and has additional
- * code points following that beginning string, then the result is -1. If the
- * value of $comparand1 begins with a string that is equal to the value of
- * $comparand2 and has additional code points following that beginning string,
- * then the result is 1.
- * </p>
- *
- * <p>
- * If either argument is the empty sequence, the result is the empty sequence.
- * </p>
- */
-public class FnCompare extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor of FnCompare.
- */
- public FnCompare() {
- super(new QName("compare"), 2, 3);
- }
-
- /**
- * Evaluate the arguments.
- *
- * @param args
- * is evaluated.
- * @throws DynamicError
- * Dynamic error.
- * @return The evaluation of the comparison of the arguments.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return compare(args, dynamic_context());
- }
-
- /**
- * Compare the arguments.
- *
- * @param args
- * are compared (optional 3rd argument is the collation)
- * @param dynamicContext
- * Current dynamic context
- * @throws DynamicError
- * Dynamic error.
- * @return The result of the comparison of the arguments.
- */
- public static ResultSequence compare(Collection args, DynamicContext dynamicContext) throws DynamicError {
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- Iterator argiter = cargs.iterator();
- ResultSequence arg1 = (ResultSequence) argiter.next();
- ResultSequence arg2 = (ResultSequence) argiter.next();
-
- String collationUri = dynamicContext.default_collation_name();
- if (argiter.hasNext()) {
- ResultSequence collArg = (ResultSequence) argiter.next();
- collationUri = collArg.first().string_value();
- }
-
- XSString xstr1 = arg1.empty() ? null : (XSString) arg1.first();
- XSString xstr2 = arg2.empty() ? null : (XSString) arg2.first();
-
- BigInteger result = compare_string(collationUri, xstr1, xstr2, dynamicContext);
- if (result != null) {
- return ResultSequenceFactory.create_new(new XSInteger(result));
- } else {
- return ResultSequenceFactory.create_new();
- }
- }
-
- public static BigInteger compare_string(String collationUri, XSString xstr1,
- XSString xstr2, DynamicContext dynamicContext) throws DynamicError {
- Comparator collator = dynamicContext.get_collation(collationUri);
- if (collator == null) throw DynamicError.unsupported_collation(collationUri);
-
- if (xstr1 == null || xstr2 == null) return null;
-
- int ret = collator.compare(xstr1.value(), xstr2.value());
-
- if (ret == 0)
- return BigInteger.ZERO;
- else if (ret < 0)
- return BigInteger.valueOf(-1);
- else
- return BigInteger.ONE;
- }
-
- /**
- * Calculate the expected arguments.
- *
- * @return The expected arguments.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- SeqType arg = new SeqType(new XSString(), SeqType.OCC_QMARK);
- _expected_args.add(arg);
- _expected_args.add(arg);
- _expected_args.add(new SeqType(new XSString(), SeqType.OCC_NONE));
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnConcat.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnConcat.java
deleted file mode 100644
index 7107084..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnConcat.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper Steen Moeller - bug 285145 - implement full arity checking
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSString;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- * <p>
- * Sequence concatenation function.
- * </p>
- *
- * <p>
- * Usage: fn:concat($arg1 as xdt:anyAtomicType?, $arg2 as xdt:anyAtomicType?,
- * ... ) as xs:string
- * </p>
- *
- * <p>
- * This class accepts two or more xdt:anyAtomicType arguments and converts them
- * to xs:string. It then returns the xs:string that is the concatenation of the
- * values of its arguments after conversion. If any of the arguments is the
- * empty sequence, the argument is treated as the zero-length string.
- * </p>
- *
- * <p>
- * The concat() function is specified to allow an arbitrary number of arguments
- * that are concatenated together.
- * </p>
- */
-public class FnConcat extends Function {
-
- /**
- * Constructor for FnConcat.
- */
- public FnConcat() {
- super(new QName("concat"), 2, Integer.MAX_VALUE);
- }
-
- /**
- * Evaluate the arguments.
- *
- * @param args
- * is evaluated.
- * @throws DynamicError
- * Dynamic error.
- * @return The evaluation of the concatenation of the arguments.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return concat(args);
- }
-
- /**
- * Concatenate the arguments.
- *
- * @param args
- * are concatenated.
- * @throws DynamicError
- * Dynamic error.
- * @return The result of the concatenation of the arguments.
- */
- public static ResultSequence concat(Collection args) throws DynamicError {
-
- // sanity check
- if (args.size() < 2)
- DynamicError.throw_type_error();
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- String result = "";
-
- // go through args
- StringBuffer buf = new StringBuffer();
- for (Iterator argi = args.iterator(); argi.hasNext();) {
- ResultSequence arg = (ResultSequence) argi.next();
-
- int size = arg.size();
-
- // sanity check
- if (size > 1)
- DynamicError.throw_type_error();
-
- if (size == 0) {
- continue;
- }
-
- AnyType at = arg.first();
-
- buf.append(at.string_value());
-
- }
- result = buf.toString();
-
- rs.add(new XSString(result));
-
- return rs;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnContains.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnContains.java
deleted file mode 100644
index 57cb578..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnContains.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * David Carver - STAR - bug 262765 - check for empty string in second arg before first.
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSBoolean;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSString;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- * Returns an xs:boolean indicating whether or not the value of $arg1 contains
- * (at the beginning, at the end, or anywhere within) at least one sequence of
- * collation units that provides a minimal match to the collation units in the
- * value of $arg2, according to the collation that is used.
- */
-public class FnContains extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnContains.
- */
- public FnContains() {
- super(new QName("contains"), 2);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return contains(args);
- }
-
- /**
- * Contains operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:contains operation.
- */
- public static ResultSequence contains(Collection args) throws DynamicError {
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- // get args
- Iterator argiter = cargs.iterator();
- ResultSequence arg1 = (ResultSequence) argiter.next();
- String str1 = "";
- String str2 = "";
- if (!arg1.empty())
- str1 = ((XSString) arg1.first()).value();
-
- ResultSequence arg2 = (ResultSequence) argiter.next();
- if (!arg2.empty())
- str2 = ((XSString) arg2.first()).value();
-
- int str1len = str1.length();
- int str2len = str2.length();
-
- if (str2len == 0) {
- rs.add(new XSBoolean(true));
- return rs;
- }
-
- if (str1len == 0) {
- rs.add(new XSBoolean(false));
- return rs;
- }
-
- if (str1.indexOf(str2) == -1)
- rs.add(new XSBoolean(false));
- else
- rs.add(new XSBoolean(true));
-
- return rs;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- SeqType arg = new SeqType(new XSString(), SeqType.OCC_QMARK);
- _expected_args.add(arg);
- _expected_args.add(arg);
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCount.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCount.java
deleted file mode 100644
index 285231c..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCount.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger;
-
-import java.math.BigInteger;
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- * Returns the number of items in the value of $arg. Returns 0 if $arg is the
- * empty sequence.
- */
-public class FnCount extends Function {
- /**
- * Constructor for FnCount.
- */
- public FnCount() {
- super(new QName("count"), 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return count(args);
- }
-
- /**
- * Count operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:count operation.
- */
- public static ResultSequence count(Collection args) throws DynamicError {
-
- assert args.size() == 1;
-
- // get args
- Iterator citer = args.iterator();
- ResultSequence arg = (ResultSequence) citer.next();
-
- return ResultSequenceFactory.create_new(new XSInteger(BigInteger.valueOf(arg.size())));
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCurrentDate.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCurrentDate.java
deleted file mode 100644
index 48e32d3..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCurrentDate.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper S Moller - bug 286452 - always return the stable date/time from dynamic context
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDate;
-
-import java.util.Collection;
-
-/**
- * Returns xs:date(fn:current-dateTime()). This is a xs:date (with timezone)
- * that is current at some time during the evaluation of a query or
- * transformation in which fn:current-date() is executed. This function is
- * stable. The precise i instant during the query or transformation represented
- * by the value of fn:current-date() is implementation dependent.
- */
-public class FnCurrentDate extends Function {
- /**
- * Constructor for FnCurrentDate.
- */
- public FnCurrentDate() {
- super(new QName("current-date"), 0);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return current_date(args, dynamic_context());
- }
-
- /**
- * Current-Date operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @param dc
- * Result of dynamic context operation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:current-date operation.
- */
- public static ResultSequence current_date(Collection args, DynamicContext dc)
- throws DynamicError {
- assert args.size() == 0;
-
- AnyType res = new XSDate(dc.current_date_time(), dc.tz());
-
- return ResultSequenceFactory.create_new(res);
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCurrentDateTime.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCurrentDateTime.java
deleted file mode 100644
index e296473..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCurrentDateTime.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper S Moller - bug 286452 - always return the stable date/time from dynamic context
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDateTime;
-
-import java.util.Collection;
-
-/**
- * Returns the xs:dateTime (with timezone) from the dynamic context. (See
- * Section C.2 Dynamic Context ComponentsXP.) This is a xs:dateTime that is
- * current at some time during the evaluation of a query or transformation in
- * which fn:current-dateTime() is executed. This function is stable. The precise
- * instant during the query or transformation represented by the value of
- * fn:current-dateTime() is implementation dependent.
- */
-public class FnCurrentDateTime extends Function {
- /**
- * Constructor for FnCurrentDateTime.
- */
- public FnCurrentDateTime() {
- super(new QName("current-dateTime"), 0);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return current_dateTime(args, dynamic_context());
- }
-
- /**
- * Current-Date-Time operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @param dc
- * Result of dynamic context operation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:current-dateTime operation.
- */
- public static ResultSequence current_dateTime(Collection args,
- DynamicContext dc) throws DynamicError {
- assert args.size() == 0;
-
- AnyType res = new XSDateTime(dc.current_date_time(), dc.tz());
-
- return ResultSequenceFactory.create_new(res);
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCurrentTime.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCurrentTime.java
deleted file mode 100644
index 1b892c9..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnCurrentTime.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper S Moller - bug 286452 - always return the stable date/time from dynamic context
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSTime;
-
-import java.util.Collection;
-
-/**
- * Returns xs:time(fn:current-dateTime()). This is a xs:time (with timezone) that
- * is current at some time during the evaluation of a query or transformation in
- * which fn:current-time() is executed. This function is stable. The precise
- * instant during the query or transformation represented by the value of
- * fn:current-time() is implementation dependent.
- */
-public class FnCurrentTime extends Function {
- /**
- * Constructor for FnCurrentTime.
- */
- public FnCurrentTime() {
- super(new QName("current-time"), 0);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return current_time(args, dynamic_context());
- }
-
- /**
- * Current-Time operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @param dc
- * Result of dynamic context operation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:current-time operation.
- */
- public static ResultSequence current_time(Collection args, DynamicContext dc)
- throws DynamicError {
- assert args.size() == 0;
-
- AnyType res = new XSTime(dc.current_date_time(), dc.tz());
-
- return ResultSequenceFactory.create_new(res);
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnData.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnData.java
deleted file mode 100644
index 382a41d..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnData.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 276134 - improvements to schema aware primitive type support
- * for attribute/element nodes
- * Jesper Steen Moeller - bug 285145 - implement full arity checking
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.ListIterator;
-
-/**
- * fn:data takes a sequence of items and returns a sequence of atomic values.
- * The result of fn:data is the sequence of atomic values produced by applying
- * the following rules to each item in $arg: - If the item is an atomic value,
- * it is returned. - If the item is a node, fn:data() returns the typed value of
- * the node as defined by the accessor function dm:typed-value in Section 5.6
- * typed-value Accessor in the specification.
- */
-public class FnData extends Function {
- /**
- * Constructor for FnData.
- */
- public FnData() {
- super(new QName("data"), 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) {
- // 1 argument only!
- assert args.size() >= min_arity() && args.size() <= max_arity();
-
- ResultSequence argument = (ResultSequence) args.iterator().next();
-
- return atomize(argument);
- }
-
- /**
- * Atomize a ResultSequnce argument expression.
- *
- * @param arg
- * input expression.
- * @return Result of operation.
- */
- public static ResultSequence atomize(ResultSequence arg) {
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- for (Iterator i = arg.iterator(); i.hasNext();) {
- AnyType at = (AnyType) i.next();
-
- if (at instanceof AnyAtomicType) {
- rs.add(at);
- }
- else if (at instanceof NodeType) {
- NodeType nt = (NodeType) at;
- rs.concat(nt.typed_value());
- } else {
- assert false;
- }
- }
-
- return rs;
- }
-
- /**
- * Atomize a ResultSequnce argument expression.
- *
- * @param arg
- * input expression.
- */
- public static void fast_atomize(ResultSequence arg) {
- for (ListIterator i = arg.iterator(); i.hasNext();) {
- AnyType at = (AnyType) i.next();
-
- if (at instanceof AnyAtomicType) {
- continue;
- }
-
- // XXX prolly wrong!
- else if (at instanceof NodeType) {
- NodeType nt = (NodeType) at;
-
- i.set(nt.typed_value().first());
- } else
- assert false;
- }
- }
-
- /**
- * Atomize argument expression of any type.
- *
- * @param arg
- * input expression.
- * @return Result of operation.
- */
- public static AnyType atomize(AnyType arg) {
- if (arg instanceof AnyAtomicType)
- return arg;
- else if (arg instanceof NodeType) {
- NodeType nt = (NodeType) arg;
-
- return nt.typed_value().first();
- } else {
- assert false;
- return null;
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDateTime.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDateTime.java
deleted file mode 100644
index 81084a7..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDateTime.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2010 Mukul Gandhi, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Mukul Gandhi - bug 281822 - initial API and implementation
- * David Carver - bug 282223 - implementation of xs:duration
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.StaticContext;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDate;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDateTime;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSTime;
-
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- * A special constructor function for constructing a xs:dateTime value from a xs:date
- * value and a xs:time value.
- * ref: Section 5.2 of the F&O spec, http://www.w3.org/TR/xpath-functions/.
- */
-public class FnDateTime extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnDateTime.
- */
- public FnDateTime() {
- super(new QName("dateTime"), 2);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return dateTime(args, static_context());
- }
-
- /**
- * Evaluate the function using the arguments passed.
- *
- * @param args
- * Result from the expressions evaluation.
- * @param sc
- * Result of static context operation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of the fn:dateTime operation.
- */
- public static ResultSequence dateTime(Collection args, StaticContext sc)
- throws DynamicError {
-
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- // get args
- Iterator argiter = cargs.iterator();
- ResultSequence arg1 = (ResultSequence) argiter.next();
- ResultSequence arg2 = (ResultSequence) argiter.next();
- XSDate param1 = (XSDate)arg1.first();
- XSTime param2 = (XSTime)arg2.first();
-
- // if either of the parameter is an empty sequence, the result
- // is an empty sequence
- if (param1 == null || param2 == null) {
- return rs;
- }
-
- Calendar cal = Calendar.getInstance();
- cal.set(param1.year(), param1.month() - 1, param1.day());
- cal.set(Calendar.HOUR_OF_DAY, param2.hour());
- cal.set(Calendar.MINUTE, param2.minute());
- cal.set(Calendar.SECOND, (new Double(Math.floor(param2.second())).intValue()));
- cal.set(Calendar.MILLISECOND, 0);
-
- XSDuration dateTimeZone = param1.tz();
- XSDuration timeTimeZone = param2.tz();
- if ((dateTimeZone != null && timeTimeZone != null) &&
- !dateTimeZone.string_value().equals(timeTimeZone.string_value())) {
- // it's an error, if the arguments have different timezones
- throw DynamicError.inconsistentTimeZone();
- } else if (dateTimeZone == null && timeTimeZone != null) {
- rs.add(new XSDateTime(cal, timeTimeZone));
- } else if (dateTimeZone != null && timeTimeZone == null) {
- rs.add(new XSDateTime(cal, dateTimeZone));
- }
- else if ((dateTimeZone != null && timeTimeZone != null) &&
- dateTimeZone.string_value().equals(timeTimeZone.string_value())) {
- rs.add(new XSDateTime(cal, dateTimeZone));
- }
- else {
- rs.add(new XSDateTime(cal, null));
- }
-
- return rs;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- _expected_args.add(new SeqType(new XSDate(), SeqType.OCC_QMARK));
- _expected_args.add(new SeqType(new XSTime(), SeqType.OCC_QMARK));
- }
-
- return _expected_args;
- }
-}
-
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDayFromDate.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDayFromDate.java
deleted file mode 100644
index 4fd8a03..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDayFromDate.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDate;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger;
-
-import java.math.BigInteger;
-import java.util.ArrayList;
-import java.util.Collection;
-
-/**
- * Returns an xs:integer between 1 and 31, both inclusive, representing the day
- * component in the localized value of $arg. If $arg is the empty sequence,
- * returns the empty sequence.
- */
-public class FnDayFromDate extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnDayFromDate.
- */
- public FnDayFromDate() {
- super(new QName("day-from-date"), 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return day_from_date(args);
- }
-
- /**
- * Day-From-Date operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:day-from-date operation.
- */
- public static ResultSequence day_from_date(Collection args)
- throws DynamicError {
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg1.empty()) {
- return rs;
- }
-
- XSDate dt = (XSDate) arg1.first();
-
- int res = dt.day();
-
- rs.add(new XSInteger(BigInteger.valueOf(res)));
-
- return rs;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- _expected_args.add(new SeqType(new XSDate(), SeqType.OCC_QMARK));
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDayFromDateTime.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDayFromDateTime.java
deleted file mode 100644
index 0b5c5a7..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDayFromDateTime.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDateTime;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger;
-
-import java.math.BigInteger;
-import java.util.ArrayList;
-import java.util.Collection;
-
-/**
- * Returns an xs:integer between 1 and 31, both inclusive, representing the day
- * component in the localized value of $arg. If $arg is the empty sequence,
- * returns the empty sequence.
- */
-public class FnDayFromDateTime extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnDayFromDateTime.
- */
- public FnDayFromDateTime() {
- super(new QName("day-from-dateTime"), 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return day_from_date_time(args);
- }
-
- /**
- * Day-From-DateTime operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:day-from-datetime operation.
- */
- public static ResultSequence day_from_date_time(Collection args)
- throws DynamicError {
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg1.empty()) {
- return rs;
- }
-
- XSDateTime dt = (XSDateTime) arg1.first();
-
- int res = dt.day();
-
- rs.add(new XSInteger(BigInteger.valueOf(res)));
-
- return rs;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- _expected_args
- .add(new SeqType(new XSDateTime(), SeqType.OCC_QMARK));
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDaysFromDuration.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDaysFromDuration.java
deleted file mode 100644
index 0971648..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDaysFromDuration.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 273760 - wrong namespace for functions and data types
- * David Carver - bug 282223 - implementation of xs:duration.
- * David Carver (STAR) - bug 262765 - fixed expected xs:duration argument.
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger;
-
-import java.math.BigInteger;
-import java.util.ArrayList;
-import java.util.Collection;
-
-/**
- * Returns an xs:integer representing the days component in the canonical
- * lexical representation of the value of $arg. The result may be negative. If
- * $arg is the empty sequence, returns the empty sequence.
- */
-public class FnDaysFromDuration extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnDaysFromDuration.
- */
- public FnDaysFromDuration() {
- super(new QName("days-from-duration"), 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return days_from_duration(args);
- }
-
- /**
- * Days-From-Duration operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:days-from-duration operation.
- */
- public static ResultSequence days_from_duration(Collection args)
- throws DynamicError {
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg1.empty()) {
- return rs;
- }
-
- XSDuration dtd = (XSDuration) arg1.first();
-
- int res = dtd.days();
-
- if (dtd.negative())
- res *= -1;
-
- rs.add(new XSInteger(BigInteger.valueOf(res)));
-
- return rs;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- _expected_args.add(new SeqType(new XSDuration(),
- SeqType.OCC_QMARK));
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDeepEqual.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDeepEqual.java
deleted file mode 100644
index 51c1007..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDeepEqual.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper Moller - bug 280555 - Add pluggable collation support
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.math.BigInteger;
-import java.util.*;
-import org.w3c.dom.*;
-
-/**
- * The function assesses whether two sequences are deep-equal to each other. To
- * be deep-equal, they must contain items that are pairwise deep-equal; and for
- * two items to be deep-equal, they must either by atomic values that compare
- * equal, or nodes of the same kind, with the same name, whose children are
- * deep-equal. This is defined in more detail below. The $collation argument
- * identifies a collation which is used at all levels of recursion when strings
- * are compared (but not when names are compared), according to the rules in
- * 7.3.1 Collations in the specification.
- */
-public class FnDeepEqual extends AbstractCollationEqualFunction {
- /**
- * Constructor for FnDeepEqual.
- */
- public FnDeepEqual() {
- super(new QName("deep-equal"), 2, 3);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return deep_equal(args, dynamic_context());
- }
-
- /**
- * Deep-Equal expression operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @param context
- * Dynamic context
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:deep-equal operation.
- */
- public static ResultSequence deep_equal(Collection args, DynamicContext context)
- throws DynamicError {
-
- // get args
- Iterator citer = args.iterator();
- ResultSequence arg1 = (ResultSequence) citer.next();
- ResultSequence arg2 = (ResultSequence) citer.next();
- ResultSequence arg3 = null;
- String collationURI = context.default_collation_name();
- if (citer.hasNext()) {
- arg3 = (ResultSequence) citer.next();
- if (!arg3.empty()) {
- collationURI = arg3.first().string_value();
- }
- }
-
- boolean result = deep_equal(arg1, arg2, context, collationURI);
-
- return ResultSequenceFactory.create_new(new XSBoolean(result));
- }
-
- /**
- * Deep-Equal boolean operation.
- *
- * @param one
- * input1 xpath expression/variable.
- * @param two
- * input2 xpath expression/variable.
- * @param context
- * Current dynamic context
- * @return Result of fn:deep-equal operation.
- */
- public static boolean deep_equal(ResultSequence one, ResultSequence two, DynamicContext context, String collationURI) {
- if (one.empty() && two.empty())
- return true;
-
- if (one.size() != two.size())
- return false;
-
- Iterator onei = one.iterator();
- Iterator twoi = two.iterator();
-
- while (onei.hasNext()) {
- AnyType a = (AnyType) onei.next();
- AnyType b = (AnyType) twoi.next();
-
- if (!deep_equal(a, b, context, collationURI))
- return false;
- }
- return true;
- }
-
- /**
- * Deep-Equal boolean operation for inputs of any type.
- *
- * @param one
- * input1 xpath expression/variable.
- * @param two
- * input2 xpath expression/variable.
- * @param context
- * @return Result of fn:deep-equal operation.
- */
- public static boolean deep_equal(AnyType one, AnyType two, DynamicContext context, String collationURI) {
- if ((one instanceof AnyAtomicType) && (two instanceof AnyAtomicType))
- return deep_equal((AnyAtomicType) one, (AnyAtomicType) two, context, collationURI);
-
- else if (((one instanceof AnyAtomicType) && (two instanceof NodeType))
- || ((one instanceof NodeType) && (two instanceof AnyAtomicType)))
- return false;
- else if ((one instanceof NodeType) && (two instanceof NodeType))
- return deep_equal((NodeType) one, (NodeType) two, context);
- else {
- return false;
- }
- }
-
- /**
- * Deep-Equal boolean operation for inputs of any atomic type.
- *
- * @param one
- * input1 xpath expression/variable.
- * @param two
- * input2 xpath expression/variable.
- * @return Result of fn:deep-equal operation.
- */
- public static boolean deep_equal(AnyAtomicType one, AnyAtomicType two, DynamicContext context, String collationURI) {
- if (!(one instanceof CmpEq))
- return false;
- if (!(two instanceof CmpEq))
- return false;
-
- CmpEq a = (CmpEq) one;
-
- try {
- if (isNumeric(one, two)) {
- NumericType numeric = (NumericType) one;
- if (numeric.eq(two, context)) {
- return true;
- } else {
- XSString value1 = new XSString(one.string_value());
- if (value1.eq(two, context)) {
- return true;
- }
- }
- }
-
- if (a.eq(two, context))
- return true;
-
- if (needsStringComparison(one, two)) {
- XSString xstr1 = new XSString(one.string_value());
- XSString xstr2 = new XSString(two.string_value());
- if (FnCompare.compare_string(collationURI, xstr1, xstr2,
- context).equals(BigInteger.ZERO)) {
- return true;
- }
- }
- return false;
- } catch (DynamicError err) {
- return false; // XXX ???
- }
- }
-
- /**
- * Deep-Equal boolean operation for inputs of node type.
- *
- * @param one
- * input1 xpath expression/variable.
- * @param two
- * input2 xpath expression/variable.
- * @return Result of fn:deep-equal operation.
- */
- public static boolean deep_equal(NodeType one, NodeType two, DynamicContext context) {
- Node a = one.node_value();
- Node b = two.node_value();
-
- if (a.isEqualNode(b)) {
- return true;
- }
-
- return false;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDefaultCollation.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDefaultCollation.java
deleted file mode 100644
index d062b7a..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDefaultCollation.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2010 Standards for Technology in Automotive Retail and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * David Carver (STAR) - initial API and implementation
- * Jesper Steen Moeller - bug 285145 - implement full arity checking
- * Jesper Steen Moeller - bug 280555 - Add pluggable collation support
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSString;
-
-import java.util.Collection;
-
-/**
- * <p>
- * Summary: Returns the value of the default collation property from the static
- * context. Components of the static context are discussed in Section C.1 Static
- * Context Components.
- * </p>
- *
- * <p>
- * Note:
- * </p>
- *
- * <p>
- * The default collation property can never be undefined. If it is not
- * explicitly defined, a system defined default can be invoked. If this is not
- * provided, the Unicode code point collation
- * (http://www.w3.org/2005/xpath-functions/collation/codepoint) is used.
- * </p>
- *
- * @author dcarver
- * @since 1.1
- */
-public class FnDefaultCollation extends Function {
-
- public FnDefaultCollation() {
- super(new QName("default-collation"), 0);
- }
-
- public ResultSequence evaluate(Collection args) throws DynamicError {
- assert args.size() >= min_arity() && args.size() <= max_arity();
- ResultSequence rs = ResultSequenceFactory.create_new();
- rs.add(new XSString(dynamic_context().default_collation_name()));
- return rs;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDistinctValues.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDistinctValues.java
deleted file mode 100644
index 747ea2a..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDistinctValues.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper Moller - bug 280555 - Add pluggable collation support
- * David Carver (STAR) - bug 262765 - fixed distinct-values comparison logic.
- * There is probably an easier way to do the comparison.
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSString;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- * Returns the sequence that results from removing from $arg all but one of a
- * set of values that are eq to one other. Values that cannot be compared, i.e.
- * the eq operator is not defined for their types, are considered to be
- * distinct. Values of type xdt:untypedAtomic are compared as if they were of
- * type xs:string. The order in which the sequence of values is returned is
- * implementation dependent.
- */
-public class FnDistinctValues extends AbstractCollationEqualFunction {
- /**
- * Constructor for FnDistinctValues.
- */
- public FnDistinctValues() {
- super(new QName("distinct-values"), 1, 2);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return distinct_values(args, dynamic_context());
- }
-
- /**
- * Distinct-values operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:distinct-values operation.
- */
- public static ResultSequence distinct_values(Collection args, DynamicContext context)
- throws DynamicError {
-
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- // get args
- Iterator citer = args.iterator();
- ResultSequence arg1 = (ResultSequence) citer.next();
- ResultSequence arg2 = ResultSequenceFactory.create_new();
- if (citer.hasNext()) {
- arg2 = (ResultSequence) citer.next();
- }
-
- String collationURI = context.default_collation_name();
- if (!arg2.empty()) {
- XSString collation = (XSString) arg2.first();
- collationURI = collation.string_value();
- }
-
- for (Iterator i = arg1.iterator(); i.hasNext();) {
- AnyType at = (AnyType) i.next();
-
- if (!(at instanceof AnyAtomicType))
- DynamicError.throw_type_error();
-
- if (!contains(rs, (AnyAtomicType) at, context, collationURI))
- rs.add(at);
- }
-
- return rs;
- }
-
- /**
- * Support for Contains interface.
- *
- * @param rs
- * input1 expression sequence.
- * @param item
- * input2 expression of any atomic type.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of operation.
- */
- protected static boolean contains(ResultSequence rs, AnyAtomicType item,
- DynamicContext context, String collationURI) throws DynamicError {
- if (!(item instanceof CmpEq))
- return false;
-
- return hasValue(rs, item, context, collationURI);
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDoc.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDoc.java
deleted file mode 100644
index 473319a..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDoc.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper Steen Moller - bug 281159 - fix document loading and resolving URIs
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSString;
-
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- * Retrieves a document using an xs:anyURI supplied as an xs:string. If $uri is
- * not a valid xs:anyURI, an error is raised [err:FODC0005]. If it is a relative
- * URI Reference, it is resolved relative to the value of the base URI property
- * from the static context. The resulting absolute URI Reference is cast to an
- * xs:string. If the Available documents discussed in Section 2.1.2 Dynamic
- * ContextXP provides a mapping from this string to a document node, the
- * function returns that document node. If the Available documents maps the
- * string to an empty sequence, then the function returns an empty sequence. If
- * the Available documents provides no mapping for the string, an error is
- * raised [err:FODC0005].
- */
-public class FnDoc extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnDoc.
- */
- public FnDoc() {
- super(new QName("doc"), 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return doc(args, dynamic_context());
- }
-
- /**
- * Doc operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @param dc
- * Result of dynamic context operation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:doc operation.
- */
- public static ResultSequence doc(Collection args, DynamicContext dc)
- throws DynamicError {
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- // get args
- Iterator argiter = cargs.iterator();
- ResultSequence arg1 = (ResultSequence) argiter.next();
-
- if (arg1.empty())
- return ResultSequenceFactory.create_new();
-
- String uri = ((XSString) arg1.first()).value();
-
- URI resolved = dc.resolve_uri(uri);
- if (resolved == null)
- throw DynamicError.invalid_doc(null);
-
- ResultSequence rs = dc.get_doc(resolved);
- if (rs == null)
- throw DynamicError.doc_not_found(null);
-
- return rs;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- SeqType arg = new SeqType(new XSString(), SeqType.OCC_QMARK);
- _expected_args.add(arg);
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDocumentUri.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDocumentUri.java
deleted file mode 100644
index 975c8a5..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnDocumentUri.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug274731 - implementation of fn:document-uri function
- * Jesper Moller- bug 281159 - fix document loading and resolving URIs
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-
-import java.util.*;
-
-/**
- * Returns the value of the document-uri property for $arg as defined by the
- * dm:document-uri accessor function defined in Section 6.1.2 AccessorsDM. If
- * $arg is the empty sequence, the empty sequence is returned. Returns the empty
- * sequence if the node is not a document node or if its document-uri property
- * is a relative URI. Otherwise, returns an absolute URI expressed as an
- * xs:string.
- */
-public class FnDocumentUri extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnDocumentUri.
- */
- public FnDocumentUri() {
- super(new QName("document-uri"), 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return document_uri(args);
- }
-
- /**
- * Document-Uri operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:document-uri operation.
- */
- public static ResultSequence document_uri(Collection args)
- throws DynamicError {
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
- ResultSequence rs = ResultSequenceFactory.create_new();
- if (arg1.empty())
- return rs;
-
- NodeType nt = (NodeType) arg1.first();
-
- if (!(nt instanceof DocType))
- return rs;
-
- DocType dt = (DocType) nt;
- String documentURI = dt.value().getDocumentURI();
-
- if (documentURI != null) {
- XSAnyURI docUri = new XSAnyURI(documentURI);
- rs.add(docUri);
- }
- return rs;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- _expected_args.add(new SeqType(SeqType.OCC_QMARK));
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnEmpty.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnEmpty.java
deleted file mode 100644
index e9c7e41..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnEmpty.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper Steen Moeller - bug 285145 - implement full arity checking
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSBoolean;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- * If the value of $arg is the empty sequence, the function returns true;
- * otherwise, the function returns false.
- */
-public class FnEmpty extends Function {
- /**
- * Constructor for FnEmpty.
- */
- public FnEmpty() {
- super(new QName("empty"), 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return empty(args);
- }
-
- /**
- * Empty operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:empty operation.
- */
- public static ResultSequence empty(Collection args) throws DynamicError {
-
- assert args.size() == 1;
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- // get args
- Iterator citer = args.iterator();
- ResultSequence arg1 = (ResultSequence) citer.next();
-
- if (arg1.empty())
- rs.add(new XSBoolean(true));
- else
- rs.add(new XSBoolean(false));
-
- return rs;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnEncodeForURI.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnEncodeForURI.java
deleted file mode 100644
index d462e5e..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnEncodeForURI.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2010 David Carver, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * David Carver - STAR - bug 285321 - initial api and implementation
- * Jesper Steen Moeller - bug 285319 - fix UTF-8 escaping
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-import java.util.Collection;
-
-/**
- * <p>
- * Function to apply URI escaping rules.
- * </p>
- *
- * <p>
- * Usage: fn:encode-for-uri($uri-part as xs:string?)
- * as xs:string
- * </p>
- *
- * <p>
- * This class applies the URI escaping rules (with one exception), to the string
- * supplied as $uri-part, which typically represents all or part of a URI. The
- * effect of the function is to escape a set of identified characters in the
- * string. Each such character is replaced in the string by an escape sequence,
- * which is formed by encoding the character as a sequence of octets in UTF-8,
- * and then representing each of these octets in the form %HH, where HH is the
- * hexadecimal representation of the octet.
- * </p>
- *
- * <p>
- * If $uri-part is the empty sequence, returns the zero-length string.
- * </p>
- *
- *
- * <p>
- * To ensure that escaped URIs can be compared using string comparison
- * functions, this function must always generate hexadecimal values using the
- * upper-case letters A-F.
- * </p>
- */
-public class FnEncodeForURI extends AbstractURIFunction {
- /**
- * Constructor for FnEscape-for-Uri.
- */
- public FnEncodeForURI() {
- super(new QName("encode-for-uri"), 1, 1);
- }
-
- /**
- * Evaluate the arguments.
- *
- * @param args
- * are evaluated.
- * @throws DynamicError
- * Dynamic error.
- * @return The evaluation of the arguments after application of the URI
- * escaping rules.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return escape_uri(args, true, true);
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnEndsWith.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnEndsWith.java
deleted file mode 100644
index bb023ff..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnEndsWith.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSBoolean;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSString;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- * Returns an xs:boolean indicating whether or not the value of $arg1 ends with
- * a sequence of collation units that provides a minimal match to the collation
- * units of M$arg2 according to the collation that is used.
- */
-public class FnEndsWith extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnEndsWith.
- */
- public FnEndsWith() {
- super(new QName("ends-with"), 2);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return ends_with(args);
- }
-
- /**
- * Ends-with operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:ends-with operation.
- */
- public static ResultSequence ends_with(Collection args) throws DynamicError {
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- // get args
- Iterator argiter = cargs.iterator();
- ResultSequence arg1 = (ResultSequence) argiter.next();
- String str1 = "";
- String str2 = "";
- if (!arg1.empty())
- str1 = ((XSString) arg1.first()).value();
-
- ResultSequence arg2 = (ResultSequence) argiter.next();
- if (!arg2.empty())
- str2 = ((XSString) arg2.first()).value();
-
- int str1len = str1.length();
- int str2len = str2.length();
-
- if (str1len == 0 && str2len != 0) {
- rs.add(new XSBoolean(false));
- return rs;
- }
- if (str2len == 0) {
- rs.add(new XSBoolean(true));
- return rs;
- }
-
- if (str1.endsWith(str2))
- rs.add(new XSBoolean(true));
- else
- rs.add(new XSBoolean(false));
-
- return rs;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- SeqType arg = new SeqType(new XSString(), SeqType.OCC_QMARK);
- _expected_args.add(arg);
- _expected_args.add(arg);
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnError.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnError.java
deleted file mode 100644
index 4974613..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnError.java
+++ /dev/null
@@ -1,133 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper Steen Moeller - bug 28149 - add remaining fn:error functionality
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSString;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- * The fn:error function causes the evaluation of the outermost XQuery or
- * transformation to stop. While this function never returns a value, an error,
- * if it occurs, is returned to the external processing environment as an
- * xs:anyURI or an xs:QName. The error xs:anyURI is derived from the error
- * xs:QName. An error xs:QName with namespace URI NS and local part LP will be
- * returned as the xs:anyURI NS#LP. The method by which the xs:anyURI or
- * xs:QName is returned to the external processing environment is implementation
- * dependent.
- */
-public class FnError extends Function {
-
- private static ArrayList _expected_args;
- private static ArrayList _expected_args1;
-
- // XXX overloaded...
- /**
- * Constructor for FnError.
- */
- public FnError() {
- super(new QName("error"), 0, 3);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- // Differentiate depending on whether there is one (required) argument or whatever.
- Collection cargs = Function.convert_arguments(args, args.size() == 1 ? expected_args1() : expected_args());
-
- QName code = null;
- ResultSequence items = null;
- String description = null;
-
- // Iterate over the args
- Iterator it = cargs.iterator();
- if (it.hasNext()) {
- ResultSequence rsQName = (ResultSequence)it.next();
- // for arity 2 and 3, the code is not mandatory, as in fn:code((), "description). Handle this:
- if (! rsQName.empty()) code = (QName)rsQName.first();
- }
- // Next arg (if present) is the description
- if (it.hasNext()) {
- ResultSequence rsDescription = (ResultSequence)it.next();
- description = ((XSString)rsDescription.first()).value();
- }
- // Final arg (if present) is the list of items
- if (it.hasNext()) {
- items = (ResultSequence)it.next();
- }
-
- // Handle the code if missing
- if (code == null) code = new QName("err", "FOER0000", "http://www.w3.org/2005/xqt-errors");
-
- return error(code, description, items);
- }
-
- /**
- * Error operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:error operation.
- */
- public static ResultSequence error(QName error, String description, ResultSequence items) throws DynamicError {
-
- throw DynamicError.user_error(error.namespace(), error.local(), description);
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- _expected_args.add(new SeqType(new QName(), SeqType.OCC_QMARK));
- _expected_args.add(new SeqType(new XSString(), SeqType.OCC_NONE));
- _expected_args.add(new SeqType(AnyType.class, SeqType.OCC_STAR));
- }
-
- return _expected_args;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args1() {
- if (_expected_args1 == null) {
- _expected_args1 = new ArrayList();
- _expected_args1.add(new SeqType(new QName(), SeqType.OCC_NONE));
- }
-
- return _expected_args1;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnEscapeHTMLUri.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnEscapeHTMLUri.java
deleted file mode 100644
index 875de8f..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnEscapeHTMLUri.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * David Carver - STAR - bug 262765 - renamed to correct function name.
- * Jesper Steen Moeller - bug 285145 - implement full arity checking
- * Jesper Steen Moeller - bug 285319 - fix UTF-8 escaping, and fix arity bug
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-import java.util.Collection;
-
-/**
- * <p>
- * Function to apply URI escaping rules.
- * </p>
- *
- * <p>
- * Usage: fn:escape-html-uri($uri-part as xs:string?, $escape-reserved as xs:boolean)
- * as xs:string
- * </p>
- *
- * <p>
- * This class applies the URI escaping rules (with one exception), to the string
- * supplied as $uri-part, which typically represents all or part of a URI. The
- * effect of the function is to escape a set of identified characters in the
- * string. Each such character is replaced in the string by an escape sequence,
- * which is formed by encoding the character as a sequence of octets in UTF-8,
- * and then representing each of these octets in the form %HH, where HH is the
- * hexadecimal representation of the octet.
- * </p>
- *
- * <p>
- * The set of characters that are escaped depends on the setting of the boolean
- * argument $escape-reserved.
- * </p>
- *
- * <p>
- * If $uri-part is the empty sequence, returns the zero-length string.
- * </p>
- *
- * <p>
- * If $escape-reserved is true, all characters are escaped other than the lower
- * case letters a-z, the upper case letters A-Z, the digits 0-9, the PERCENT
- * SIGN "%" and the NUMBER SIGN "#", as well as certain other characters:
- * specifically, HYPHEN-MINUS ("-"), LOW LINE ("_"), FULL STOP ".", EXCLAMATION
- * MARK "!", TILDE "~", ASTERISK "*", APOSTROPHE "'", LEFT PARENTHESIS "(", and
- * RIGHT PARENTHESIS ")".
- * </p>
- *
- * <p>
- * If $escape-reserved is false, additional characters are added to the list of
- * characters that are not escaped. These are the following: SEMICOLON ";",
- * SOLIDUS "/", QUESTION MARK "?", COLON ":", COMMERCIAL AT "@", AMPERSAND "&",
- * EQUALS SIGN "=", PLUS SIGN "+", DOLLAR SIGN "$", COMMA ",", LEFT SQUARE
- * BRACKET "[" and RIGHT SQUARE BRACKET "]".
- * </p>
- *
- * <p>
- * To ensure that escaped URIs can be compared using string comparison
- * functions, this function must always generate hexadecimal values using the
- * upper-case letters A-F.
- * </p>
- *
- * <p>
- * Generally, $escape-reserved should be set to true when escaping a string that
- * is to form a single part of a URI, and to false when escaping an entire URI
- * or URI reference.
- * </p>
- *
- * <p>
- * Since this function does not escape the PERCENT SIGN "%" and this character
- * is not allowed in a URI, users wishing to convert character strings, such as
- * file names, that include "%" to a URI should manually escape "%" by replacing
- * it with "%25".
- * </p>
- */
-public class FnEscapeHTMLUri extends AbstractURIFunction {
- /**
- * Constructor for FnEscape-html-Uri.
- */
- public FnEscapeHTMLUri() {
- super(new QName("escape-html-uri"), 1);
- }
-
- /**
- * Evaluate the arguments.
- *
- * @param args
- * are evaluated.
- * @throws DynamicError
- * Dynamic error.
- * @return The evaluation of the arguments after application of the URI
- * escaping rules.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return escape_uri(args, false, false);
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnExactlyOne.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnExactlyOne.java
deleted file mode 100644
index 6273417..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnExactlyOne.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- * Returns $arg if it contains exactly one item. Otherwise, raises an error
- * [err:FORG0005]. The type of the result depends on the type of $arg.
- */
-public class FnExactlyOne extends Function {
- /**
- * Constructor for FnExactlyOne.
- */
- public FnExactlyOne() {
- super(new QName("exactly-one"), 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return exactly_one(args);
- }
-
- /**
- * Exactly-one operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:exactly-one operation.
- */
- public static ResultSequence exactly_one(Collection args)
- throws DynamicError {
-
- assert args.size() == 1;
-
- // get args
- Iterator citer = args.iterator();
- ResultSequence arg = (ResultSequence) citer.next();
-
- if (arg.size() != 1)
- throw DynamicError.not_one(null);
-
- return arg;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnExists.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnExists.java
deleted file mode 100644
index 8879335..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnExists.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSBoolean;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- * If the value of $arg is not the empty sequence, the function returns true;
- * otherwise, the function returns false.
- */
-public class FnExists extends Function {
- /**
- * Constructor for FnExists.
- */
- public FnExists() {
- super(new QName("exists"), 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return exists(args);
- }
-
- /**
- * Exists operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:exists operation.
- */
- public static ResultSequence exists(Collection args) throws DynamicError {
-
- assert args.size() == 1;
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- // get args
- Iterator citer = args.iterator();
- ResultSequence arg1 = (ResultSequence) citer.next();
-
- if (arg1.empty())
- rs.add(new XSBoolean(false));
- else
- rs.add(new XSBoolean(true));
-
- return rs;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnFalse.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnFalse.java
deleted file mode 100644
index d54b933..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnFalse.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSBoolean;
-
-import java.util.Collection;
-
-/**
- * Returns the xs:boolean value false. Equivalent to xs:boolean("0").
- */
-public class FnFalse extends Function {
- /**
- * Constructor for FnFalse.
- */
- public FnFalse() {
- super(new QName("false"), 0);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return fn_false(args);
- }
-
- /**
- * False operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:false operation.
- */
- public static ResultSequence fn_false(Collection args) throws DynamicError {
- assert args.size() == 0;
-
- return ResultSequenceFactory.create_new(new XSBoolean(false));
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnFloor.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnFloor.java
deleted file mode 100644
index 8da4fb4..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnFloor.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper Steen Moeller - bug 285145 - implement full arity checking
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-import java.util.Collection;
-
-/**
- * Returns the largest (closest to positive infinity) number with no fractional
- * part that is not greater than the value of $arg. If type of $arg is one of
- * the four numeric types xs:float, xs:double, xs:decimal or xs:integer the type
- * of the return is the same as the type of $arg. If the type of $arg is a type
- * derived from one of the numeric types, the type of the return is the base
- * numeric type. For float and double arguments, if the argument is positive
- * zero (+0), then positive zero (+0) is returned. If the argument is negative
- * zero (-0), then negative zero (-0) is returned.
- */
-public class FnFloor extends Function {
- /**
- * Constructor for FnFloor.
- */
- public FnFloor() {
- super(new QName("floor"), 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- // 1 argument only!
- assert args.size() >= min_arity() && args.size() <= max_arity();
-
- ResultSequence argument = (ResultSequence) args.iterator().next();
-
- return fn_floor(argument);
- }
-
- /**
- * Floor operation.
- *
- * @param arg
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:floor operation.
- */
- public static ResultSequence fn_floor(ResultSequence arg)
- throws DynamicError {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- // sanity chex
- NumericType nt = FnAbs.get_single_numeric_arg(arg);
-
- // empty arg
- if (nt == null)
- return rs;
-
- rs.add(nt.floor());
- return rs;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnHoursFromDateTime.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnHoursFromDateTime.java
deleted file mode 100644
index b6b5b94..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnHoursFromDateTime.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDateTime;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger;
-
-import java.math.BigInteger;
-import java.util.ArrayList;
-import java.util.Collection;
-
-/**
- * Returns an xs:integer between 0 and 23, both inclusive, representing the
- * hours component in the localized value of $arg. If $arg is the empty
- * sequence, returns the empty sequence.
- */
-public class FnHoursFromDateTime extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnHoursFromDateTime.
- */
- public FnHoursFromDateTime() {
- super(new QName("hours-from-dateTime"), 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return hours_from_date_time(args);
- }
-
- /**
- * Hours-from-DateTime operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:hours-from-dateTime operation.
- */
- public static ResultSequence hours_from_date_time(Collection args)
- throws DynamicError {
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg1.empty()) {
- return rs;
- }
-
- XSDateTime dt = (XSDateTime) arg1.first();
-
- int res = dt.hour();
-
- rs.add(new XSInteger(BigInteger.valueOf(res)));
-
- return rs;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- _expected_args
- .add(new SeqType(new XSDateTime(), SeqType.OCC_QMARK));
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnHoursFromDuration.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnHoursFromDuration.java
deleted file mode 100644
index 0a59d2e..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnHoursFromDuration.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 273760 - wrong namespace for functions and data types
- * David Carver - bug 282223 - implementation of xs:duration
- * David Carver (STAR) - bug 262765 - fixed expected xs:duration argument.
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger;
-
-import java.math.BigInteger;
-import java.util.ArrayList;
-import java.util.Collection;
-
-/**
- * Returns an xs:integer representing the hours component in the canonical
- * lexical representation of the value of $arg. The result may be negative. If
- * $arg is the empty sequence, returns the empty sequence.
- */
-public class FnHoursFromDuration extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnHoursFromDuration.
- */
- public FnHoursFromDuration() {
- super(new QName("hours-from-duration"), 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return hours_from_duration(args);
- }
-
- /**
- * Hours-from-Duration operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:hours-from-duration operation.
- */
- public static ResultSequence hours_from_duration(Collection args)
- throws DynamicError {
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg1.empty()) {
- return rs;
- }
-
- XSDuration dtd = (XSDuration) arg1.first();
-
- int res = dtd.hours();
-
- if (dtd.negative())
- res *= -1;
-
- rs.add(new XSInteger(BigInteger.valueOf(res)));
-
- return rs;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- _expected_args.add(new SeqType(new XSDuration(),
- SeqType.OCC_QMARK));
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnHoursFromTime.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnHoursFromTime.java
deleted file mode 100644
index ca6f408..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnHoursFromTime.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSTime;
-
-import java.math.BigInteger;
-import java.util.ArrayList;
-import java.util.Collection;
-
-/**
- * Returns an xs:integer between 0 and 23, both inclusive, representing the
- * value of the hours component in the localized value of $arg. If $arg is the
- * empty sequence, returns the empty sequence.
- */
-public class FnHoursFromTime extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnHoursFromTime.
- */
- public FnHoursFromTime() {
- super(new QName("hours-from-time"), 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return hours_from_time(args);
- }
-
- /**
- * Hours-from-Time operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:hours-from-time operation.
- */
- public static ResultSequence hours_from_time(Collection args)
- throws DynamicError {
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg1.empty()) {
- return rs;
- }
-
- XSTime dt = (XSTime) arg1.first();
-
- int res = dt.hour();
-
- rs.add(new XSInteger(BigInteger.valueOf(res)));
-
- return rs;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- _expected_args.add(new SeqType(new XSTime(), SeqType.OCC_QMARK));
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnID.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnID.java
deleted file mode 100644
index fdaf294..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnID.java
+++ /dev/null
@@ -1,211 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2010 Standard for Technology in Automotive Retail, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * David Carver (STAR) - bug 281168 - initial API and implementation
- * David Carver - bug 281186 - implementation of fn:id and fn:idref
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.TypeError;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AttrType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.ElementType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSIDREF;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSString;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-
-/**
- * Returns the sequence of element nodes that have an ID value matching the value of one
- * or more of the IDREF values supplied in $arg .
- */
-public class FnID extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnInsertBefore.
- */
- public FnID() {
- super(new QName("id"), 1, 2);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return id(args, dynamic_context());
- }
-
- /**
- * Insert-Before operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:insert-before operation.
- */
- public static ResultSequence id(Collection args, DynamicContext context) throws DynamicError {
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- Iterator argIt = cargs.iterator();
- ResultSequence idrefRS = (ResultSequence) argIt.next();
- String[] idrefst = idrefRS.first().string_value().split(" ");
-
- ArrayList idrefs = createIDRefs(idrefst);
- ResultSequence nodeArg = null;
- NodeType nodeType = null;
- if (argIt.hasNext()) {
- nodeArg = (ResultSequence) argIt.next();
- nodeType = (NodeType)nodeArg.first();
- } else {
- if (context.context_item() == null) {
- throw DynamicError.contextUndefined();
- }
- if (!(context.context_item() instanceof NodeType)) {
- throw new DynamicError(TypeError.invalid_type(null));
- }
- nodeType = (NodeType) context.context_item();
- if (nodeType.node_value().getOwnerDocument() == null) {
- throw DynamicError.contextUndefined();
- }
- }
-
- Node node = nodeType.node_value();
- if (node.getOwnerDocument() == null) {
- // W3C Test suite seems to want XPDY0002
- throw DynamicError.contextUndefined();
- //throw DynamicError.noContextDoc();
- }
-
- if (hasIDREF(idrefs, node)) {
- ElementType element = new ElementType((Element) node);
- rs.add(element);
- }
-
- rs = processAttributes(node, idrefs, rs);
- rs = processChildNodes(node, idrefs, rs);
-
- return rs;
- }
-
- private static ArrayList createIDRefs(String[] idReftokens) {
- ArrayList xsidRef = new ArrayList();
- for (int i = 0; i < idReftokens.length; i++) {
- XSIDREF idref = new XSIDREF(idReftokens[i]);
- xsidRef.add(idref);
- }
- return xsidRef;
- }
-
- private static ResultSequence processChildNodes(Node node, List idrefs, ResultSequence rs) {
- if (!node.hasChildNodes()) {
- return rs;
- }
-
- NodeList nodeList = node.getChildNodes();
- for (int nodecnt = 0; nodecnt < nodeList.getLength(); nodecnt++) {
- Node childNode = nodeList.item(nodecnt);
- if (childNode.getNodeType() == Node.ELEMENT_NODE && !isDuplicate(childNode, rs)) {
- ElementType element = new ElementType((Element)childNode);
- if (element.isID()) {
- if (hasIDREF(idrefs, childNode)) {
- rs.add(element);
- }
- }
- rs = processAttributes(childNode, idrefs, rs);
- rs = processChildNodes(childNode, idrefs, rs);
- }
- }
-
- return rs;
-
- }
-
- private static ResultSequence processAttributes(Node node, List idrefs, ResultSequence rs) {
- if (!node.hasAttributes()) {
- return rs;
- }
-
- NamedNodeMap attributeList = node.getAttributes();
- for (int atsub = 0; atsub < attributeList.getLength(); atsub++) {
- Attr atNode = (Attr) attributeList.item(atsub);
- NodeType atType = new AttrType(atNode);
- if (atType.isID()) {
- if (hasIDREF(idrefs, atNode)) {
- if (!isDuplicate(node, rs)) {
- ElementType element = new ElementType((Element)node);
- rs.add(element);
- }
- }
- }
- }
- return rs;
- }
-
- private static boolean hasIDREF(List idrefs, Node node) {
- for (int i = 0; i < idrefs.size(); i++) {
- XSIDREF idref = (XSIDREF) idrefs.get(i);
- if (idref.string_value().equals(node.getNodeValue())) {
- return true;
- }
- }
- return false;
- }
-
- private static boolean isDuplicate(Node node, ResultSequence rs) {
- Iterator it = rs.iterator();
- while (it.hasNext()) {
- if (it.next().equals(node)) {
- return true;
- }
- }
- return false;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- SeqType arg = new SeqType(new XSString(), SeqType.OCC_STAR);
- _expected_args.add(arg);
- _expected_args.add(new SeqType(SeqType.OCC_NONE));
- }
-
- return _expected_args;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnIDREF.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnIDREF.java
deleted file mode 100644
index f303a59..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnIDREF.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2010 Standard for Technology in Automotive Retail, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * David Carver (STAR) - bug 281168 - initial API and implementation
- * David Carver - bug 281186 - implementation of fn:id and fn:idref
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.TypeError;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AttrType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.ElementType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSID;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSString;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.List;
-
-/**
- *
- */
-public class FnIDREF extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnInsertBefore.
- */
- public FnIDREF() {
- super(new QName("idref"), 1, 2);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return idref(args, dynamic_context());
- }
-
- /**
- * Insert-Before operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:insert-before operation.
- */
- public static ResultSequence idref(Collection args, DynamicContext context) throws DynamicError {
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- Iterator argIt = cargs.iterator();
- ResultSequence idrefRS = (ResultSequence) argIt.next();
- String[] idst = idrefRS.first().string_value().split(" ");
-
- ArrayList ids = createIDs(idst);
- ResultSequence nodeArg = null;
- NodeType nodeType = null;
- if (argIt.hasNext()) {
- nodeArg = (ResultSequence) argIt.next();
- nodeType = (NodeType)nodeArg.first();
- } else {
- if (context.context_item() == null) {
- throw DynamicError.contextUndefined();
- }
- if (!(context.context_item() instanceof NodeType)) {
- throw new DynamicError(TypeError.invalid_type(null));
- }
- nodeType = (NodeType) context.context_item();
- if (nodeType.node_value().getOwnerDocument() == null) {
- throw DynamicError.contextUndefined();
- }
- }
-
- Node node = nodeType.node_value();
- if (node.getOwnerDocument() == null) {
- // W3C test suite seems to want XPDY0002 here
- throw DynamicError.contextUndefined();
- //throw DynamicError.noContextDoc();
- }
-
- if (hasID(ids, node)) {
- ElementType element = new ElementType((Element) node);
- rs.add(element);
- }
-
- rs = processAttributes(node, ids, rs);
- rs = processChildNodes(node, ids, rs);
-
- return rs;
- }
-
- private static ArrayList createIDs(String[] idtokens) {
- ArrayList xsid = new ArrayList();
- for (int i = 0; i < idtokens.length; i++) {
- XSID id = new XSID(idtokens[i]);
- xsid.add(id);
- }
- return xsid;
- }
-
- private static ResultSequence processChildNodes(Node node, List ids, ResultSequence rs) {
- if (!node.hasChildNodes()) {
- return rs;
- }
-
- NodeList nodeList = node.getChildNodes();
- for (int nodecnt = 0; nodecnt < nodeList.getLength(); nodecnt++) {
- Node childNode = nodeList.item(nodecnt);
- if (childNode.getNodeType() == Node.ELEMENT_NODE && !isDuplicate(childNode, rs)) {
- ElementType element = new ElementType((Element)childNode);
- if (element.isIDREF()) {
- if (hasID(ids, childNode)) {
- rs.add(element);
- }
- }
- rs = processAttributes(childNode, ids, rs);
- rs = processChildNodes(childNode, ids, rs);
- }
- }
-
- return rs;
-
- }
-
- private static ResultSequence processAttributes(Node node, List idrefs, ResultSequence rs) {
- if (!node.hasAttributes()) {
- return rs;
- }
-
- NamedNodeMap attributeList = node.getAttributes();
- for (int atsub = 0; atsub < attributeList.getLength(); atsub++) {
- Attr atNode = (Attr) attributeList.item(atsub);
- NodeType atType = new AttrType(atNode);
- if (atType.isID()) {
- if (hasID(idrefs, atNode)) {
- if (!isDuplicate(node, rs)) {
- ElementType element = new ElementType((Element)node);
- rs.add(element);
- }
- }
- }
- }
- return rs;
- }
-
- private static boolean hasID(List ids, Node node) {
- for (int i = 0; i < ids.size(); i++) {
- XSID idref = (XSID) ids.get(i);
- if (idref.string_value().equals(node.getNodeValue())) {
- return true;
- }
- }
- return false;
- }
-
- private static boolean isDuplicate(Node node, ResultSequence rs) {
- Iterator it = rs.iterator();
- while (it.hasNext()) {
- if (it.next().equals(node)) {
- return true;
- }
- }
- return false;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- SeqType arg = new SeqType(new XSString(), SeqType.OCC_STAR);
- _expected_args.add(arg);
- _expected_args.add(new SeqType(SeqType.OCC_NONE));
- }
-
- return _expected_args;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnImplicitTimezone.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnImplicitTimezone.java
deleted file mode 100644
index 129e7b5..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnImplicitTimezone.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 273760 - wrong namespace for functions and data types
- * David Carver - bug 282223 - implementation of xs:duration
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration;
-
-import java.util.Collection;
-
-/**
- * Returns the value of the implicit timezone property from the dynamic context.
- * Components of the dynamic context are discussed in Section C.2 Dynamic
- * Context Components
- */
-public class FnImplicitTimezone extends Function {
- /**
- * Constructor for FnImplicitTimezone.
- */
- public FnImplicitTimezone() {
- super(new QName("implicit-timezone"), 0);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return implicit_timezone(args, dynamic_context());
- }
-
- /**
- * Implicit-Timezone operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @param dc
- * Result of dynamic context operation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:implicit-timezone operation.
- */
- public static ResultSequence implicit_timezone(Collection args,
- DynamicContext dc) throws DynamicError {
- assert args.size() == 0;
-
- try {
- AnyType res = (XSDuration) dc.tz().clone();
-
- return ResultSequenceFactory.create_new(res);
- } catch (CloneNotSupportedException err) {
- assert false;
- return null;
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnInScopePrefixes.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnInScopePrefixes.java
deleted file mode 100644
index 3810641..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnInScopePrefixes.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2010 Standards for Technology in Automotive Retail and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * David Carver - initial API and implementation
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.TypeError;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.ElementType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSString;
-import org.w3c.dom.Element;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-
-import javax.xml.XMLConstants;
-
-/**
- * Returns the in-scope-prefixes for the element and any of it's ancestors.
- */
-public class FnInScopePrefixes extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnPrefixFromQName
- */
- public FnInScopePrefixes() {
- super(new QName("in-scope-prefixes"), 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return inScopePrefixes(args, _fl.dynamic_context());
- }
-
- /**
- * Prefix-from-QName operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:prefix-from-QName operation.
- */
- public static ResultSequence inScopePrefixes(Collection args, DynamicContext dc) throws DynamicError {
-
-// Collection cargs = Function.convert_arguments(args, expected_args());
- Collection cargs = args;
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
- if (arg1.empty())
- return rs;
-
- AnyType anytype = arg1.first();
- if (!(anytype instanceof ElementType)) {
- throw new DynamicError(TypeError.invalid_type(null));
- }
-
- ElementType element = (ElementType) arg1.first();
- List prefixList = lookupPrefixes(element);
- createPrefixResultSet(rs, prefixList);
- return rs;
- }
-
- private static void createPrefixResultSet(ResultSequence rs, List prefixList) {
- for (int i = 0; i < prefixList.size(); i++) {
- String prefix = (String) prefixList.get(i);
- rs.add(new XSString(prefix));
- }
- }
-
- private static List lookupPrefixes(ElementType element) {
- Element domElm = (Element) element.node_value();
-
- List prefixList = new ArrayList();
- Node node = domElm;
-
- while (node != null && node.getNodeType() != Node.DOCUMENT_NODE) {
- NamedNodeMap attrs = node.getAttributes();
- for (int i = 0; i < attrs.getLength(); i++) {
- Node attr = attrs.item(i);
- String prefix = null;
- if (attr.getNamespaceURI() != null &&
- attr.getNamespaceURI().equals(XMLConstants.XMLNS_ATTRIBUTE_NS_URI)) {
- // Default Namespace
- if (attr.getNodeName().equals(XMLConstants.XMLNS_ATTRIBUTE)) {
- prefix = "";
- } else {
- // Should we check the namespace in the Dynamic Context and return that???
- prefix = attr.getLocalName();
- }
- if (prefix != null) {
- if (!prefixList.contains(prefix)) {
- prefixList.add(prefix);
- }
- }
- }
- }
-
- node = node.getParentNode();
- }
- return prefixList;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- SeqType arg = new SeqType(new ElementType(), SeqType.OCC_PLUS);
- _expected_args.add(arg);
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnIndexOf.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnIndexOf.java
deleted file mode 100644
index 57bf94e..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnIndexOf.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper Moller - bug 280555 - Add pluggable collation support
- * David Carver (STAR) - bug 262765 - fixed collation and comparison issues.
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSBoolean;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSString;
-
-import java.math.BigInteger;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- * Returns a sequence of positive integers giving the positions within the
- * sequence $seqParam of items that are equal to $srchParam.
- */
-public class FnIndexOf extends AbstractCollationEqualFunction {
-
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnIndexOf.
- */
- public FnIndexOf() {
- super(new QName("index-of"), 2, 3);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return index_of(args, dynamic_context());
- }
-
- /**
- * Obtain a comparable type.
- *
- * @param at
- * expression of any type.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of operation.
- */
- private static CmpEq get_comparable(AnyType at) throws DynamicError {
- if (at instanceof NodeType) {
- XSString nodeString = new XSString(at.string_value());
- return nodeString;
- }
-
- if (!(at instanceof AnyAtomicType))
- DynamicError.throw_type_error();
-
- if (!(at instanceof CmpEq))
- throw DynamicError.not_cmp(null);
-
- return (CmpEq) at;
- }
-
- /**
- * Index-Of operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @param dynamicContext
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:index-of operation.
- */
- public static ResultSequence index_of(Collection args, DynamicContext dynamicContext) throws DynamicError {
- Function.convert_arguments(args, expected_args());
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- // get args
- Iterator citer = args.iterator();
- ResultSequence arg1 = (ResultSequence) citer.next();
- ResultSequence arg2 = (ResultSequence) citer.next();
-
- if (arg1.empty()) {
- return rs;
- }
-
- // sanity chex
- if (arg2.size() != 1)
- DynamicError.throw_type_error();
-
- String collationUri = dynamicContext.default_collation_name();
- if (citer.hasNext()) {
- ResultSequence arg3 = (ResultSequence) citer.next();
- if (!arg3.empty()) {
- XSString collation = (XSString) arg3.first();
- collationUri = collation.string_value();
- }
- }
-
- AnyAtomicType at = (AnyAtomicType)arg2.first();
-
- get_comparable(at);
-
- int index = 1;
-
- for (Iterator i = arg1.iterator(); i.hasNext();) {
- AnyType cmptype = (AnyType) i.next();
- get_comparable(cmptype);
-
- if (!(at instanceof CmpEq))
- continue;
-
- if (isBoolean(cmptype, at)) {
- XSBoolean boolat = (XSBoolean) cmptype;
- if (boolat.eq(at, dynamicContext)) {
- rs.add(new XSInteger(BigInteger.valueOf(index)));
- }
- } else
-
- if (isNumeric(cmptype, at)) {
- NumericType numericat = (NumericType) at;
- if (numericat.eq(cmptype, dynamicContext)) {
- rs.add(new XSInteger(BigInteger.valueOf(index)));
- }
- } else
-
- if (isDuration(cmptype, at)) {
- XSDuration durat = (XSDuration) at;
- if (durat.eq(cmptype, dynamicContext)) {
- rs.add(new XSInteger(BigInteger.valueOf(index)));
- }
- } else
-
- if (needsStringComparison(cmptype, at)) {
- XSString xstr1 = new XSString(cmptype.string_value());
- XSString itemStr = new XSString(at.string_value());
- if (FnCompare.compare_string(collationUri, xstr1, itemStr, dynamicContext).equals(BigInteger.ZERO)) {
- rs.add(new XSInteger(BigInteger.valueOf(index)));
- }
- }
-
- index++;
- }
-
- return rs;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- SeqType arg = new SeqType(AnyType.class, SeqType.OCC_STAR);
- _expected_args.add(arg);
- _expected_args.add(new SeqType(AnyAtomicType.class, SeqType.OCC_NONE));
- _expected_args.add(new SeqType(new XSString(), SeqType.OCC_NONE));
- _expected_args.add(arg);
- }
-
- return _expected_args;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnInsertBefore.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnInsertBefore.java
deleted file mode 100644
index dccd4de..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnInsertBefore.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 274805 - improvements to xs:integer data type
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- * Returns a new sequence constructed from the value of $target with the value
- * of $inserts inserted at the position specified by the value of $position.
- * (The value of $target is not affected by the sequence construction.)
- */
-public class FnInsertBefore extends Function {
- /**
- * Constructor for FnInsertBefore.
- */
- public FnInsertBefore() {
- super(new QName("insert-before"), 3);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return insert_before(args);
- }
-
- /**
- * Insert-Before operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:insert-before operation.
- */
- public static ResultSequence insert_before(Collection args)
- throws DynamicError {
-
- assert args.size() == 3;
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- // get args
- Iterator citer = args.iterator();
- ResultSequence target = (ResultSequence) citer.next();
- ResultSequence arg2 = (ResultSequence) citer.next();
- ResultSequence inserts = (ResultSequence) citer.next();
-
- // sanity chex
- if (arg2.size() != 1)
- DynamicError.throw_type_error();
-
- AnyType at = arg2.first();
- if (!(at instanceof XSInteger))
- DynamicError.throw_type_error();
-
- // XXX cloning!
- if (target.empty())
- return inserts;
- if (inserts.empty())
- return target;
-
- int position = ((XSInteger) at).int_value().intValue();
-
- if (position < 1)
- position = 1;
- int target_size = target.size();
-
- if (position > target_size)
- position = target_size + 1;
-
- int curpos = 1;
-
- for (Iterator i = target.iterator(); i.hasNext();) {
- at = (AnyType) i.next();
-
- if (curpos == position)
- rs.concat(inserts);
-
- rs.add(at);
-
- curpos++;
- }
- if (curpos == position)
- rs.concat(inserts);
-
- return rs;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnIriToURI.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnIriToURI.java
deleted file mode 100644
index b425e54..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnIriToURI.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2010 Standards for Technology in Automotive Retail and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * David Carver - STAR - bug 262765 - renamed to correct function name.
- * Jesper Steen Moeller - bug 285145 - implement full arity checking
- * Jesper Steen Moeller - bug 285319 - fix UTF-8 escaping
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-import java.util.Collection;
-
-public class FnIriToURI extends AbstractURIFunction {
-
- public FnIriToURI() {
- super(new QName("iri-to-uri"), 1);
- }
-
- /**
- * Evaluate the arguments.
- *
- * @param args
- * are evaluated.
- * @throws DynamicError
- * Dynamic error.
- * @return The evaluation of the arguments after application of the URI
- * escaping rules.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return escape_uri(args, false, true);
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnLang.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnLang.java
deleted file mode 100644
index 78afa7a..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnLang.java
+++ /dev/null
@@ -1,174 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * David Carver (STAR) - bug 280972 - fix fn:lang implementation so it matches spec.
- * Jesper Steen Moeller - bug 285145 - implement full arity checking
- * David Carver (STAR) - bug 262765 - correct invalidType to throw XPTY0004 instead of FORG0006
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSBoolean;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSString;
-import org.w3c.dom.Attr;
-import org.w3c.dom.NamedNodeMap;
-import org.w3c.dom.Node;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- * This function tests whether the language of $node, or the context node if the
- * second argument is omitted, as specified by xml:lang attributes is the same
- * as, or is a sublanguage of, the language specified by $testlang. The language
- * of the argument node, or the context node if the second argument is omitted,
- * is determined by the value of the xml:lang attribute on the node, or, if the
- * node has no such attribute, by the value of the xml:lang attribute on the
- * nearest ancestor of the node that has an xml:lang attribute. If there is no
- * such ancestor, then the function returns false.
- */
-public class FnLang extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnLang.
- */
- public FnLang() {
- super(new QName("lang"), 1, 2);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return lang(args, dynamic_context());
- }
-
- /**
- * Language operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:lang operation.
- */
- public static ResultSequence lang(Collection args, DynamicContext context) throws DynamicError {
-
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- // get arg
- Iterator citer = cargs.iterator();
- ResultSequence arg1 = (ResultSequence) citer.next();
- ResultSequence arg2 = null;
- if (cargs.size() == 1) {
- if (context.context_item() == null) {
- throw DynamicError.contextUndefined();
- }
- arg2 = ResultSequenceFactory.create_new();
- arg2.add(context.context_item());
- } else {
- arg2 = (ResultSequence) citer.next();
- }
-
- String lang = "";
-
- if (!arg1.empty()) {
- lang = ((XSString) arg1.first()).value();
- }
-
-
- if (!(arg2.first() instanceof NodeType) ) {
- throw DynamicError.invalidType();
- }
-
- NodeType an = (NodeType) arg2.first();
-
- rs.add(new XSBoolean(test_lang(an.node_value(), lang)));
-
- return rs;
- }
-
- /**
- * Language test operation.
- *
- * @param node
- * Node to test.
- * @param lang
- * Language to test for.
- * @return Boolean result of operation.
- */
- private static boolean test_lang(Node node, String lang) {
- NamedNodeMap attrs = node.getAttributes();
-
- if (attrs != null) {
- for (int i = 0; i < attrs.getLength(); i++) {
- Attr attr = (Attr) attrs.item(i);
-
- if (!"xml:lang".equals(attr.getName()))
- continue;
-
- String xmllangValue = attr.getValue();
- int hyphenIndex = xmllangValue.indexOf('-');
-
- if (hyphenIndex > -1) {
- xmllangValue = xmllangValue.substring(0, hyphenIndex);
- }
-
-
- String langLanguage = lang;
- if (lang.length() > 2) {
- langLanguage = lang.substring(0, 2);
- }
-
- return xmllangValue.equalsIgnoreCase(langLanguage);
- }
- }
-
- Node parent = node.getParentNode();
- if (parent == null)
- return false;
-
- return test_lang(parent, lang);
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
-
- _expected_args.add(new SeqType(new XSString(), SeqType.OCC_QMARK));
- _expected_args.add(new SeqType(SeqType.OCC_NONE));
- }
-
- return _expected_args;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnLast.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnLast.java
deleted file mode 100644
index 8fe0264..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnLast.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger;
-
-import java.math.BigInteger;
-import java.util.Collection;
-
-/**
- * Returns an xs:integer indicating the number of items in the sequence of items
- * currently being processed. If the context item is undefined, an error is
- * raised [err:FONC0001].
- */
-public class FnLast extends Function {
- /**
- * Constructor for FnLast.
- */
- public FnLast() {
- super(new QName("last"), 0);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return last(args, dynamic_context());
- }
-
- /**
- * Last operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @param dc
- * Result of dynamic context operation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:last operation.
- */
- public static ResultSequence last(Collection args, DynamicContext dc)
- throws DynamicError {
- assert args.size() == 0;
-
- if (dc.focus() == null || dc.context_item() == null) {
- throw DynamicError.contextUndefined();
- }
-
- int last = dc.last();
-
- assert last != 0;
-
- return ResultSequenceFactory.create_new(new XSInteger(BigInteger.valueOf(last)));
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnLocalName.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnLocalName.java
deleted file mode 100644
index 9d821d3..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnLocalName.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * David Carver - STAR - bug 262765 - fixed implementation of fn:local-name according to spec.
- * Jesper Steen Moeller - bug 285145 - implement full arity checking
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSString;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-/**
- * Returns the local part of the name of $arg as an xs:string that will either
- * be the zero-length string or will have the lexical form of an xs:NCName.
- */
-public class FnLocalName extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnLocalName.
- */
- public FnLocalName() {
- super(new QName("local-name"), 0, 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return local_name(args, dynamic_context());
- }
-
- /**
- * Local-Name operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:local-name operation.
- */
- public static ResultSequence local_name(Collection args, DynamicContext context)
- throws DynamicError {
-
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- // get arg
- ResultSequence arg1 = null;
-
- if (cargs.isEmpty()) {
- if (context.context_item() == null)
- throw DynamicError.contextUndefined();
- else {
- arg1 = ResultSequenceFactory.create_new();
- arg1.add(context.context_item());
- }
- } else {
- arg1 = (ResultSequence) cargs.iterator().next();
-
- }
-
- if (arg1.empty()) {
- rs.add(new XSString(""));
- return rs;
- }
-
- NodeType an = (NodeType) arg1.first();
-
-
- QName name = an.node_name();
-
- String sname = "";
- if (name != null)
- sname = name.local();
-
- rs.add(new XSString(sname));
-
- return rs;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- SeqType arg = new SeqType(SeqType.OCC_QMARK);
- _expected_args.add(arg);
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnLocalNameFromQName.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnLocalNameFromQName.java
deleted file mode 100644
index af3475c..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnLocalNameFromQName.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSNCName;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-/**
- * Returns an xs:NCNAME representing the local part of $arg. If $arg is the
- * empty sequence, returns the empty sequence.
- */
-public class FnLocalNameFromQName extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnLocalNameFromQName.
- */
- public FnLocalNameFromQName() {
- super(new QName("local-name-from-QName"), 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return local_name(args);
- }
-
- /**
- * Local-Name-from-QName operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:local-name-from-QName operation.
- */
- public static ResultSequence local_name(Collection args)
- throws DynamicError {
-
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- // get arg
- ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
- if (arg1.empty())
- return rs;
-
- QName qname = (QName) arg1.first();
-
- rs.add(new XSNCName(qname.local()));
-
- return rs;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- SeqType arg = new SeqType(new QName(), SeqType.OCC_QMARK);
- _expected_args.add(arg);
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnLowerCase.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnLowerCase.java
deleted file mode 100644
index 2250459..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnLowerCase.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * David Carver - bug 282096 - improvements for surrogate handling
- * Jesper Steen Moeller - bug 282096 - clean up string storage
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSString;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-/**
- * <p>
- * Conversion to lower-case function.
- * </p>
- *
- * <p>
- * Usage: fn:lower-case($arg as xs:string?) as xs:string
- * </p>
- *
- * <p>
- * This class returns the value of $arg after translating every character to its
- * lower-case correspondent. Every character that does not have an lower-case
- * correspondent is included in the returned value in its original form.
- * </p>
- *
- * <p>
- * If the value of $arg is the empty sequence, the zero-length string is
- * returned.
- * </p>
- */
-public class FnLowerCase extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnLowerCase.
- */
- public FnLowerCase() {
- super(new QName("lower-case"), 1);
- }
-
- /**
- * Evaluate the arguments.
- *
- * @param args
- * are evaluated.
- * @throws DynamicError
- * Dynamic error.
- * @return The evaluation of the arguments being converted to lower case.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return lower_case(args);
- }
-
- /**
- * Convert arguments to lower case.
- *
- * @param args
- * are converted to lower case.
- * @throws DynamicError
- * Dynamic error.
- * @return The result of converting the arguments to lower case.
- */
- public static ResultSequence lower_case(Collection args)
- throws DynamicError {
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg1.empty()) {
- rs.add(new XSString(""));
- return rs;
- }
-
- String str = ((XSString) arg1.first()).value();
-
- rs.add(new XSString(str.toLowerCase()));
-
- return rs;
- }
-
- /**
- * Calculate the expected arguments.
- *
- * @return The expected arguments.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- _expected_args.add(new SeqType(new XSString(), SeqType.OCC_QMARK));
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMatches.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMatches.java
deleted file mode 100644
index 3ccada5..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMatches.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * David Carver - bug 282096 - improvements for surrogate handling
- * David Carver - bug 262765 - improvements to Regular Expression
- * Jesper Steen Moeller - bug 282096 - clean up string storage
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSBoolean;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSString;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.regex.PatternSyntaxException;
-
-/**
- * The function returns true if $input matches the regular expression supplied
- * as $pattern as influenced by the value of $flags, if present; otherwise, it
- * returns false.
- */
-public class FnMatches extends AbstractRegExFunction {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnMatches.
- */
- public FnMatches() {
- super(new QName("matches"), 2, 3);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return matches(args);
- }
-
- /**
- * Matches operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:matches operation.
- */
- public static ResultSequence matches(Collection args) throws DynamicError {
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- // get args
- Iterator argiter = cargs.iterator();
- ResultSequence arg1 = (ResultSequence) argiter.next();
- String str1 = "";
- if (!arg1.empty()) {
- str1 = ((XSString) arg1.first()).value();
- }
-
- ResultSequence arg2 = (ResultSequence) argiter.next();
- String pattern = ((XSString) arg2.first()).value();
- String flags = null;
-
- if (argiter.hasNext()) {
- ResultSequence flagRS = null;
- flagRS = (ResultSequence) argiter.next();
- flags = flagRS.first().string_value();
- if (validflags.indexOf(flags) == -1 && flags.length() > 0 ) {
- throw DynamicError.regex_flags_error(null);
- }
- }
-
- try {
- boolean result = false;
- result = matches(pattern, flags, str1);
- rs.add(new XSBoolean(result));
- return rs;
- } catch (PatternSyntaxException pex) {
- throw DynamicError.regex_error(pex.getMessage());
- }
- }
-
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- SeqType arg = new SeqType(new XSString(), SeqType.OCC_QMARK);
- _expected_args.add(arg);
- _expected_args.add(new SeqType(new XSString(), SeqType.OCC_NONE));
- _expected_args.add(new SeqType(new XSString(), SeqType.OCC_NONE));
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMax.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMax.java
deleted file mode 100644
index d01d69b..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMax.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper Moller - bug 280555 - Add pluggable collation support
- * David Carver (STAR) - bug 262765 - fixed promotion issue
- * Jesper Moller - bug 281028 - fix promotion rules for fn:max
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDouble;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSFloat;
-import org.eclipse.wst.xml.xpath2.processor.internal.utils.ComparableTypePromoter;
-import org.eclipse.wst.xml.xpath2.processor.internal.utils.TypePromoter;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- * Selects an item from the input sequence $arg whose value is greater than or
- * equal to the value of every other item in the input sequence. If there are
- * two or more such items, then the specific item whose value is returned is
- * implementation dependent.
- */
-public class FnMax extends Function {
- /**
- * Constructor for FnMax.
- */
- public FnMax() {
- super(new QName("max"), 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return max(args, dynamic_context());
- }
-
- /**
- * Max operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @param context
- * Relevant dynamic context
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:max operation.
- */
- public static ResultSequence max(Collection args, DynamicContext context) throws DynamicError {
-
- ResultSequence arg = get_arg(args, CmpGt.class);
- if (arg.empty())
- return ResultSequenceFactory.create_new();
-
- CmpGt max = null;
-
- TypePromoter tp = new ComparableTypePromoter();
- tp.considerSequence(arg);
-
- for (Iterator i = arg.iterator(); i.hasNext();) {
- AnyAtomicType conv = tp.promote((AnyType) i.next());
-
- if (conv instanceof XSDouble && ((XSDouble)conv).nan() || conv instanceof XSFloat && ((XSFloat)conv).nan()) {
- return ResultSequenceFactory.create_new(tp.promote(new XSFloat(Float.NaN)));
- }
- if (max == null || ((CmpGt)conv).gt((AnyType)max, context)) {
- max = (CmpGt)conv;
- }
- }
- return ResultSequenceFactory.create_new((AnyType) max);
- }
-
- /**
- * Obtain arguments.
- *
- * @param args
- * input expressions.
- * @param op
- * input class.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of operation.
- */
- public static ResultSequence get_arg(Collection args, Class op)
- throws DynamicError {
- assert args.size() == 1;
-
- ResultSequence arg = (ResultSequence) args.iterator().next();
-
- return arg;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMin.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMin.java
deleted file mode 100644
index 69cb785..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMin.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper Moller - bug 280555 - Add pluggable collation support
- * David Carver (STAR) - bug 262765 - fixed promotion issue
- * Jesper Moller - bug 281028 - fix promotion rules for fn:min
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDouble;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSFloat;
-import org.eclipse.wst.xml.xpath2.processor.internal.utils.ComparableTypePromoter;
-import org.eclipse.wst.xml.xpath2.processor.internal.utils.TypePromoter;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- * selects an item from the input sequence $arg whose value is less than or
- * equal to the value of every other item in the input sequence. If there are
- * two or more such items, then the specific item whose value is returned is
- * implementation independent.
- */
-public class FnMin extends Function {
- /**
- * Constructor for FnMin.
- */
- public FnMin() {
- super(new QName("min"), 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return min(args, dynamic_context());
- }
-
- /**
- * Min operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @param dynamic
- * Dynamic context
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:min operation.
- */
- public static ResultSequence min(Collection args, DynamicContext context) throws DynamicError {
-
- ResultSequence arg = FnMax.get_arg(args, CmpLt.class);
- if (arg.empty())
- return ResultSequenceFactory.create_new();
-
- CmpLt max = null;
-
- TypePromoter tp = new ComparableTypePromoter();
- tp.considerSequence(arg);
-
- for (Iterator i = arg.iterator(); i.hasNext();) {
- AnyAtomicType conv = tp.promote((AnyType) i.next());
-
- if (conv instanceof XSDouble && ((XSDouble)conv).nan() || conv instanceof XSFloat && ((XSFloat)conv).nan()) {
- return ResultSequenceFactory.create_new(tp.promote(new XSFloat(Float.NaN)));
- }
- if (max == null || ((CmpLt)conv).lt((AnyType)max, context)) {
- max = (CmpLt)conv;
- }
- }
- return ResultSequenceFactory.create_new((AnyType) max);
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMinutesFromDateTime.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMinutesFromDateTime.java
deleted file mode 100644
index 2882e9a..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMinutesFromDateTime.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDateTime;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger;
-
-import java.math.BigInteger;
-import java.util.ArrayList;
-import java.util.Collection;
-
-/**
- * Returns an xs:integer value between 0 and 59, both inclusive, representing
- * the minute component in the localized value of $arg. If $arg is the empty
- * sequence, returns the empty sequence.
- */
-public class FnMinutesFromDateTime extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnMinutesFromDateTime.
- */
- public FnMinutesFromDateTime() {
- super(new QName("minutes-from-dateTime"), 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return minutes_from_date_time(args);
- }
-
- /**
- * Minutes-from-DateTime operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:minutes-from-dateTime operation.
- */
- public static ResultSequence minutes_from_date_time(Collection args)
- throws DynamicError {
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg1.empty()) {
- return rs;
- }
-
- XSDateTime dt = (XSDateTime) arg1.first();
-
- int res = dt.minute();
-
- rs.add(new XSInteger(BigInteger.valueOf(res)));
-
- return rs;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- _expected_args
- .add(new SeqType(new XSDateTime(), SeqType.OCC_QMARK));
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMinutesFromDuration.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMinutesFromDuration.java
deleted file mode 100644
index 6df0b21..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMinutesFromDuration.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 273760 - wrong namespace for functions and data types
- * David Carver (STAR) - bug 282223 - implementation of xs:duration
- * David Carver (STAR) - bug 262765 - fixed expected args for fnMinutesFromDuration
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger;
-
-import java.math.BigInteger;
-import java.util.ArrayList;
-import java.util.Collection;
-
-/**
- * Returns an xs:integer representing the minutes component in the canonical
- * lexical representation of the value of $arg. The result may be negative. If
- * $arg is the empty sequence, returns the empty sequence.
- */
-public class FnMinutesFromDuration extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnMinutesFromDuration.
- */
- public FnMinutesFromDuration() {
- super(new QName("minutes-from-duration"), 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return minutes_from_duration(args);
- }
-
- /**
- * Minutes-from-Duration operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:minutes-from-duration operation.
- */
- public static ResultSequence minutes_from_duration(Collection args)
- throws DynamicError {
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg1.empty()) {
- return rs;
- }
-
- XSDuration dtd = (XSDuration) arg1.first();
-
- int res = dtd.minutes();
-
- if (dtd.negative())
- res *= -1;
-
- rs.add(new XSInteger(BigInteger.valueOf(res)));
-
- return rs;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- _expected_args.add(new SeqType(new XSDuration(),
- SeqType.OCC_QMARK));
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMinutesFromTime.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMinutesFromTime.java
deleted file mode 100644
index 32bc80e..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMinutesFromTime.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSTime;
-
-import java.math.BigInteger;
-import java.util.ArrayList;
-import java.util.Collection;
-
-/**
- * Returns an xs:integer value between 0 to 59, both inclusive, representing the
- * value of the minutes component in the localized value of $arg. If $arg is the
- * empty sequence, returns the empty sequence.
- */
-public class FnMinutesFromTime extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnMinutesFromTime.
- */
- public FnMinutesFromTime() {
- super(new QName("minutes-from-time"), 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return minutes_from_time(args);
- }
-
- /**
- * Minutes-from-Time operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:minutes-from-time operation.
- */
- public static ResultSequence minutes_from_time(Collection args)
- throws DynamicError {
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg1.empty()) {
- return rs;
- }
-
- XSTime dt = (XSTime) arg1.first();
-
- int res = dt.minute();
-
- rs.add(new XSInteger(BigInteger.valueOf(res)));
-
- return rs;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- _expected_args.add(new SeqType(new XSTime(), SeqType.OCC_QMARK));
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMonthFromDate.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMonthFromDate.java
deleted file mode 100644
index accb72e..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMonthFromDate.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDate;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger;
-
-import java.math.BigInteger;
-import java.util.ArrayList;
-import java.util.Collection;
-
-/**
- * Returns an xs:integer between 1 and 12, both inclusive, representing the
- * month component in the localized value of $arg. If $arg is the empty
- * sequence, returns the empty sequence.
- */
-public class FnMonthFromDate extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnMonthFromDate.
- */
- public FnMonthFromDate() {
- super(new QName("month-from-date"), 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return month_from_date(args);
- }
-
- /**
- * Month-from-Date operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:month-from-date operation.
- */
- public static ResultSequence month_from_date(Collection args)
- throws DynamicError {
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg1.empty()) {
- return rs;
- }
-
- XSDate dt = (XSDate) arg1.first();
-
- int res = dt.month();
-
- rs.add(new XSInteger(BigInteger.valueOf(res)));
-
- return rs;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- _expected_args.add(new SeqType(new XSDate(), SeqType.OCC_QMARK));
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMonthFromDateTime.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMonthFromDateTime.java
deleted file mode 100644
index d8dba1b..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMonthFromDateTime.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 274805 - improvements to xs:integer data type
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDateTime;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger;
-
-import java.math.BigInteger;
-import java.util.ArrayList;
-import java.util.Collection;
-
-/**
- * Returns an xs:integer between 1 and 12, both inclusive, representing the
- * month component in the localized value of $arg. If $arg is the empty
- * sequence, returns the empty sequence.
- */
-public class FnMonthFromDateTime extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnMonthFromDateTime.
- */
- public FnMonthFromDateTime() {
- super(new QName("month-from-dateTime"), 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return month_from_date_time(args);
- }
-
- /**
- * Month-from-DateTime operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:month-from-dateTime operation.
- */
- public static ResultSequence month_from_date_time(Collection args)
- throws DynamicError {
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg1.empty()) {
- return rs;
- }
-
- XSDateTime dt = (XSDateTime) arg1.first();
-
- int res = dt.month();
-
- rs.add(new XSInteger(BigInteger.valueOf(res)));
-
- return rs;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- _expected_args
- .add(new SeqType(new XSDateTime(), SeqType.OCC_QMARK));
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMonthsFromDuration.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMonthsFromDuration.java
deleted file mode 100644
index 5a31e62..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnMonthsFromDuration.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 273760 - wrong namespace for functions and data types
- * Mukul Gandhi - bug 274805 - improvements to xs:integer data type
- * David Carver - bug 282223 - implementation of xs:duration.
- * David Carver (STAR) - bug 262765 - fixed expected xs:duration argument
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger;
-
-import java.math.BigInteger;
-import java.util.ArrayList;
-import java.util.Collection;
-
-/**
- * Returns an xs:integer representing the months component in the canonical
- * lexical representation of the value of $arg. The result may be negative. If
- * $arg is the empty sequence, returns the empty sequence.
- */
-public class FnMonthsFromDuration extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnMonthsFromDuration.
- */
- public FnMonthsFromDuration() {
- super(new QName("months-from-duration"), 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return months_from_duration(args);
- }
-
- /**
- * Months-from-Duration operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:months-from-duration operation.
- */
- public static ResultSequence months_from_duration(Collection args)
- throws DynamicError {
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg1.empty()) {
- return rs;
- }
-
- XSDuration ymd = (XSDuration) arg1.first();
-
- int res = ymd.month();
-
- if (ymd.negative())
- res *= -1;
-
- rs.add(new XSInteger(BigInteger.valueOf(res)));
-
- return rs;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- _expected_args.add(new SeqType(new XSDuration(),
- SeqType.OCC_QMARK));
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnName.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnName.java
deleted file mode 100644
index 34d6d2d..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnName.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * David Carver - STAR - bug 262765 - Fixed arguments for Name function.
- * Jesper Steen Moeller - bug 285145 - implement full arity checking
- * Mukul Gandhi - bug 301539 - fixed "context undefined" bug in case of zero
- * arity.
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSString;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-/**
- * Returns the name of a node, as an xs:string that is either the zero-length
- * string, or has the lexical form of an xs:QName.
- */
-public class FnName extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnName.
- */
- public FnName() {
- super(new QName("name"), 0, 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return name(args, dynamic_context());
- }
-
- /**
- * Name operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @param context
- * Dynamic context.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:name operation.
- */
- public static ResultSequence name(Collection args, DynamicContext context) throws DynamicError {
-
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- // get arg
- ResultSequence arg1 = null;
-
- if (cargs.isEmpty()) {
- if (context.context_item() == null)
- throw DynamicError.contextUndefined();
- else {
- arg1 = ResultSequenceFactory.create_new();
- arg1.add(context.context_item());
- }
- } else {
- arg1 = (ResultSequence) cargs.iterator().next();
- }
-
- if (arg1.empty()) {
- rs.add(new XSString(""));
- return rs;
- }
-
- NodeType an = (NodeType) arg1.first();
-
- QName name = an.node_name();
-
- String sname = "";
- if (name != null)
- sname = name.string_value();
-
- rs.add(new XSString(sname));
-
- return rs;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- SeqType arg = new SeqType(SeqType.OCC_QMARK);
- _expected_args.add(arg);
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNamespaceUri.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNamespaceUri.java
deleted file mode 100644
index 0c8588b..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNamespaceUri.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * David Carver - bug 262765 - corrected implementation according to spec.
- * Jesper Steen Moeller - bug 285145 - implement full arity checking
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSAnyURI;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-/**
- * Returns the namespace URI of the xs:QName of $arg.
- */
-public class FnNamespaceUri extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnNamespaceUri.
- */
- public FnNamespaceUri() {
- super(new QName("namespace-uri"), 0, 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return namespace_uri(args, dynamic_context());
- }
-
- /**
- * Namespace-Uri operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:namespace-uri operation.
- */
- public static ResultSequence namespace_uri(Collection args,
- DynamicContext context) throws DynamicError {
-
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- ResultSequence rs = ResultSequenceFactory.create_new();
- ResultSequence arg1 = null;
- if (cargs.isEmpty()) {
- if (context.context_item() == null) {
- throw DynamicError.contextUndefined();
- }
- arg1 = ResultSequenceFactory.create_new();
- arg1.add(context.context_item());
- } else {
- // get arg
- arg1 = (ResultSequence) cargs.iterator().next();
- }
-
- if (arg1.empty()) {
- rs.add(new XSAnyURI(""));
- return rs;
- }
-
- NodeType an = (NodeType) arg1.first();
-
- QName name = an.node_name();
-
- String sname = "";
- if (name != null)
- sname = name.namespace();
-
- rs.add(new XSAnyURI(sname));
-
- return rs;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- SeqType arg = new SeqType(SeqType.OCC_QMARK);
- _expected_args.add(arg);
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNamespaceUriFromQName.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNamespaceUriFromQName.java
deleted file mode 100644
index b71d5eb..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNamespaceUriFromQName.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSAnyURI;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-/**
- * Returns the namespace URI for $arg as an xs:string. If $arg is the empty
- * sequence, the empty sequence is returned. If $arg is in no namespace, the
- * zero-length string is returned.
- */
-public class FnNamespaceUriFromQName extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnNamespaceUriFromQName.
- */
- public FnNamespaceUriFromQName() {
- super(new QName("namespace-uri-from-QName"), 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return namespace(args);
- }
-
- /**
- * Namespace-uri-from-QName operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:namespace-uri-from-QName operation.
- */
- public static ResultSequence namespace(Collection args) throws DynamicError {
-
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- // get arg
- ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
- if (arg1.empty())
- return rs;
-
- QName qname = (QName) arg1.first();
-
- String ns = qname.namespace();
-
- if (ns == null)
- ns = "";
- rs.add(new XSAnyURI(ns));
-
- return rs;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- SeqType arg = new SeqType(new QName(), SeqType.OCC_QMARK);
- _expected_args.add(arg);
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNilled.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNilled.java
deleted file mode 100644
index 9ed938f..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNilled.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper Steen Moeller - bug 285145 - implement full arity checking
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-/**
- * Returns an xs:boolean indicating whether the argument node is "nilled". If
- * the argument is not an element node, returns the empty sequence.
- */
-public class FnNilled extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnNilled.
- */
- public FnNilled() {
- super(new QName("nilled"), 0, 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return nilled(args);
- }
-
- /**
- * Nilled operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:nilled operation.
- */
- public static ResultSequence nilled(Collection args) throws DynamicError {
-
- Collection cargs = Function.convert_arguments(args, expected_args());
-
-
- ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
- if (arg1.empty()) {
- return arg1;
- }
- NodeType nt = (NodeType) arg1.first();
-
- return nt.nilled();
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- _expected_args.add(new SeqType(SeqType.OCC_QMARK));
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNodeName.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNodeName.java
deleted file mode 100644
index 2bfbb8e..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNodeName.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-/**
- * Returns an expanded-QName for node kinds that can have names. For other kinds
- * of nodes it returns the empty sequence. If $arg is the empty sequence, the
- * empty sequence is returned.
- */
-public class FnNodeName extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnNodeName.
- */
- public FnNodeName() {
- super(new QName("node-name"), 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return node_name(args);
- }
-
- /**
- * Node-Name operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:node-name operation.
- */
- public static ResultSequence node_name(Collection args) throws DynamicError {
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
- if (arg1.empty())
- return rs;
-
- NodeType nt = (NodeType) arg1.first();
-
- QName nodename = nt.node_name();
- if (nodename == null)
- return rs;
-
- rs.add(nodename);
-
- return rs;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- _expected_args.add(new SeqType(SeqType.OCC_QMARK));
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNormalizeSpace.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNormalizeSpace.java
deleted file mode 100644
index 431ad86..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNormalizeSpace.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 274471 - improvements to normalize-space function (support for arity 0)
- * David Carver (STAR) - bug 262765 - correct implementation to correctly get context node
- * Jesper Steen Moeller - bug 285145 - implement full arity checking
- * Jesper Steen Moller - bug 281938 - handle context and empty sequences correctly
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSString;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-/**
- * <p>
- * Function to normalize whitespace.
- * </p>
- *
- * <p>
- * Usage: fn:normalize-space($arg as xs:string?) as xs:string
- * </p>
- *
- * <p>
- * This class returns the value of $arg with whitespace normalized by stripping
- * leading and trailing whitespace and replacing sequences of one or more than
- * one whitespace character with a single space, #x20.
- * </p>
- *
- * <p>
- * The whitespace characters are defined as TAB (#x9), LINE FEED (#xA), CARRIAGE
- * RETURN (#xD) and SPACE (#x20). If the value of $arg is the empty sequence,
- * the class returns the zero-length string.
- * </p>
- */
-public class FnNormalizeSpace extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnNormalizeSpace.
- */
- public FnNormalizeSpace() {
- super(new QName("normalize-space"), 0, 1);
- }
-
- /**
- * Evaluate the arguments.
- *
- * @param args
- * are evaluated.
- * @throws DynamicError
- * Dynamic error.
- * @return The evaluation of the space in the arguments being normalized.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return normalize_space(args, dynamic_context());
- }
-
- /**
- * Normalize space in the arguments.
- *
- * @param args
- * are used to obtain space from, in order to be normalized.
- * @throws DynamicError
- * Dynamic error.
- * @return The result of normalizing the space in the arguments.
- */
- public static ResultSequence normalize_space(Collection args, DynamicContext d_context)
- throws DynamicError {
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- ResultSequence arg1 = null;
-
- if (cargs.isEmpty()) {
- // support for arity = 0
- arg1 = getResultSetForArityZero(d_context);
- }
- else {
- arg1 = (ResultSequence) cargs.iterator().next();
- }
-
- ResultSequence rs = ResultSequenceFactory.create_new();
- String str = "";
- if (! arg1.empty()) {
- str = ((XSString) arg1.first()).value();
- }
- rs.add(new XSString(normalize(str)));
- return rs;
- }
-
- /**
- * The normalizing process.
- *
- * @param str
- * is the string that space will be normalized in.
- * @return The result of the normalizing operation.
- */
- // XXX fix this
- public static String normalize(String str) {
- StringBuffer sb = new StringBuffer();
-
- int state = 0; // 0 begin
- // 1 middle
- // 2 end
- // 3 skipping
-
- for (int i = 0; i < str.length(); i++) {
- char x = str.charAt(i);
-
- boolean white = is_whitespace(x);
-
- switch (state) {
- // doing the beginning
- case 0:
- if (white)
- continue;
- else {
- sb.append(x);
- state = 1;
- }
- break;
-
- // doing the middle
- case 1:
- if (white) {
- state = 3;
- sb.append(' ');
- } else
- sb.append(x);
- break;
-
- case 3:
- if (!white) {
- state = 1;
- sb.append(x);
- }
- break;
-
- default:
- assert false;
- }
- }
-
- // now basically we can only have a whitespace at the end...
- String result = sb.toString();
- int len = result.length();
-
- if (len == 0)
- return result;
- if (result.charAt(len - 1) == ' ')
- return result.substring(0, len - 1);
-
- return result;
- }
-
- /**
- * Determine whether a character is whitespace or not.
- *
- * @param x
- * is the character this operation will take place on.
- * @return Whether or not the character is whitespace.
- */
- public static boolean is_whitespace(char x) {
- switch (x) {
- case ' ':
- case '\r':
- case '\t':
- case '\n':
- return true;
- default:
- return false;
- }
- }
-
- /**
- * Calculate the expected arguments.
- *
- * @return The expected arguments.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- _expected_args.add(new SeqType(new XSString(), SeqType.OCC_QMARK));
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNormalizeUnicode.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNormalizeUnicode.java
deleted file mode 100644
index 644661b..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNormalizeUnicode.java
+++ /dev/null
@@ -1,248 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Jesper Steen Moeller, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Jesper Steen Moeller - bug 285152 - implement fn:normalize-unicocde
- * Jesper Steen Moller - bug 290337 - Revisit use of ICU
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSString;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import com.ibm.icu.text.Normalizer;
-
-/**
- * <p>
- * Function to normalize unicode.
- * </p>
- *
- * <p>
- * Usage: fn:normalize-unicode($arg as xs:string?) as xs:string
- * or fn:normalize-unicode($arg as xs:string?, $normalization-form as xs:string) as xs:string
- * </p>
- *
- * <p>
- * This function returns the normalized value of the first argument in the normalization form specified by the second argument.
- * </p>
- *
- */
-public class FnNormalizeUnicode extends Function {
- private static Collection _expected_args = null;
- private static W3CNormalizer normalizer = null;
-
- /**
- * Constructor for FnNormalizeUnicode
- */
- public FnNormalizeUnicode() {
- super(new QName("normalize-unicode"), 1, 2);
- }
-
- /**
- * The common interface which normalizers must adhere to
- */
- public interface W3CNormalizer {
- String normalize(String argument, String normalizationForm) throws DynamicError;
- };
-
- /**
- * W3C normalizer implemented via IBM's ICU
- */
- static class ICUNormalizer implements W3CNormalizer {
-
- private Map modeMap = new HashMap();
- {
- // Can't handle "FULLY-NORMALIZED" yet
-
- modeMap.put("NFC", Normalizer.NFC);
- modeMap.put("NFD", Normalizer.NFD);
- modeMap.put("NFKC", Normalizer.NFKC);
- modeMap.put("NFKD", Normalizer.NFKD);
- }
-
- public String normalize(String argument, String normalizationForm)
- throws DynamicError {
- Normalizer.Mode mode = (Normalizer.Mode)modeMap.get(normalizationForm);
- if (mode != null) {
- return Normalizer.normalize(argument, mode);
- } else {
- throw DynamicError.unsupported_normalization_form(normalizationForm);
- }
- }
- }
-
- /*
- static class JDK6Normalizer implements W3CNormalizer {
- private Method normalizeMethod;
- private Map formMap = new HashMap();
-
- public JDK6Normalizer(Class normalizerCls, Class formCls) throws SecurityException, NoSuchMethodException {
- this.normalizeMethod = normalizerCls.getMethod("normalize", CharSequence.class, formCls);
- Enum[] formConstants = formCls.getEnumConstants();
- for (Enum form : formConstants) {
- formMap.put(form.name(), form);
- }
- // Can't handle "FULLY-NORMALIZED" yet
- }
-
- public String normalize(String argument, String normalizationForm)
- throws DynamicError {
-
- //if (normalizationForm.equals("FULLY-NORMALIZED")) {
- // We can't handle this one yet
- // }
- Enum form = formMap.get(normalizationForm);
- if (form != null) {
- try {
- return (String)normalizeMethod.invoke(null, argument, form);
- } catch (RuntimeException e) {
- throw DynamicError.runtime_error("java.text.Normalizer.normalize(..., \"" + normalizationForm + "\")", e);
- } catch (IllegalAccessException e) {
- throw DynamicError.runtime_error("java.text.Normalizer.normalize(..., \"" + normalizationForm + "\")", e);
- } catch (InvocationTargetException e) {
- throw DynamicError.runtime_error("java.text.Normalizer.normalize(..., \"" + normalizationForm + "\")", e);
- }
- } else {
- throw DynamicError.unsupported_normalization_form(normalizationForm);
- }
- }
- }
- */
-
- static class FailingNormalizer implements W3CNormalizer {
-
- public String normalize(String argument, String normalizationForm)
- throws DynamicError {
- throw DynamicError.unsupported_normalization_form("Can't normalize to form " + normalizationForm + ": No ICU Library or Java 6 found. 'normalize-unicode' requires either 'com.ibm.icu.text.Normalizer' or 'java.text.Normalizer' on the classpath");
- }
- }
-
- /**
- * Evaluate the arguments.
- *
- * @param args
- * are evaluated.
- * @throws DynamicError
- * Dynamic error.
- * @return The evaluation of the space in the arguments being normalized.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return normalize_unicode(args, dynamic_context());
- }
-
- /**
- * Normalize unicode codepoints in the argument.
- *
- * @param args
- * are used to obtain the input string and optionally the normalization type from.
- * @throws DynamicError
- * Dynamic error.
- * @return The result of normalizing the space in the arguments.
- */
- public static ResultSequence normalize_unicode(Collection args, DynamicContext d_context)
- throws DynamicError {
- assert args.size() >= 1 && args.size() <= 2;
-
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- Iterator cargsIterator = cargs.iterator();
- ResultSequence arg1 = (ResultSequence) cargsIterator.next();
-
-
- String normalizationType = "NFC";
- if (cargsIterator.hasNext()) {
- ResultSequence arg2 = (ResultSequence)cargsIterator.next();
- // Trim and convert to upper as per the spec
- if (arg2.empty()) {
- normalizationType = "";
- } else {
- normalizationType = ((XSString) arg2.first()).value().trim().toUpperCase();
- }
- }
-
- String argument = "";
- if (! arg1.empty()) argument = ((XSString) arg1.first()).value();
-
- ResultSequence rs = ResultSequenceFactory.create_new();
- String normalized = normalizationType.equals("") ? argument : getNormalizer().normalize(argument, normalizationType);
- rs.add(new XSString(normalized));
-
- return rs;
- }
-
- private static W3CNormalizer getNormalizer() {
- if (normalizer == null) {
- ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
-
- normalizer = createICUNormalizer(classLoader);
- /*
- if (normalizer == null) {
- normalizer = createJDKNormalizer(classLoader);
- }
- */
- if (normalizer == null) {
- normalizer = new FailingNormalizer();
- }
- }
- return normalizer;
- }
-
- /*
- private static W3CNormalizer createJDKNormalizer(ClassLoader classLoader) {
- // If that fails, we'll check for the Java 6 Normalizer class
- try {
- Class normalizerClass = classLoader.loadClass("java.text.Normalizer");
- Class formClass = classLoader.loadClass("java.text.Normalizer$Form");
-
- return new JDK6Normalizer(normalizerClass, formClass);
- } catch (ClassNotFoundException e) {
- } catch (SecurityException e) {
- } catch (NoSuchMethodException e) {
- }
- return null;
- }
- */
-
- private static W3CNormalizer createICUNormalizer(ClassLoader classLoader) {
- // First attempt is to try the IBM ICU library
- try {
- if (classLoader.loadClass("com.ibm.icu.text.Normalizer") != null) {
- return new ICUNormalizer();
- }
- } catch (ClassNotFoundException e) {
- }
- return null;
- }
-
- /**
- * Calculate the expected arguments.
- *
- * @return The expected arguments.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- _expected_args.add(new SeqType(new XSString(), SeqType.OCC_QMARK));
- _expected_args.add(new SeqType(new XSString(), SeqType.OCC_NONE));
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNot.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNot.java
deleted file mode 100644
index be58516..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNot.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper Steen Moeller - bug 285145 - implement full arity checking
- * Jesper Steen Moller - bug 262765 - propagate possible errors from xs:boolean
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSBoolean;
-
-import java.util.Collection;
-
-/**
- * $arg is first reduced to an effective boolean value by applying the
- * fn:boolean() function. Returns true if the effective boolean value is false,
- * and false if the effective boolean value is true.
- */
-public class FnNot extends Function {
- /**
- * Constructor for FnNot.
- */
- public FnNot() {
- super(new QName("not"), 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @return Result of evaluation.
- * @throws DynamicError
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- // 1 argument only!
- assert args.size() >= min_arity() && args.size() <= max_arity();
-
- ResultSequence argument = (ResultSequence) args.iterator().next();
-
- return fn_not(argument);
- }
-
- /**
- * Not operation.
- *
- * @param arg
- * Result from the expressions evaluation.
- * @return Result of fn:note operation.
- * @throws DynamicError
- */
- public static ResultSequence fn_not(ResultSequence arg) throws DynamicError {
- XSBoolean ret = FnBoolean.fn_boolean(arg);
-
- boolean answer = false;
-
- if (ret.value() == false)
- answer = true;
-
- return ResultSequenceFactory.create_new(new XSBoolean(answer));
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNumber.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNumber.java
deleted file mode 100644
index fdcffbc..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnNumber.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper Steen Moeller - bug 285145 - implement full arity checking
- * Jesper Steen Moeller - bug 262765 - fixes float handling for fn:number
- * Mukul Gandhi - bug 298519 - improvements to fn:number implementation,
- * catering to node arguments.
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.TypeError;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDouble;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSFloat;
-
-import java.util.Collection;
-
-/**
- * Returns the value indicated by $arg or, if $arg is not specified, the context
- * item after atomization, converted to an xs:double. If $arg or the context
- * item cannot be converted to an xs:double, the xs:double value NaN is
- * returned. If the context item is undefined an error is raised:
- * [err:FONC0001].
- */
-public class FnNumber extends Function {
- /**
- * Constructor for FnNumber.
- */
- public FnNumber() {
- super(new QName("number"), 0, 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
-
- assert args.size() >= min_arity() && args.size() <= max_arity();
-
- ResultSequence argument = null;
- if (args.isEmpty()) {
- argument = getResultSetForArityZero(dynamic_context());
- } else {
- argument = (ResultSequence) args.iterator().next();
- }
-
- ResultSequence rs = ResultSequenceFactory.create_new();
- rs.add(fn_number(argument, dynamic_context()));
- return rs;
- }
-
- /**
- * Number operation.
- *
- * @param arg
- * Result from the expressions evaluation.
- * @param dc
- * Result of dynamic context operation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:number operation.
- */
- public static XSDouble fn_number(ResultSequence arg, DynamicContext dc)
- throws DynamicError {
-
- if (arg.size() > 1) {
- throw new DynamicError(TypeError.invalid_type("bad argument passed to fn:number()"));
- } else if (arg.size() == 1) {
- AnyType at = arg.first();
-
- /*
- if (!(at instanceof AnyAtomicType))
- DynamicError.throw_type_error();
- */
-
- if (at instanceof AnyAtomicType) {
- if ((at instanceof XSDouble)) {
- return (XSDouble)at;
- } else if ((at instanceof XSFloat)) {
- float value = ((XSFloat)at).float_value();
- if (Float.isNaN(value)) {
- return new XSDouble(Double.NaN);
- } else if (value == Float.NEGATIVE_INFINITY) {
- return new XSDouble(Double.NEGATIVE_INFINITY);
- } else if (value == Float.POSITIVE_INFINITY) {
- return new XSDouble(Double.POSITIVE_INFINITY);
- } else {
- return new XSDouble((double)value);
- }
- } else {
- XSDouble d = XSDouble.parse_double(at.string_value());
- return d != null ? d : new XSDouble(Double.NaN);
- }
- }
- else if (at instanceof NodeType) {
- XSDouble d = XSDouble.parse_double((FnData.atomize(at)).string_value());
- return d != null ? d : new XSDouble(Double.NaN);
- }
- } else {
- return new XSDouble(Double.NaN);
- }
-
- // unreach
- return null;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnOneOrMore.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnOneOrMore.java
deleted file mode 100644
index 80f76b2..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnOneOrMore.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- * Returns $arg if it contains one or more items. Otherwise, raises an error
- * [err:FORG0004]. The type of the result depends on the type of $arg.
- */
-public class FnOneOrMore extends Function {
- /**
- * Constructor for FnOneOrMore.
- */
- public FnOneOrMore() {
- super(new QName("one-or-more"), 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return one_or_more(args);
- }
-
- /**
- * One-or-More operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:one-or-more operation.
- */
- public static ResultSequence one_or_more(Collection args)
- throws DynamicError {
-
- assert args.size() == 1;
-
- // get args
- Iterator citer = args.iterator();
- ResultSequence arg = (ResultSequence) citer.next();
-
- if (arg.empty())
- throw DynamicError.empty_seq(null);
-
- return arg;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnPosition.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnPosition.java
deleted file mode 100644
index 7cc2c1f..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnPosition.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 274805 - improvements to xs:integer data type
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger;
-
-import java.math.BigInteger;
-import java.util.Collection;
-
-/**
- * Returns an xs:integer indicating the position of the context item within the
- * sequence of items currently being processed. If the context item is
- * undefined, an error is raised [err:FONC0001].
- */
-public class FnPosition extends Function {
- /**
- * Constructor for FnPosition.
- */
- public FnPosition() {
- super(new QName("position"), 0);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return position(args, dynamic_context());
- }
-
- /**
- * Position operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @param dc
- * Result of dynamic context operation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:position operation.
- */
- public static ResultSequence position(Collection args, DynamicContext dc)
- throws DynamicError {
- assert args.size() == 0;
-
- if (dc.focus().context_item() == null) {
- throw DynamicError.contextUndefined();
- }
-
- return ResultSequenceFactory.create_new(new XSInteger(BigInteger.valueOf(dc
- .context_position())));
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnPrefixFromQName.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnPrefixFromQName.java
deleted file mode 100644
index d2a274a..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnPrefixFromQName.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2010 Mukul Gandhi, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Mukul Gandhi - initial API and implementation
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSNCName;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-/**
- * Returns an xs:NCName representing the prefix for $arg. If $arg is the empty
- * sequence, or $arg has no prefix, an empty sequence is returned.
- */
-public class FnPrefixFromQName extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnPrefixFromQName
- */
- public FnPrefixFromQName() {
- super(new QName("prefix-from-QName"), 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return prefix(args, _fl.dynamic_context());
- }
-
- /**
- * Prefix-from-QName operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:prefix-from-QName operation.
- */
- public static ResultSequence prefix(Collection args, DynamicContext dc) throws DynamicError {
-
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- // get arg
- ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
- if (arg1.empty())
- return rs;
-
- QName qname = (QName) arg1.first();
-
- String prefix = qname.prefix();
-
-
- if (prefix != null) {
- if (dc.prefix_exists(prefix)) {
- rs.add(new XSNCName(prefix));
- } else {
- throw DynamicError.invalidPrefix();
- }
- }
-
- return rs;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- SeqType arg = new SeqType(new QName(), SeqType.OCC_QMARK);
- _expected_args.add(arg);
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnQName.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnQName.java
deleted file mode 100644
index ed4374c..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnQName.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.StaticContext;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSString;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- * Returns an xs:QName with the namespace URI given in $paramURI. If $paramURI
- * is the empty string or the empty sequence, it represents "no namespace". The
- * prefix (or absence of a prefix) in $paramQName is retained in the returned
- * xs:QName value. The local name in the result is taken from the local part of
- * $paramQName.
- */
-public class FnQName extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnQName.
- */
- public FnQName() {
- super(new QName("QName"), 2);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return resolve_QName(args, static_context());
- }
-
- /**
- * Resolve the QName of the given arguments.
- *
- * @param args
- * Result from teh expressions evaluation.
- * @param sc
- * Result of static context operation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of the fn:QName operation.
- */
- public static ResultSequence resolve_QName(Collection args, StaticContext sc)
- throws DynamicError {
-
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- // get args
- Iterator argiter = cargs.iterator();
- ResultSequence arg1 = (ResultSequence) argiter.next();
-
- String ns = null;
- if (!arg1.empty())
- ns = ((XSString) arg1.first()).value();
- ResultSequence arg2 = (ResultSequence) argiter.next();
- String name = ((XSString) arg2.first()).value();
-
- QName qn = QName.parse_QName(name);
- if (qn == null)
- throw DynamicError.lexical_error(null);
- qn.set_namespace(ns);
-
- rs.add(qn);
-
- return rs;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- SeqType arg = new SeqType(new XSString(), SeqType.OCC_QMARK);
- _expected_args.add(arg);
- _expected_args.add(new SeqType(new XSString(), SeqType.OCC_NONE));
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnRemove.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnRemove.java
deleted file mode 100644
index ea0f171..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnRemove.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 274805 - improvements to xs:integer data type
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- * Returns a new sequence constructed from the value of $target with the item at
- * the position specified by the value of $position removed. If $position is
- * less than 1 or greater than the number of items in $target, $target is
- * returned. Otherwise, the value returned by the function consists of all items
- * of $target whose index is less than $position, followed by all items of
- * $target whose index is greater than $position. If $target is the empty
- * sequence, the empty sequence is returned.
- */
-public class FnRemove extends Function {
- /**
- * Constructor for FnRemove.
- */
- public FnRemove() {
- super(new QName("remove"), 2);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return remove(args);
- }
-
- /**
- * Remove operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:remove operation.
- */
- public static ResultSequence remove(Collection args) throws DynamicError {
-
- assert args.size() == 2;
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- // get args
- Iterator citer = args.iterator();
- ResultSequence target = (ResultSequence) citer.next();
- ResultSequence arg2 = (ResultSequence) citer.next();
-
- // sanity chex
- if (arg2.size() != 1)
- DynamicError.throw_type_error();
-
- AnyType at = arg2.first();
- if (!(at instanceof XSInteger))
- DynamicError.throw_type_error();
-
- int position = ((XSInteger) at).int_value().intValue();
-
- if (position < 1)
- return target;
-
- if (position > target.size())
- return target;
-
- if (target.empty())
- return rs;
-
- int curpos = 1;
-
- for (Iterator i = target.iterator(); i.hasNext();) {
- at = (AnyType) i.next();
-
- if (curpos != position)
- rs.add(at);
-
- curpos++;
- }
-
- return rs;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnReplace.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnReplace.java
deleted file mode 100644
index 6b22144..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnReplace.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * David Carver (STAR) - bug 262765 - added exception handling to toss correct error numbers.
- * Jesper Steen Moeller - bug 285145 - implement full arity checking
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSString;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.regex.PatternSyntaxException;
-
-/**
- * The function returns the xs:string that is obtained by replacing each
- * non-overlapping substring of $input that matches the given $pattern with an
- * occurrence of the $replacement string.
- */
-public class FnReplace extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for RnReplace.
- */
- public FnReplace() {
- super(new QName("replace"), 3, 4);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return replace(args);
- }
-
- /**
- * Replace operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:replace operation.
- */
- public static ResultSequence replace(Collection args) throws DynamicError {
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- // get args
- Iterator argiter = cargs.iterator();
- ResultSequence arg1 = (ResultSequence) argiter.next();
- String str1 = "";
- if (!arg1.empty())
- str1 = ((XSString) arg1.first()).value();
-
- ResultSequence arg2 = (ResultSequence) argiter.next();
- ResultSequence arg3 = (ResultSequence) argiter.next();
- ResultSequence arg4 = null;
- if (argiter.hasNext()) {
- arg4 = (ResultSequence) argiter.next();
- String flags = arg4.first().string_value();
-
- if (flags.length() == 0) {
- arg4 = null;
- } else if (isFlagValid(flags) == false) {
- throw new DynamicError("FORX0001", "Invalid regular expression. flags");
- }
- }
- String pattern = ((XSString) arg2.first()).value();
- String replacement = ((XSString) arg3.first()).value();
-
- try {
- rs.add(new XSString(str1.replaceAll(pattern, replacement)));
- return rs;
- } catch (PatternSyntaxException err) {
- throw DynamicError.regex_error(null);
- } catch (IllegalArgumentException ex) {
- throw new DynamicError("FORX0004", "invalid regex.");
- } catch (IndexOutOfBoundsException ex) {
- String className = ex.getClass().getName();
- if (className.endsWith("StringIndexOutOfBoundsException")) {
- throw new DynamicError("FORX0004", "result out of bounds");
- }
- throw new DynamicError("FORX0003", "invalid regex.");
- } catch (Exception ex) {
- throw new DynamicError("FORX0004", "invalid regex.");
- }
- }
-
- private static boolean isFlagValid(String flag) {
- char flags[] = {'s', 'm', 'i', 'x'};
-
- for (int i = 0; i < flags.length; i++) {
- if (flag.indexOf(flags[i]) != -1) {
- return true;
- }
- }
-
- return false;
- }
-
-
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- SeqType arg = new SeqType(new XSString(), SeqType.OCC_QMARK);
- _expected_args.add(arg);
- _expected_args.add(new SeqType(new XSString(), SeqType.OCC_NONE));
- _expected_args.add(new SeqType(new XSString(), SeqType.OCC_NONE));
- _expected_args.add(new SeqType(new XSString(), SeqType.OCC_NONE));
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnResolveQName.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnResolveQName.java
deleted file mode 100644
index 9a78bbf..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnResolveQName.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * David Carver (STAR) - bug 288886 - add unit tests and fix fn:resolve-qname function
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.StaticContext;
-import org.eclipse.wst.xml.xpath2.processor.internal.*;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.*;
-import org.w3c.dom.Element;
-
-import java.util.*;
-
-/**
- * Returns an xs:QName value (that is, an expanded-QName) by taking an xs:string
- * that has the lexical form of an xs:QName (a string in the form
- * "prefix:local-name" or "local-name") and resolving it using the in-scope
- * namespaces for a given element.
- */
-public class FnResolveQName extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnResolveQName.
- */
- public FnResolveQName() {
- super(new QName("resolve-QName"), 2);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return resolve_QName(args, static_context());
- }
-
- /**
- * Resolve-QName operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @param sc
- * Result of static context operation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:resolve-QName operation.
- */
- public static ResultSequence resolve_QName(Collection args, StaticContext sc)
- throws DynamicError {
-
- //Collection cargs = Function.convert_arguments(args, expected_args());
- Collection cargs = args;
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- // get args
- Iterator argiter = cargs.iterator();
- ResultSequence arg1 = (ResultSequence) argiter.next();
-
- if (arg1.empty())
- return rs;
-
- ResultSequence arg2 = (ResultSequence) argiter.next();
-
- String name = ((XSString) arg1.first()).value();
-
- QName qn = QName.parse_QName(name);
-
- if (qn == null)
- throw DynamicError.lexical_error(null);
-
- ElementType xselement = (ElementType) arg2.first();
- Element element = (Element) xselement.node_value();
-
- if (qn.prefix() != null) {
- String namespaceURI = element.lookupNamespaceURI(qn.prefix());
-
- if (namespaceURI == null) {
- throw DynamicError.invalidPrefix();
- }
- qn.set_namespace(namespaceURI);
- } else {
- if (qn.local().equals(element.getLocalName()) && element.isDefaultNamespace(element.getNamespaceURI())) {
- qn.set_namespace(element.getNamespaceURI());
- }
- }
-
-
- rs.add(qn);
-
- return rs;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- SeqType arg = new SeqType(new XSString(), SeqType.OCC_QMARK);
- _expected_args.add(arg);
- _expected_args
- .add(new SeqType(new ElementType(), SeqType.OCC_NONE));
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnResolveURI.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnResolveURI.java
deleted file mode 100644
index 9b08a9a..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnResolveURI.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2010 Standards for Technology in Automotive Retail and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * David Carver - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSAnyURI;
-
-import java.net.URI;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- * The purpose of this function is to enable a relative URI to be resolved
- * against an absolute URI. The first form of this function resolves $relative
- * against the value of the base-uri property from the static context. If the
- * base-uri property is not initialized in the static context an error is raised
- * [err:FONS0005].
- *
- * If $relative is a relative URI reference, it is resolved against $base, or
- * the base-uri property from the static context, using an algorithm such as the
- * ones described in [RFC 2396] or [RFC 3986], and the resulting absolute URI
- * reference is returned. An error may be raised [err:FORG0009] in the
- * resolution process. If $relative is an absolute URI reference, it is returned
- * unchanged. If $relative or $base is not a valid xs:anyURI an error is raised
- * [err:FORG0002]. If $relative is the empty sequence, the empty sequence is
- * returned.
- */
-public class FnResolveURI extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnBaseUri.
- */
- public FnResolveURI() {
- super(new QName("resolve-uri"), 1, 2);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return resolveURI(args, dynamic_context());
- }
-
- /**
- * Resolve-URI operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @param d_context
- * Dynamic context
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:resolve-uri operation.
- */
- public static ResultSequence resolveURI(Collection args,
- DynamicContext d_context) throws DynamicError {
- if (d_context.base_uri() == null) {
- throw DynamicError.noBaseURI();
- }
-
- Collection cargs = args;
- Iterator argit = cargs.iterator();
- ResultSequence relativeRS = (ResultSequence) argit.next();
- ResultSequence baseUriRS = null;
- if (argit.hasNext()) {
- baseUriRS = (ResultSequence) argit.next();
- }
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (relativeRS.empty()) {
- return rs;
- }
-
- AnyType relativeURI = relativeRS.first();
- String resolvedURI = null;
-
- if (baseUriRS == null) {
- resolvedURI = resolveURI(d_context.base_uri().string_value(), relativeURI.string_value());
- } else {
- AnyType baseURI = baseUriRS.first();
- resolvedURI = resolveURI(baseURI.string_value(), relativeURI.string_value());
- }
-
- rs.add(new XSAnyURI(resolvedURI));
-
- return rs;
- }
-
- private static String resolveURI(String base, String relative) throws DynamicError {
- String resolved = null;
- try {
- URI baseURI = new URI(base);
- resolved = baseURI.resolve(relative).toString();
- } catch (Exception ex) {
- throw DynamicError.errorResolvingURI();
- }
- return resolved;
- }
-
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- _expected_args.add(new SeqType(SeqType.OCC_QMARK));
- _expected_args.add(new SeqType(SeqType.OCC_NONE));
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnReverse.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnReverse.java
deleted file mode 100644
index b832840..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnReverse.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.ListIterator;
-
-/**
- * <p>
- * Sequence reverse function.
- * </p>
- *
- * <p>
- * Usage: fn:reverse($arg as item()*) as item()*
- * </p>
- *
- * <p>
- * This class reverses the order of items in a sequence. If $arg is the empty
- * sequence, the empty sequence is returned.
- * </p>
- */
-public class FnReverse extends Function {
-
- /**
- * Constructor for FnReverse.
- */
- public FnReverse() {
- super(new QName("reverse"), 1);
- }
-
- /**
- * Evaluate the arguments.
- *
- * @param args
- * are evaluated.
- * @throws DynamicError
- * Dynamic error.
- * @return The evaluation of the reversal of the arguments.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return reverse(args);
- }
-
- /**
- * Reverse the arguments.
- *
- * @param args
- * are reversed.
- * @throws DynamicError
- * Dynamic error.
- * @return The result of the reversal of the arguments.
- */
- public static ResultSequence reverse(Collection args) throws DynamicError {
-
- assert args.size() == 1;
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- // get args
- Iterator citer = args.iterator();
- ResultSequence arg = (ResultSequence) citer.next();
-
- if (arg.empty())
- return rs;
-
- // XXX lame
- ListIterator i = arg.iterator();
-
- while (i.hasNext())
- i.next();
-
- while (i.hasPrevious())
- rs.add((AnyType) i.previous());
-
- return rs;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnRoot.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnRoot.java
deleted file mode 100644
index fc5d89a..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnRoot.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * David Carver - STAR - bug 262765 - clean up fn:root according to spec.
- * Jesper Steen Moeller - bug 285145 - implement full arity checking
- * Jesper Steen Moeller - bug 281159 - tak extra care to find the root
- * Jesper Steen Moller - bug 275610 - Avoid big time and memory overhead for externals
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.TypeError;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-/**
- * Returns the root of the tree to which $arg belongs. This will usually, but
- * not necessarily, be a document node.
- */
-public class FnRoot extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnRoot.
- */
- public FnRoot() {
- super(new QName("root"), 0, 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
-
- assert args.size() >= min_arity() && args.size() <= max_arity();
-
- //ResultSequence argument = (ResultSequence) args.iterator().next();
-
- return fn_root(args, dynamic_context());
- }
-
- /**
- * Root operation.
- *
- * @param arg
- * Result from the expressions evaluation.
- * @param dc
- * Result of dynamic context operation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:root operation.
- */
- public static ResultSequence fn_root(Collection args, DynamicContext dc)
- throws DynamicError {
-
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- // sanity check arg
-// if (cargs.isEmpty())
-// return rs;
-
- if (cargs.size() > 1)
- throw new DynamicError(TypeError.invalid_type(null));
-
- ResultSequence arg = null;
- if (cargs.isEmpty()) {
- arg = ResultSequenceFactory.create_new();
- if (dc.context_item() == null) {
- throw DynamicError.contextUndefined();
- }
- arg.add(dc.context_item());
- } else {
- arg = (ResultSequence) cargs.iterator().next();
- }
-
- if (arg.empty()) {
- return rs;
- }
-
- AnyType aa = arg.first();
-
- if (!(aa instanceof NodeType))
- throw new DynamicError(TypeError.invalid_type(null));
-
- NodeType nt = (NodeType) aa;
-
- // ok we got a sane argument... own it.
-
- Node root = nt.node_value();
-
- while (root != null && ! (root instanceof Document)) {
- Node newroot = root.getParentNode();
- if (newroot == null && root instanceof Attr) {
- newroot = ((Attr)root).getOwnerElement();
- }
-
- // found it
- if (newroot == null)
- break;
-
- root = newroot;
- }
-
- rs.add(NodeType.dom_to_xpath(root));
-
- return rs;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- SeqType arg = new SeqType(SeqType.OCC_QMARK);
- _expected_args.add(arg);
- }
-
- return _expected_args;
- }
-
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnRound.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnRound.java
deleted file mode 100644
index 8341c7d..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnRound.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper Steen Moeller - bug 285145 - implement full arity checking
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-import java.util.Collection;
-
-/**
- * Returns the number with no fractional part that is closest to the argument.
- * If there are two such numbers, then the one that is closest to positive
- * infinity is returned. More formally, fn:round(x) produces the same result as
- * fn:floor(x+0.5). If type of $arg is one of the four numeric types xs:float,
- * xs:double, xs:decimal or xs:integer the type of the return is the same as the
- * type of $arg. If the type of $arg is a type derived from one of the numeric
- * types, the type of the return is the base numeric type.
- */
-public class FnRound extends Function {
- /**
- * Constructor for FnRound.
- */
- public FnRound() {
- super(new QName("round"), 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- // 1 argument only!
- assert args.size() >= min_arity() && args.size() <= max_arity();
-
- ResultSequence argument = (ResultSequence) args.iterator().next();
-
- return fn_round(argument);
- }
-
- /**
- * Round operation.
- *
- * @param arg
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:round operation.
- */
- public static ResultSequence fn_round(ResultSequence arg)
- throws DynamicError {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- // sanity chex
- NumericType nt = FnAbs.get_single_numeric_arg(arg);
-
- // empty arg
- if (nt == null)
- return rs;
-
- rs.add(nt.round());
- return rs;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnRoundHalfToEven.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnRoundHalfToEven.java
deleted file mode 100644
index e9b36e3..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnRoundHalfToEven.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper Steen Moeller - bug 285145 - implement full arity checking
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.TypeError;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- * The value returned is the nearest (that is, numerically closest) numeric to
- * $arg that is a multiple of ten to the power of minus $precision. If two such
- * values are equally near (e.g. if the fractional part in $arg is exactly
- * .500...), returns the one whose least significant digit is even. If type of
- * $arg is one of the four numeric types xs:float, xs:double, xs:decimal or
- * xs:integer the type of the return is the same as the type of $arg. If the
- * type of $arg is a type derived from one of the numeric types, the type of the
- * return is the base numeric type.
- */
-public class FnRoundHalfToEven extends Function {
- /**
- * Constructor for FnRoundHalfToEven.
- */
- public FnRoundHalfToEven() {
- super(new QName("round-half-to-even"), 1, 2);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- ResultSequence argument = (ResultSequence) args.iterator().next();
- if (args.size() == 2) {
- return fn_round_half_to_even(args);
- }
-
- return fn_round_half_to_even(argument);
- }
-
- /**
- * Round-Half-to-Even operation.
- *
- * @param arg
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:round-half-to-even operation.
- */
- public static ResultSequence fn_round_half_to_even(ResultSequence arg)
- throws DynamicError {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- NumericType nt = FnAbs.get_single_numeric_arg(arg);
-
- // empty arg
- if (nt == null)
- return rs;
-
- rs.add(nt.round_half_to_even());
- return rs;
- }
-
- public static ResultSequence fn_round_half_to_even(Collection args) throws DynamicError {
-
- if (args.size() > 2 || args.size() <= 1) {
- throw new DynamicError(TypeError.invalid_type(null));
- }
-
- Iterator argIt = args.iterator();
- ResultSequence rsArg1 = (ResultSequence) argIt.next();
- ResultSequence rsPrecision = (ResultSequence) argIt.next();
-
- NumericType nt = (NumericType) rsArg1.first();
- NumericType ntPrecision = (NumericType) rsPrecision.first();
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- rs.add(nt.round_half_to_even(Integer.parseInt(ntPrecision.string_value())));
- return rs;
-
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSecondsFromDateTime.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSecondsFromDateTime.java
deleted file mode 100644
index 8af07f7..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSecondsFromDateTime.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * David Carver - bug 277774 - XSDEcimal returning wrong values.
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDateTime;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDecimal;
-
-import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.Collection;
-
-/**
- * Returns an xs:decimal value between 0 and 60.999..., both inclusive
- * representing the seconds and fractional seconds in the localized value of
- * $arg. Note that the value can be greater than 60 seconds to accommodate
- * occasional leap seconds used to keep human time synchronized with the
- * rotation of the planet. If $arg is the empty sequence, returns the empty
- * sequence.
- */
-public class FnSecondsFromDateTime extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnSecondsFromDateTime.
- */
- public FnSecondsFromDateTime() {
- super(new QName("seconds-from-dateTime"), 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return seconds_from_date_time(args);
- }
-
- /**
- * Seconds-from-dateTime operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:seconds-from-dateTime operation.
- */
- public static ResultSequence seconds_from_date_time(Collection args)
- throws DynamicError {
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg1.empty()) {
- return rs;
- }
-
- XSDateTime dt = (XSDateTime) arg1.first();
-
- double res = dt.second();
-
- rs.add(new XSDecimal(new BigDecimal(res)));
-
- return rs;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- _expected_args
- .add(new SeqType(new XSDateTime(), SeqType.OCC_QMARK));
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSecondsFromDuration.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSecondsFromDuration.java
deleted file mode 100644
index 553ebd7..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSecondsFromDuration.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 273760 - wrong namespace for functions and data types
- * David Carver - bug 277774 - XSDecimal returning wrong values.
- * David Carver - bug 282223 - implementation of xs:duration
- * David Carver (STAR) - bug 262765 - fixed xs:duration expected argument.
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDecimal;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration;
-
-import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.Collection;
-
-/**
- * Returns an xs:decimal representing the seconds component in the canonical
- * lexical representation of the value of $arg. The result may be negative. If
- * $arg is the empty sequence, returns the empty sequence.
- */
-public class FnSecondsFromDuration extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnSecondsFromDuration.
- */
- public FnSecondsFromDuration() {
- super(new QName("seconds-from-duration"), 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return seconds_from_duration(args);
- }
-
- /**
- * Seconds-from-Duration operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:seconds-from-duration operation.
- */
- public static ResultSequence seconds_from_duration(Collection args)
- throws DynamicError {
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg1.empty()) {
- return rs;
- }
-
- XSDuration dtd = (XSDuration) arg1.first();
-
- double res = dtd.seconds();
-
- if (dtd.negative())
- res *= -1;
-
- rs.add(new XSDecimal(new BigDecimal(res)));
-
- return rs;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- _expected_args.add(new SeqType(new XSDuration(),
- SeqType.OCC_QMARK));
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSecondsFromTime.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSecondsFromTime.java
deleted file mode 100644
index fa08a03..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSecondsFromTime.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * David Carver - bug 277774 - XSDecimal returing wrong values.
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDecimal;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSTime;
-
-import java.math.BigDecimal;
-import java.util.ArrayList;
-import java.util.Collection;
-
-/**
- * Returns an xs:decimal value between 0 and 60.999..., both inclusive,
- * representing the seconds and fractional seconds in the localized value of
- * $arg. Note that the value can be greater than 60 seconds to accommodate
- * occasional leap seconds used to keep human time synchronized with the
- * rotation of the planet. If $arg is the empty sequence, returns the empty
- * sequence.
- */
-public class FnSecondsFromTime extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnSecondsFromTime.
- */
- public FnSecondsFromTime() {
- super(new QName("seconds-from-time"), 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return seconds_from_time(args);
- }
-
- /**
- * Base-Uri operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:base-uri operation.
- */
- public static ResultSequence seconds_from_time(Collection args)
- throws DynamicError {
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg1.empty()) {
- return rs;
- }
-
- XSTime dt = (XSTime) arg1.first();
-
- double res = dt.second();
-
- rs.add(new XSDecimal(new BigDecimal(res)));
-
- return rs;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- _expected_args.add(new SeqType(new XSTime(), SeqType.OCC_QMARK));
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnStartsWith.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnStartsWith.java
deleted file mode 100644
index 008198c..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnStartsWith.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSBoolean;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSString;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- * Returns an xs:boolean indicating whether or not the value of $arg1 starts
- * with a sequence of collation units that provides a minimal match to the
- * collation units of $arg2 according to the collation that is used.
- */
-public class FnStartsWith extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnStartsWith.
- */
- public FnStartsWith() {
- super(new QName("starts-with"), 2);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return starts_with(args);
- }
-
- /**
- * Starts-with operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:starts-with operation.
- */
- public static ResultSequence starts_with(Collection args)
- throws DynamicError {
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- // get args
- Iterator argiter = cargs.iterator();
- ResultSequence arg1 = (ResultSequence) argiter.next();
- String str1 = "";
- String str2 = "";
- if (!arg1.empty())
- str1 = ((XSString) arg1.first()).value();
-
- ResultSequence arg2 = (ResultSequence) argiter.next();
- if (!arg2.empty())
- str2 = ((XSString) arg2.first()).value();
-
- int str1len = str1.length();
- int str2len = str2.length();
-
- if (str1len == 0 && str2len != 0) {
- rs.add(new XSBoolean(false));
- return rs;
- }
- if (str2len == 0) {
- rs.add(new XSBoolean(true));
- return rs;
- }
-
- if (str1.startsWith(str2))
- rs.add(new XSBoolean(true));
- else
- rs.add(new XSBoolean(false));
-
- return rs;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- SeqType arg = new SeqType(new XSString(), SeqType.OCC_QMARK);
- _expected_args.add(arg);
- _expected_args.add(arg);
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnStaticBaseUri.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnStaticBaseUri.java
deleted file mode 100644
index 15c91c5..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnStaticBaseUri.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.StaticContext;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-import java.util.Collection;
-
-/**
- * Returns the value of the base-uri property from the static context. If the
- * base-uri property is undefined, the empty sequence is returned. Components of
- * the static context are discussed in Section C.1 Static Context Components in
- * the specification.
- */
-public class FnStaticBaseUri extends Function {
- /**
- * Constructor for FnStaticBaseUri.
- */
- public FnStaticBaseUri() {
- super(new QName("static-base-uri"), 0);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return static_base_uri(args, static_context());
- }
-
- /**
- * Static-base-Uri operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @param sc
- * Result of static context operation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:static-base-uri operation.
- */
- public static ResultSequence static_base_uri(Collection args,
- StaticContext sc) throws DynamicError {
- assert args.size() == 0;
- assert sc != null;
-
- // make a copy prolly
- return ResultSequenceFactory.create_new(sc.base_uri());
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnString.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnString.java
deleted file mode 100644
index 43bb5fa..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnString.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 274471 - improvements to fn:string function (support for arity 0)
- * Jesper Steen Moeller - bug 285145 - implement full arity checking
- * Jesper Steen Moller - bug 281938 - handle context and empty sequences correctly
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.TypeError;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSString;
-
-import java.util.Collection;
-
-/**
- * Returns the value of $arg represented as a xs:string. If no argument is
- * supplied, this function returns the string value of the context item (.).
- */
-public class FnString extends Function {
- /**
- * Constructor for FnString.
- */
- public FnString() {
- super(new QName("string"), 0, 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return string(args, dynamic_context());
- }
-
- /**
- * String operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:string operation.
- */
- public static ResultSequence string(Collection args, DynamicContext d_context) throws DynamicError {
-
- assert (args.size() == 0 || args.size() == 1);
-
- ResultSequence arg1 = null;
-
- if (args.isEmpty()) {
- // support for arity = 0
- return getResultSetForArityZero(d_context);
- }
- else {
- arg1 = (ResultSequence) args.iterator().next();
- }
-
- // sanity check args
- if (arg1.size() > 1)
- throw new DynamicError(TypeError.invalid_type(null));
-
- ResultSequence rs = ResultSequenceFactory.create_new();
- if (arg1.empty()) {
- rs.add(new XSString(""));
- } else {
- AnyType at = arg1.first();
- rs.add(new XSString(at.string_value()));
- }
-
- return rs;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnStringJoin.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnStringJoin.java
deleted file mode 100644
index 1a3afca..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnStringJoin.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSString;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- * <p>
- * Function to join strings together.
- * </p>
- *
- * <p>
- * Usage: fn:string-join($arg1 as xs:string*, $arg2 as xs:string) as xs:string
- * </p>
- *
- * <p>
- * This class returns a xs:string created by concatenating the members of the
- * $arg1 sequence using $arg2 as a separator. If the value of $arg2 is the
- * zero-length string, then the members of $arg1 are concatenated without a
- * separator.
- * </p>
- *
- * <p>
- * If the value of $arg1 is the empty sequence, the zero-length string is
- * returned.
- * </p>
- */
-public class FnStringJoin extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnStringJoin
- */
- public FnStringJoin() {
- super(new QName("string-join"), 2);
- }
-
- /**
- * Evaluate the arguments.
- *
- * @param args
- * are evaluated.
- * @throws DynamicError
- * Dynamic error.
- * @return The evaluation of the joining of the arguments.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return string_join(args);
- }
-
- /**
- * Join the arguments.
- *
- * @param args
- * are joined.
- * @throws DynamicError
- * Dynamic error.
- * @return The result of the arguments being joined together.
- */
- public static ResultSequence string_join(Collection args)
- throws DynamicError {
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- Iterator argi = cargs.iterator();
- ResultSequence arg1 = (ResultSequence) argi.next();
- ResultSequence arg2 = (ResultSequence) argi.next();
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- String result = "";
- String separator = ((XSString) arg2.first()).value();
-
- StringBuffer buf = new StringBuffer();
- for (Iterator i = arg1.iterator(); i.hasNext();) {
- XSString item = (XSString) i.next();
- buf.append(item.value());
-
- if (i.hasNext())
- buf.append(separator);
- }
-
- result = buf.toString();
- rs.add(new XSString(result));
-
- return rs;
- }
-
- /**
- * Calculate the expected arguments.
- *
- * @return The expected arguments.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- _expected_args.add(new SeqType(new XSString(), SeqType.OCC_STAR));
- _expected_args.add(new SeqType(new XSString(), SeqType.OCC_NONE));
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnStringLength.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnStringLength.java
deleted file mode 100644
index f781b75..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnStringLength.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 274471 - improvements to string-length function (support for arity 0)
- * Mukul Gandhi - bug 274805 - improvements to xs:integer data type
- * Jesper Steen Moeller - bug 285145 - implement full arity checking
- * David Carver - bug 282096 - improvements for surrogate handling
- * Jesper Steen Moeller - bug 282096 - clean up string storage
- * Jesper Steen Moller - bug 281938 - handle context and empty sequences correctly
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSString;
-
-import java.math.BigInteger;
-import java.util.ArrayList;
-import java.util.Collection;
-
-import com.ibm.icu.text.UTF16;
-
-/**
- * <p>
- * Function to calculate string length.
- * </p>
- *
- * <p>
- * Usage: fn:string-length($arg as xs:string?) as xs:integer
- * </p>
- *
- * <p>
- * This class returns an xs:integer equal to the length in characters of the
- * value of $arg.
- * </p>
- *
- * <p>
- * If the value of $arg is the empty sequence, the xs:integer 0 is returned.
- * </p>
- */
-public class FnStringLength extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnStringLength
- */
- public FnStringLength() {
- super(new QName("string-length"), 0, 1);
- }
-
- /**
- * Evaluate the arguments.
- *
- * @param args
- * are evaluated.
- * @throws DynamicError
- * Dynamic error.
- * @return The evaluation of the string length of the arguments.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return string_length(args, dynamic_context());
- }
-
- /**
- * Obtain the string length of the arguments.
- *
- * @param args
- * are used to obtain the string length.
- * @throws DynamicError
- * Dynamic error.
- * @return The result of obtaining the string length from the arguments.
- */
- public static ResultSequence string_length(Collection args, DynamicContext d_context)
- throws DynamicError {
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- ResultSequence arg1 = null;
-
- if (cargs.isEmpty()) {
- // support for arity = 0
- return getResultSetForArityZero(d_context);
- }
- else {
- arg1 = (ResultSequence) cargs.iterator().next();
- }
-
- String str = "";
- if (! arg1.empty()) {
- str = ((XSString) arg1.first()).value();
- }
- ResultSequence rs = ResultSequenceFactory.create_new();
- rs.add(new XSInteger(BigInteger.valueOf(UTF16.countCodePoint(str))));
-
- return rs;
- }
-
- /**
- * Calculate the expected arguments.
- *
- * @return The expected arguments.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- _expected_args.add(new SeqType(new XSString(), SeqType.OCC_QMARK));
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnStringToCodepoints.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnStringToCodepoints.java
deleted file mode 100644
index 7629328..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnStringToCodepoints.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280554 - improvements to the function implementation
- * David Carver - bug 282096 - improvements for surrogate handling
- * Jesper Steen Moeller - bug 282096 - clean up string storage and fix surrogate handling
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSString;
-import org.eclipse.wst.xml.xpath2.processor.internal.utils.CodePointIterator;
-import org.eclipse.wst.xml.xpath2.processor.internal.utils.StringCodePointIterator;
-
-import java.math.BigInteger;
-import java.util.ArrayList;
-import java.util.Collection;
-
-/**
- * Returns the sequence of code points that constitute an xs:string. If $arg is
- * a zero-length string or the empty sequence, the empty sequence is returned.
- */
-public class FnStringToCodepoints extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnStringToCodepoints.
- */
- public FnStringToCodepoints() {
- super(new QName("string-to-codepoints"), 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return string_to_codepoints(args);
- }
-
- /**
- * Base-Uri operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:base-uri operation.
- */
- public static ResultSequence string_to_codepoints(Collection args)
- throws DynamicError {
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
- if (arg1.empty())
- return rs;
-
- XSString xstr = (XSString) arg1.first();
-
- CodePointIterator cpi = new StringCodePointIterator(xstr.value());
-
- for (int codePoint = cpi.current(); codePoint != CodePointIterator.DONE; codePoint = cpi.next()) {
- rs.add(new XSInteger(BigInteger.valueOf(codePoint)));
- }
-
- return rs;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- _expected_args.add(new SeqType(new XSString(), SeqType.OCC_QMARK));
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSubsequence.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSubsequence.java
deleted file mode 100644
index b124766..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSubsequence.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * David Carver - bug 262765 - eased restriction on data type...convert numerics to XSDouble.
- * Jesper S Moller - bug 285806 - fixed fn:subsequence for indexes starting before 1
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDouble;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- * Returns the contiguous sequence of items in the value of $sourceSeq beginning
- * at the position indicated by the value of $startingLoc and continuing for the
- * number of items indicated by the value of $length. More specifically, returns
- * the items in $sourceString whose position $p obeys: - fn:round($startingLoc)
- * <= $p < fn:round($startingLoc) + fn:round($length)
- */
-public class FnSubsequence extends Function {
- /**
- * Constructor for FnSubsequence.
- */
- public FnSubsequence() {
- super(new QName("subsequence"), 3);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return subsequence(args);
- }
-
- /**
- * Subsequence operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:subsequence operation.
- */
- public static ResultSequence subsequence(Collection args)
- throws DynamicError {
-
- assert args.size() == 3;
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- // get args
- Iterator citer = args.iterator();
- ResultSequence seq = (ResultSequence) citer.next();
- ResultSequence startLoc = (ResultSequence) citer.next();
- ResultSequence length = (ResultSequence) citer.next();
-
- // sanity chex
- if (startLoc.size() != 1)
- DynamicError.throw_type_error();
-
- AnyType at = startLoc.first();
- if (!(at instanceof NumericType)) {
- DynamicError.throw_type_error();
- }
-
- at = new XSDouble(at.string_value());
-
- int start = (int) ((XSDouble) at).double_value();
-
- if (length.size() != 1)
- DynamicError.throw_type_error();
-
- at = length.first();
-
- if (!(at instanceof NumericType)) {
- DynamicError.throw_type_error();
- }
-
- at = new XSDouble(at.string_value());
-
-
- int len = (int) ((XSDouble) at).double_value();
-
- if (seq.empty())
- return rs;
-
- int pos = 1;
-
- int end = start + len;
-
- // XXX: Huge optimization possible here!
- for (Iterator i = seq.iterator(); i.hasNext();) {
- at = (AnyType) i.next();
-
- if (start <= pos && pos < end)
- rs.add(at);
-
- pos++;
- }
- return rs;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSubstring.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSubstring.java
deleted file mode 100644
index 978f0d2..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSubstring.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 273795 - improvements to function, substring
- * Jesper Steen Moeller - bug 285145 - implement full arity checking
- * David Carver - bug 282096 - improvements for surrogate handling
- * Jesper Steen Moeller - bug 282096 - reimplemented to be surrogate sensitive
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDouble;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSString;
-import org.eclipse.wst.xml.xpath2.processor.internal.utils.CodePointIterator;
-import org.eclipse.wst.xml.xpath2.processor.internal.utils.StringCodePointIterator;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-
-import com.ibm.icu.lang.UCharacter;
-
-/**
- * <p>
- * Function to obtain a substring from a string.
- * </p>
- *
- * <p>
- * Usage: fn:substring($sourceString as xs:string?, $startingLoc as xs:double)
- * as xs:string
- * </p>
- *
- * <p>
- * This class returns the portion of the value of $sourceString beginning at the
- * position indicated by the value of $startingLoc. The characters returned do
- * not extend beyond $sourceString. If $startingLoc is zero or negative, only
- * those characters in positions greater than zero are returned.
- * </p>
- *
- * <p>
- * If the value of $sourceString is the empty sequence, the zero-length string
- * is returned.
- * </p>
- *
- * <p>
- * The first character of a string is located at position 1, not position 0.
- * </p>
- */
-public class FnSubstring extends Function {
-
- /**
- * Constructor for FnSubstring
- */
- public FnSubstring() {
- super(new QName("substring"), 2, 3);
- }
-
- /**
- * Evaluate the arguments.
- *
- * @param args
- * are evaluated.
- * @throws DynamicError
- * Dynamic error.
- * @return The evaluation of the substring obtained from the arguments.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return substring(args);
- }
-
- /**
- * Obtain a substring from the arguments.
- *
- * @param args
- * are used to obtain a substring.
- * @throws DynamicError
- * Dynamic error.
- * @return The result of obtaining a substring from the arguments.
- */
- public static ResultSequence substring(Collection args) throws DynamicError {
- Collection cargs = Function.convert_arguments(args, expected_args(args));
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- Iterator argi = cargs.iterator();
- ResultSequence stringArg = (ResultSequence) argi.next();
- ResultSequence startPosArg = (ResultSequence) argi.next();
- ResultSequence lengthArg = null;
-
- if (argi.hasNext()) {
- lengthArg = (ResultSequence) argi.next();
- }
-
- if (stringArg.empty()) {
- return emptyString(rs);
- }
-
- String str = ((XSString) stringArg.first()).value();
- double dstart = ((XSDouble) startPosArg.first()).double_value();
-
- // is start is NaN, no chars are returned
- if (Double.isNaN(dstart) || Double.NEGATIVE_INFINITY == dstart) {
- return emptyString(rs);
- }
- long istart = Math.round(dstart);
-
- long ilength = Long.MAX_VALUE;
- if (lengthArg != null) {
- double dlength = ((XSDouble) lengthArg.first()).double_value();
- if (Double.isNaN(dlength))
- return emptyString(rs);
- // Switch to the rounded kind
- ilength = Math.round(dlength);
- if (ilength <= 0)
- return emptyString(rs);
- }
-
-
- // could guess too short in cases supplementary chars
- StringBuffer sb = new StringBuffer((int) Math.min(str.length(), ilength));
-
- // This looks like an inefficient way to iterate, but due to surrogate handling,
- // string indexes are no good here. Welcome to UTF-16!
-
- CodePointIterator strIter = new StringCodePointIterator(str);
- for (long p = 1; strIter.current() != CodePointIterator.DONE; ++p, strIter.next()) {
- if (istart <= p && p - istart < ilength)
- sb.append(UCharacter.toChars(strIter.current()));
- }
- rs.add(new XSString(sb.toString()));
-
- return rs;
- }
-
- private static ResultSequence emptyString(ResultSequence rs) {
- rs.add(new XSString(""));
- return rs;
- }
-
- /**
- * Calculate the expected arguments.
- *
- * @return The expected arguments.
- */
- public static Collection expected_args(Collection actualArgs) {
- Collection _expected_args = new ArrayList();
-
- _expected_args.add(new SeqType(new XSString(), SeqType.OCC_QMARK));
- _expected_args.add(new SeqType(new XSDouble(), SeqType.OCC_NONE));
-
- // for arity 3
- if (actualArgs.size() == 3) {
- _expected_args.add(new SeqType(new XSDouble(), SeqType.OCC_NONE));
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSubstringAfter.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSubstringAfter.java
deleted file mode 100644
index 4e7158b..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSubstringAfter.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * David Carver - bug 282096 - improvements for surrogate handling
- * Jesper Steen Moeller - bug 282096 - clean up string storage
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSString;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- * Returns the substring of the value of $arg1 that follows in the value of
- * $arg1 the first occurrence of a sequence of collation units that provides a
- * minimal match to the collation units of $arg2 according to the collation that
- * is used.
- */
-public class FnSubstringAfter extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnSubstringAfter.
- */
- public FnSubstringAfter() {
- super(new QName("substring-after"), 2);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return substring_after(args);
- }
-
- /**
- * Substring-After operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:substring-after operation.
- */
- public static ResultSequence substring_after(Collection args)
- throws DynamicError {
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- // get args
- Iterator argiter = cargs.iterator();
- ResultSequence arg1 = (ResultSequence) argiter.next();
- String str1 = "";
- String str2 = "";
- if (!arg1.empty()) {
- str1 = ((XSString) arg1.first()).value();
- }
-
- ResultSequence arg2 = (ResultSequence) argiter.next();
- if (!arg2.empty()) {
- str2 = ((XSString) arg2.first()).value();
- }
-
- int str1len = str1.length();
- int str2len = str2.length();
-
- if (str2len == 0) {
- rs.add(new XSString(str1));
- return rs;
- }
-
- int index = str1.indexOf(str2);
- if (index == -1) {
- rs.add(new XSString(""));
- return rs;
- }
-
- String result = "";
-
- if ((index + str2len) < str1len) {
- index += str2len;
- result = str1.substring(index, str1len);
- }
-
- rs.add(new XSString(result));
-
- return rs;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- SeqType arg = new SeqType(new XSString(), SeqType.OCC_QMARK);
- _expected_args.add(arg);
- _expected_args.add(arg);
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSubstringBefore.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSubstringBefore.java
deleted file mode 100644
index f107bfa..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSubstringBefore.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * David Carver - bug 282096 - improvements for surrogate handling
- * Jesper Steen Moeller - bug 282096 - clean up string storage
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSString;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- * Returns the substring of the value of $arg1 that precedes in the value of
- * $arg1 the first occurrence of a sequence of collation units that provides a
- * minimal match to the collation units of $arg2 according to the collation that
- * is used.
- */
-public class FnSubstringBefore extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnSubstringBefore.
- */
- public FnSubstringBefore() {
- super(new QName("substring-before"), 2);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return substring_before(args);
- }
-
- /**
- * Substring-Before operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:substring-before operation.
- */
- public static ResultSequence substring_before(Collection args)
- throws DynamicError {
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- // get args
- Iterator argiter = cargs.iterator();
- ResultSequence arg1 = (ResultSequence) argiter.next();
- String str1 = "";
- String str2 = "";
- if (!arg1.empty()) {
- str1 = ((XSString) arg1.first()).value();
- }
-
- ResultSequence arg2 = (ResultSequence) argiter.next();
- if (!arg2.empty()) {
- str2 = ((XSString) arg2.first()).value();
- }
-
- int str2len = str2.length();
-
- if (str2len == 0) {
- rs.add(new XSString(""));
- return rs;
- }
-
- int index = str1.indexOf(str2);
- if (index == -1) {
- rs.add(new XSString(""));
- return rs;
- }
-
-
- rs.add(new XSString(str1.substring(0, index)));
-
- return rs;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- SeqType arg = new SeqType(new XSString(), SeqType.OCC_QMARK);
- _expected_args.add(arg);
- _expected_args.add(arg);
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSum.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSum.java
deleted file mode 100644
index 216a013..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnSum.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 274805 - improvements to xs:integer data type
- * Jesper Moller - bug 281028 - fix promotion rules for fn:sum
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.TypeError;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDouble;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSFloat;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger;
-import org.eclipse.wst.xml.xpath2.processor.internal.utils.ScalarTypePromoter;
-import org.eclipse.wst.xml.xpath2.processor.internal.utils.TypePromoter;
-
-import java.math.BigInteger;
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- * Returns a value obtained by adding together the values in $arg. If the
- * single-argument form of the function is used, then the value returned for an
- * empty sequence is the xs:integer value 0. If the two-argument form is used,
- * then the value returned for an empty sequence is the value of the $zero
- * argument.
- */
-public class FnSum extends Function {
-
- static private XSInteger ZERO = new XSInteger(BigInteger.ZERO);
-
- /**
- * Constructor for FnSum.
- */
- public FnSum() {
- super(new QName("sum"), 1, 2);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- Iterator argIterator = args.iterator();
- ResultSequence argSequence = (ResultSequence)argIterator.next();
- AnyAtomicType zero = ZERO;
- if (argIterator.hasNext()) {
- ResultSequence zeroSequence = (ResultSequence)argIterator.next();
- if (zeroSequence.size() != 1)
- throw new DynamicError(TypeError.invalid_type(null));
- if (! (zeroSequence.first() instanceof AnyAtomicType))
- throw new DynamicError(TypeError.invalid_type(zeroSequence.first().string_value()));
- zero = (AnyAtomicType)zeroSequence.first();
- }
- return sum(argSequence, zero);
- }
-
- /**
- * Sum operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:sum operation.
- */
- public static ResultSequence sum(ResultSequence arg, AnyAtomicType zero) throws DynamicError {
-
-
- if (arg.empty())
- return ResultSequenceFactory.create_new(zero);
-
- MathPlus total = null;
-
- TypePromoter tp = new ScalarTypePromoter();
- tp.considerSequence(arg);
-
- for (Iterator i = arg.iterator(); i.hasNext();) {
- AnyAtomicType conv = tp.promote((AnyType) i.next());
-
- if (conv instanceof XSDouble && ((XSDouble)conv).nan() || conv instanceof XSFloat && ((XSFloat)conv).nan()) {
- return ResultSequenceFactory.create_new(tp.promote(new XSFloat(Float.NaN)));
- }
- if (total == null) {
- total = (MathPlus)conv;
- } else {
- total = (MathPlus)total.plus(ResultSequenceFactory.create_new(conv)).first();
- }
- }
- return ResultSequenceFactory.create_new((AnyType) total);
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnTimezoneFromDate.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnTimezoneFromDate.java
deleted file mode 100644
index 66bdc9e..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnTimezoneFromDate.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDate;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-/**
- * Returns the timezone component of $arg if any. If $arg has a timezone
- * component, then the result is an xdt:dayTimeDuration that indicates deviation
- * from UTC; its value may range from +14:00 to -14:00 hours, both inclusive.
- * Otherwise, the result is the empty sequence. If $arg is the empty sequence,
- * returns the empty sequence.
- */
-public class FnTimezoneFromDate extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnTimezoneFromDate.
- */
- public FnTimezoneFromDate() {
- super(new QName("timezone-from-date"), 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return timezone_from_date(args);
- }
-
- /**
- * Timezone-from-Date operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:timezone-from-date operation.
- */
- public static ResultSequence timezone_from_date(Collection args)
- throws DynamicError {
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg1.empty()) {
- return rs;
- }
-
- XSDate dt = (XSDate) arg1.first();
-
- if (dt.timezoned()) {
- rs.add(dt.tz());
- }
-
- return rs;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- _expected_args.add(new SeqType(new XSDate(), SeqType.OCC_QMARK));
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnTimezoneFromDateTime.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnTimezoneFromDateTime.java
deleted file mode 100644
index 63108c5..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnTimezoneFromDateTime.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDateTime;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-/**
- * Returns the timezone component of $arg if any. If $arg has a timezone
- * component, then the result is an xdt:dayTimeDuration that indicates deviation
- * from UTC; its value may range from +14:00 to -14:00 hours, both inclusive.
- * Otherwise, the result is the empty sequence. If $arg is the empty sequence,
- * returns the empty sequence.
- */
-public class FnTimezoneFromDateTime extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnTimezoneFromDateTime.
- */
- public FnTimezoneFromDateTime() {
- super(new QName("timezone-from-dateTime"), 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return timezone_from_date_time(args);
- }
-
- /**
- * Timezone-from-DateTime operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:timezone-from-dateTime operation.
- */
- public static ResultSequence timezone_from_date_time(Collection args)
- throws DynamicError {
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg1.empty()) {
- return rs;
- }
-
- XSDateTime dt = (XSDateTime) arg1.first();
-
- if (dt.timezoned()) {
- rs.add(dt.tz());
- }
-
- return rs;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- _expected_args
- .add(new SeqType(new XSDateTime(), SeqType.OCC_QMARK));
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnTimezoneFromTime.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnTimezoneFromTime.java
deleted file mode 100644
index 9fa3328..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnTimezoneFromTime.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSTime;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-/**
- * Returns the timezone component of $arg if any. If $arg has a timezone
- * component, then the result is an xdt:dayTimeDuration that indicates deviation
- * from UTC; its value may range from +14:00 to -14:00 hours, both inclusive.
- * Otherwise, the result is the empty sequence. If $arg is the empty sequence,
- * returns the empty sequence.
- */
-public class FnTimezoneFromTime extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnTimezoneFromTime.
- */
- public FnTimezoneFromTime() {
- super(new QName("timezone-from-time"), 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return timezone_from_time(args);
- }
-
- /**
- * Timezone-from-Time operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:timezone-from-time operation.
- */
- public static ResultSequence timezone_from_time(Collection args)
- throws DynamicError {
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg1.empty()) {
- return rs;
- }
-
- XSTime dt = (XSTime) arg1.first();
-
- if (dt.timezoned()) {
- rs.add(dt.tz());
- }
-
- return rs;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- _expected_args.add(new SeqType(new XSTime(), SeqType.OCC_QMARK));
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnTokenize.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnTokenize.java
deleted file mode 100644
index b8f0bad..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnTokenize.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper Steen Moeller - bug 282096 - clean up string storage
- * Jesper S Moller - Bug 281938 - no matches should return full input
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSString;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.regex.Matcher;
-import java.util.regex.PatternSyntaxException;
-
-/**
- * This function breaks the $input string into a sequence of strings, treating
- * any substring that matches $pattern as a separator. The separators themselves
- * are not returned.
- */
-public class FnTokenize extends AbstractRegExFunction {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnTokenize.
- */
- public FnTokenize() {
- super(new QName("tokenize"), 2, 3);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return tokenize(args);
- }
-
- /**
- * Tokenize operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:tokenize operation.
- */
- public static ResultSequence tokenize(Collection args) throws DynamicError {
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- // get args
- Iterator argiter = cargs.iterator();
- ResultSequence arg1 = (ResultSequence) argiter.next();
- String str1 = "";
- if (!arg1.empty()) {
- str1 = ((XSString) arg1.first()).value();
- }
-
- ResultSequence arg2 = (ResultSequence) argiter.next();
- String pattern = ((XSString) arg2.first()).value();
- String flags = null;
-
- if (argiter.hasNext()) {
- ResultSequence flagRS = null;
- flagRS = (ResultSequence) argiter.next();
- flags = flagRS.first().string_value();
- if (validflags.indexOf(flags) == -1 && flags.length() > 0 ) {
- throw DynamicError.regex_flags_error(null);
- }
- }
-
- try {
- ArrayList ret = tokenize(pattern, flags, str1);
-
- for (Iterator retIter = ret.iterator(); retIter.hasNext();) {
- rs.add(new XSString((String)retIter.next()));
- }
-
- } catch (PatternSyntaxException err) {
- throw DynamicError.regex_error(null);
- }
-
- return rs;
- }
-
- private static ArrayList tokenize(String pattern, String flags, String src) throws DynamicError {
- Matcher matcher = regex(pattern, flags, src);
- ArrayList tokens = new ArrayList();
- int startpos = 0;
- int endpos = src.length();
- while (matcher.find()) {
- String delim = matcher.group();
- if (delim.length() == 0) {
- throw DynamicError.regex_match_zero_length(null);
- }
- String token = src.substring(startpos, matcher.start());
- startpos = matcher.end();
- tokens.add(token);
- }
- if (startpos < endpos) {
- String token = src.substring(startpos, endpos);
- tokens.add(token);
- }
- return tokens;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- SeqType arg = new SeqType(new XSString(), SeqType.OCC_QMARK);
- _expected_args.add(arg);
- _expected_args.add(new SeqType(new XSString(), SeqType.OCC_NONE));
- _expected_args.add(new SeqType(new XSString(), SeqType.OCC_NONE));
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnTrace.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnTrace.java
deleted file mode 100644
index 3ba85a3..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnTrace.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSString;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- * The input $value is returned, unchanged, as the result of the function. In
- * addition, the inputs $value, converted to an xs:string, and $label may be
- * directed to a trace data set. The location and format of the trace data set
- * are implementation dependent. The ordering of output from invocations of the
- * fn:trace() function is implementation dependent.
- */
-public class FnTrace extends Function {
- /**
- * Constructor for FnTrace.
- */
- public FnTrace() {
- super(new QName("trace"), 2);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return trace(args);
- }
-
- /**
- * Trace operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:trace operation.
- */
- public static ResultSequence trace(Collection args) throws DynamicError {
-
- // sanity check args
- if (args.size() != 2)
- DynamicError.throw_type_error();
-
- Iterator argsi = args.iterator();
-
- ResultSequence arg1 = (ResultSequence) argsi.next();
- ResultSequence arg2 = (ResultSequence) argsi.next();
-
- if (arg2.size() != 1)
- DynamicError.throw_type_error();
-
- AnyType at = arg2.first();
- if (!(at instanceof XSString))
- DynamicError.throw_type_error();
-
- XSString label = (XSString) at;
-
- int index = 1;
-
- for (Iterator i = arg1.iterator(); i.hasNext(); index++) {
- at = (AnyType) i.next();
-
- System.out.println(label.value() + " [" + index + "] "
- + at.string_type() + ":" + at.string_value());
-
- }
-
- return arg1;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnTranslate.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnTranslate.java
deleted file mode 100644
index e323dc3..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnTranslate.java
+++ /dev/null
@@ -1,191 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper Steen Moeller - bug 282096 - clean up string storage and make
- * translate function surrogate aware
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSString;
-import org.eclipse.wst.xml.xpath2.processor.internal.utils.CodePointIterator;
-import org.eclipse.wst.xml.xpath2.processor.internal.utils.StringCodePointIterator;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-import com.ibm.icu.lang.UCharacter;
-
-/**
- * <p>
- * Translation function.
- * </p>
- *
- * <p>
- * Usage: fn:translate($arg as xs:string?, $mapString as xs:string, $transString
- * as xs:string) as xs:string
- * </p>
- *
- * <p>
- * This class returns the value of $arg modified so that every character in the
- * value of $arg that occurs at some position N in the value of $mapString has
- * been replaced by the character that occurs at position N in the value of
- * $transString.
- * </p>
- *
- * <p>
- * If the value of $arg is the empty sequence, the zero-length string is
- * returned.
- * </p>
- *
- * <p>
- * Every character in the value of $arg that does not appear in the value of
- * $mapString is unchanged.
- * </p>
- *
- * <p>
- * Every character in the value of $arg that appears at some position M in the
- * value of $mapString, where the value of $transString is less than M
- * characters in length, is omitted from the returned value. If $mapString is
- * the zero-length string $arg is returned.
- * </p>
- *
- * <p>
- * If a character occurs more than once in $mapString, then the first occurrence
- * determines the replacement character. If $transString is longer than
- * $mapString, the excess characters are ignored.
- * </p>
- */
-public class FnTranslate extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnTranslate.
- */
- public FnTranslate() {
- super(new QName("translate"), 3);
- }
-
- /**
- * Evaluate the arguments.
- *
- * @param args
- * are evaluated.
- * @throws DynamicError
- * Dynamic error.
- * @return The evaluation of the arguments being translated.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return translate(args);
- }
-
- /**
- * Translate arguments.
- *
- * @param args
- * are translated.
- * @throws DynamicError
- * Dynamic error.
- * @return The result of translating the arguments.
- */
- public static ResultSequence translate(Collection args) throws DynamicError {
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- Iterator argi = cargs.iterator();
- ResultSequence arg1 = (ResultSequence) argi.next();
- ResultSequence arg2 = (ResultSequence) argi.next();
- ResultSequence arg3 = (ResultSequence) argi.next();
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg1.empty()) {
- rs.add(new XSString(""));
- return rs;
- }
-
- String str = ((XSString) arg1.first()).value();
- String mapstr = ((XSString) arg2.first()).value();
- String transstr = ((XSString) arg3.first()).value();
-
- Map replacements = buildReplacementMap(mapstr, transstr);
-
- StringBuffer sb = new StringBuffer(str.length());
- CodePointIterator strIter = new StringCodePointIterator(str);
- for (int input = strIter.current(); input != CodePointIterator.DONE; input = strIter.next()) {
- Integer inputCodepoint = new Integer(input);
- if (replacements.containsKey(inputCodepoint)) {
- Integer replaceWith = (Integer)replacements.get(inputCodepoint);
- if (replaceWith != null) {
- sb.append(UCharacter.toChars(replaceWith.intValue()));
- }
- } else {
- sb.append(UCharacter.toChars(input));
- }
- }
-
- rs.add(new XSString(sb.toString()));
-
- return rs;
- }
-
- /**
- * Build a replacement map from the mapstr and the transstr for translation. The function returns a Map<Integer, Integer> mapping each codepoint
- * mentioned in the mapstr into the corresponding codepoint in transstr, or null if there is no matching mapping in transstr.
- *
- * @param mapstr The "mapping from" string
- * @param transstr The "mapping into" string
- * @return A map which maps input codepoint to output codepoint (or null)
- */
- private static Map buildReplacementMap(String mapstr, String transstr) {
- // Build mapping (map from codepoint -> codepoint)
- Map replacements = new HashMap(mapstr.length() * 4);
-
- CodePointIterator mapIter = new StringCodePointIterator(mapstr);
- CodePointIterator transIter = new StringCodePointIterator(transstr);
- // Iterate through both mapIter and transIter and produce the mapping
- int mapFrom = mapIter.current();
- int mapTo = transIter.current();
- while (mapFrom != CodePointIterator.DONE) {
- Integer codepointFrom = new Integer(mapFrom);
- if (! replacements.containsKey(codepointFrom)) {
- // only overwrite if it doesn't exist already
- Integer replacement = mapTo != CodePointIterator.DONE ? new Integer(mapTo) : null;
- replacements.put(codepointFrom, replacement);
- }
- mapFrom = mapIter.next();
- mapTo = transIter.next();
- }
- return replacements;
- }
-
- /**
- * Calculate the expected arguments.
- *
- * @return The expected arguments.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- _expected_args.add(new SeqType(new XSString(), SeqType.OCC_QMARK));
- _expected_args.add(new SeqType(new XSString(), SeqType.OCC_NONE));
- _expected_args.add(new SeqType(new XSString(), SeqType.OCC_NONE));
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnTrue.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnTrue.java
deleted file mode 100644
index e25584a..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnTrue.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSBoolean;
-
-import java.util.Collection;
-
-/**
- * Returns the xs:boolean value true. Equivalent to xs:boolean("1").
- */
-public class FnTrue extends Function {
- /**
- * Constructor for FnTrue.
- */
- public FnTrue() {
- super(new QName("true"), 0);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return fn_true(args);
- }
-
- /**
- * True operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:true operation.
- */
- public static ResultSequence fn_true(Collection args) throws DynamicError {
- assert args.size() == 0;
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- rs.add(new XSBoolean(true));
-
- return rs;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnUnordered.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnUnordered.java
deleted file mode 100644
index 7706f43..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnUnordered.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Iterator;
-
-/**
- * Returns the items of $sourceSeq in a non-deterministic order.
- */
-public class FnUnordered extends Function {
- /**
- * Constructor for FnUnordered.
- */
- public FnUnordered() {
- super(new QName("unordered"), 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return unordered(args);
- }
-
- /**
- * Unordered operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:unordered operation.
- */
- public static ResultSequence unordered(Collection args) throws DynamicError {
-
- assert args.size() == 1;
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- // get args
- Iterator citer = args.iterator();
- ResultSequence arg = (ResultSequence) citer.next();
-
- if (arg.empty())
- return rs;
-
- // XXX lame
- ArrayList tmp = new ArrayList();
- for (Iterator i = arg.iterator(); i.hasNext();)
- tmp.add(i.next());
-
- Collections.shuffle(tmp);
-
- for (Iterator i = tmp.iterator(); i.hasNext();)
- rs.add((AnyType) i.next());
-
- return rs;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnUpperCase.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnUpperCase.java
deleted file mode 100644
index 917c5cc..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnUpperCase.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSString;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-/**
- * <p>
- * Conversion to upper-case function.
- * </p>
- *
- * <p>
- * Usage: fn:upper-case($arg as xs:string?) as xs:string
- * </p>
- *
- * <p>
- * This class returns the value of $arg after translating every character to its
- * upper-case correspondent. Every character that does not have an upper-case
- * correspondent is included in the returned value in its original form.
- * </p>
- *
- * <p>
- * If the value of $arg is the empty sequence, the zero-length string is
- * returned.
- * </p>
- */
-public class FnUpperCase extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnUpperCase.
- */
- public FnUpperCase() {
- super(new QName("upper-case"), 1);
- }
-
- /**
- * Evaluate the arguments.
- *
- * @param args
- * are evaluated.
- * @throws DynamicError
- * Dynamic error.
- * @return The evaluation of the arguments being converted to upper case.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return upper_case(args);
- }
-
- /**
- * Convert arguments to upper case.
- *
- * @param args
- * are converted to upper case.
- * @throws DynamicError
- * Dynamic error.
- * @return The result of converting the arguments to upper case.
- */
- public static ResultSequence upper_case(Collection args)
- throws DynamicError {
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg1.empty()) {
- rs.add(new XSString(""));
- return rs;
- }
-
- String str = ((XSString) arg1.first()).value();
-
- rs.add(new XSString(str.toUpperCase()));
-
- return rs;
- }
-
- /**
- * Calculate the expected arguments.
- *
- * @return The expected arguments.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- _expected_args.add(new SeqType(new XSString(), SeqType.OCC_QMARK));
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnYearFromDate.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnYearFromDate.java
deleted file mode 100644
index cae87ef..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnYearFromDate.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 274805 - improvements to xs:integer data type
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDate;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger;
-
-import java.math.BigInteger;
-import java.util.ArrayList;
-import java.util.Collection;
-
-/**
- * Returns an xs:integer representing the year in the localized value of $arg.
- * The value may be negative. If $arg is the empty sequence, returns the empty
- * sequence.
- */
-public class FnYearFromDate extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnYearFromDate.
- */
- public FnYearFromDate() {
- super(new QName("year-from-date"), 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return year_from_date(args);
- }
-
- /**
- * Year-from-Date operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:year-from-date operation.
- */
- public static ResultSequence year_from_date(Collection args)
- throws DynamicError {
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg1.empty()) {
- return rs;
- }
-
- XSDate dt = (XSDate) arg1.first();
-
- int res = dt.year();
-
- rs.add(new XSInteger(BigInteger.valueOf(res)));
-
- return rs;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- _expected_args.add(new SeqType(new XSDate(), SeqType.OCC_QMARK));
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnYearFromDateTime.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnYearFromDateTime.java
deleted file mode 100644
index cb32130..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnYearFromDateTime.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 274805 - improvements to xs:integer data type
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDateTime;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger;
-
-import java.math.BigInteger;
-import java.util.ArrayList;
-import java.util.Collection;
-
-/**
- * Returns an xs:integer representing the year component in the localized value
- * of $arg. The result may be negative. If $arg is the empty sequence, returns
- * the empty sequence.
- */
-public class FnYearFromDateTime extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnYearFromDateTime.
- */
- public FnYearFromDateTime() {
- super(new QName("year-from-dateTime"), 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return year_from_date_time(args);
- }
-
- /**
- * Year-from-DateTime operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:year-from-dateTime operation.
- */
- public static ResultSequence year_from_date_time(Collection args)
- throws DynamicError {
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg1.empty()) {
- return rs;
- }
-
- XSDateTime dt = (XSDateTime) arg1.first();
-
- int res = dt.year();
-
- rs.add(new XSInteger(BigInteger.valueOf(res)));
-
- return rs;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- _expected_args
- .add(new SeqType(new XSDateTime(), SeqType.OCC_QMARK));
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnYearsFromDuration.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnYearsFromDuration.java
deleted file mode 100644
index d6b9882..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnYearsFromDuration.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 273760 - wrong namespace for functions and data types
- * Mukul Gandhi - bug 274805 - improvements to xs:integer data type
- * David Carver - bug 282223 - implementation of xs:duration.
- * David Carver (STAR) - bug 262765 - fixed expected xs:duration argument
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger;
-
-import java.math.BigInteger;
-import java.util.ArrayList;
-import java.util.Collection;
-
-/**
- * Returns an xs:integer representing the years component in the canonical
- * lexical representation of the value of $arg. The result may be negative. If
- * $arg is the empty sequence, returns the empty sequence.
- */
-public class FnYearsFromDuration extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for FnYearsFromDuration.
- */
- public FnYearsFromDuration() {
- super(new QName("years-from-duration"), 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return years_from_duration(args);
- }
-
- /**
- * Years-from-Duration operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:years-from-duration operation.
- */
- public static ResultSequence years_from_duration(Collection args)
- throws DynamicError {
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- ResultSequence arg1 = (ResultSequence) cargs.iterator().next();
-
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg1.empty()) {
- return rs;
- }
-
- XSDuration ymd = (XSDuration) arg1.first();
-
- int res = ymd.year();
- if (ymd.negative())
- res *= -1;
-
- rs.add(new XSInteger(BigInteger.valueOf(res)));
-
- return rs;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
- _expected_args.add(new SeqType(new XSDuration(),
- SeqType.OCC_QMARK));
- }
-
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnZeroOrOne.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnZeroOrOne.java
deleted file mode 100644
index 78d34e6..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FnZeroOrOne.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- * Returns $arg if it contains zero or one items. Otherwise, raises an error
- * [err:FORG0003]. The type of the result depends on the type of $arg.
- */
-public class FnZeroOrOne extends Function {
- /**
- * Constructor for FnZeroOrOne.
- */
- public FnZeroOrOne() {
- super(new QName("zero-or-one"), 1);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return zero_or_one(args);
- }
-
- /**
- * Zero-or-One operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fn:zero-or-one operation.
- */
- public static ResultSequence zero_or_one(Collection args)
- throws DynamicError {
-
- assert args.size() == 1;
-
- // get args
- Iterator citer = args.iterator();
- ResultSequence arg = (ResultSequence) citer.next();
-
- if (arg.size() > 1)
- throw DynamicError.more_one_item(null);
-
- return arg;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsConvertOperand.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsConvertOperand.java
deleted file mode 100644
index d906e2d..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsConvertOperand.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.CtrType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDouble;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSString;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSUntypedAtomic;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- * Function to convert a sequence of items to a sequence of atomic values.
- */
-public class FsConvertOperand extends Function {
-
- public FsConvertOperand() {
- super(new QName("convert-operand"), 2);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- return convert_operand(args);
- }
-
- /**
- * Convert-Operand operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fs: operation.
- */
- public static ResultSequence convert_operand(Collection args)
- throws DynamicError {
-
- assert args.size() == 2;
-
- Iterator iter = args.iterator();
-
- ResultSequence actual = (ResultSequence) iter.next();
- ResultSequence expected = (ResultSequence) iter.next();
-
- if (expected.size() != 1)
- DynamicError.throw_type_error();
-
- AnyType at = expected.first();
-
- if (!(at instanceof AnyAtomicType))
- DynamicError.throw_type_error();
-
- AnyAtomicType exp_aat = (AnyAtomicType) at;
-
- ResultSequence result = ResultSequenceFactory.create_new();
-
- // 1
- if (actual.empty())
- return result;
-
- // convert sequence
- for (Iterator i = actual.iterator(); i.hasNext();) {
- AnyType item = (AnyType) i.next();
-
- // 2
- if (item instanceof XSUntypedAtomic) {
- // a
- if (exp_aat instanceof XSUntypedAtomic)
- result.add(new XSString(item.string_value()));
- // b
- else if (exp_aat instanceof NumericType)
- result.add(new XSDouble(item.string_value()));
- // c
- else {
- assert exp_aat instanceof CtrType;
-
- CtrType cons = (CtrType) exp_aat;
-
- ResultSequence tmp = ResultSequenceFactory
- .create_new(new XSString(item.string_value()));
-
- ResultSequence converted = cons.constructor(tmp);
- result.concat(converted);
-
- tmp.release();
- }
- }
- // 4
- else
- result.add(item);
-
- }
-
- return result;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsDiv.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsDiv.java
deleted file mode 100644
index 970538b..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsDiv.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper Steen Moeller - bug 285145 - implement full arity checking
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-import java.util.Collection;
-
-/**
- * Class for the Division function.
- */
-public class FsDiv extends Function {
- /**
- * Constructor for FsDiv.
- */
- public FsDiv() {
- super(new QName("div"), 2);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- assert args.size() >= min_arity() && args.size() <= max_arity();
-
- return fs_div(args);
- }
-
- /**
- * Div operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of fs:div operation.
- */
- public static ResultSequence fs_div(Collection args) throws DynamicError {
- return FsPlus.do_math_op(args, MathDiv.class, "div");
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsEq.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsEq.java
deleted file mode 100644
index 59cdc1f..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsEq.java
+++ /dev/null
@@ -1,384 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 276134 - improvements to schema aware primitive type support
- * for attribute/element nodes
- * David Carver - bug 262765 - fixed comparison on sequence range values.
- * Jesper S Moller - bug 283214 - fix eq for untyped atomic values
- * Jesper Steen Moeller - bug 285145 - implement full arity checking
- * Jesper Steen Moeller - bug 280555 - Add pluggable collation support
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.TypeError;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSBoolean;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDouble;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSString;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSUntypedAtomic;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- * Class for the Equality function.
- */
-public class FsEq extends Function {
- /**
- * Constructor for FsEq.
- */
- public FsEq() {
- super(new QName("eq"), 2);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- assert args.size() >= min_arity() && args.size() <= max_arity();
-
- return fs_eq_value(args, dynamic_context());
- }
-
- /**
- * Converts arguments to values.
- *
- * @param args
- * Result from expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of conversion.
- */
- private static Collection value_convert_args(Collection args)
- throws DynamicError {
- Collection result = new ArrayList(args.size());
-
- // atomize arguments
- for (Iterator i = args.iterator(); i.hasNext();) {
- ResultSequence rs = (ResultSequence) i.next();
-
- //FnData.fast_atomize(rs);
- rs = FnData.atomize(rs);
-
- if (rs.empty())
- return new ArrayList();
-
- if (rs.size() > 1)
- throw new DynamicError(TypeError.invalid_type(null));
-
- AnyType arg = rs.first();
-
- if (arg instanceof XSUntypedAtomic)
- arg = new XSString(arg.string_value());
-
- rs = ResultSequenceFactory.create_new();
- rs.add(arg);
- result.add(rs);
- }
-
- return result;
- }
-
- /**
- * Conversion operation for the values of the arguments.
- *
- * @param args
- * Result from convert value operation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of conversion.
- */
- public static ResultSequence fs_eq_value(Collection args, DynamicContext dynamicContext)
- throws DynamicError {
- return do_cmp_value_op(args, CmpEq.class, "eq", dynamicContext);
- }
-
- /**
- * A fast Equality operation, no conversion for the inputs performed.
- *
- * @param one
- * input1 of any type.
- * @param two
- * input2 of any type.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of Equality operation.
- */
- public static boolean fs_eq_fast(AnyType one, AnyType two, DynamicContext dynamicContext)
- throws DynamicError {
-
- one = FnData.atomize(one);
- two = FnData.atomize(two);
-
- if (one instanceof XSUntypedAtomic)
- one = new XSString(one.string_value());
-
- if (two instanceof XSUntypedAtomic)
- two = new XSString(two.string_value());
-
- if (!(one instanceof CmpEq))
- DynamicError.throw_type_error();
-
- CmpEq cmpone = (CmpEq) one;
-
- return cmpone.eq(two, dynamicContext);
- }
-
- /**
- * Making sure that the types are the same before comparing the inputs.
- *
- * @param a
- * input1 of any type.
- * @param b
- * input2 of any type.
- * @param dc
- * Dynamic Context
- * @throws DynamicError
- * Dynamic error.
- * @return Result of Equality operation.
- */
- private static boolean do_general_pair(AnyType a, AnyType b,
- Method comparator, DynamicContext dc) throws DynamicError {
-
- // section 3.5.2
-
- // rule a
- // if one is untyped and other is numeric, cast untyped to
- // double
- if ((a instanceof XSUntypedAtomic && b instanceof NumericType)
- || (b instanceof XSUntypedAtomic && a instanceof NumericType)) {
- if (a instanceof XSUntypedAtomic)
- a = new XSDouble(a.string_value());
- else
- b = new XSDouble(b.string_value());
-
- }
-
- // rule b
- // if one is untyped and other is string or untyped, then cast
- // untyped to string
- else if ((a instanceof XSUntypedAtomic
- && (b instanceof XSString || b instanceof XSUntypedAtomic) || (b instanceof XSUntypedAtomic && (a instanceof XSString || a instanceof XSUntypedAtomic)))) {
-
- if (a instanceof XSUntypedAtomic)
- a = new XSString(a.string_value());
- if (b instanceof XSUntypedAtomic)
- b = new XSString(b.string_value());
- }
-
- // rule c
- // if one is untyped and other is not string,untyped,numeric
- // cast untyped to dynamic type of other
-
- // XXX?
- else if (a instanceof XSUntypedAtomic) {
- ResultSequence converted = ResultSequenceFactory.create_new(a);
- assert converted.size() == 1;
- a = converted.first();
- } else if (b instanceof XSUntypedAtomic) {
- ResultSequence converted = ResultSequenceFactory.create_new(b);
- assert converted.size() == 1;
- b = converted.first();
- }
-
- // rule d
- // if value comparison is true, return true.
-
- ResultSequence one = ResultSequenceFactory.create_new(a);
- ResultSequence two = ResultSequenceFactory.create_new(b);
-
- Collection args = new ArrayList();
- args.add(one);
- args.add(two);
-
- Object margs[] = { args, dc };
-
- ResultSequence result = null;
- try {
- result = (ResultSequence) comparator.invoke(null, margs);
- } catch (IllegalAccessException err) {
- assert false;
- } catch (InvocationTargetException err) {
- Throwable ex = err.getTargetException();
-
- if (ex instanceof DynamicError)
- throw (DynamicError) ex;
-
- ex.printStackTrace();
- System.exit(1);
- }
-
- if (((XSBoolean) result.first()).value())
- return true;
-
- return false;
- }
-
- /**
- * A general equality function.
- *
- * @param args
- * input arguments.
- * @param dc
- * Dynamic context
- * @throws DynamicError
- * Dynamic error.
- * @return Result of general equality operation.
- */
- public static ResultSequence fs_eq_general(Collection args, DynamicContext dc)
- throws DynamicError {
- return do_cmp_general_op(args, FsEq.class, "fs_eq_value", dc);
- }
-
- // voodoo 3
- /**
- * Actual equality operation for fs_eq_general.
- *
- * @param args
- * input arguments.
- * @param type
- * type of the arguments.
- * @param mname
- * Method name for template simulation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of the operation.
- */
- public static ResultSequence do_cmp_general_op(Collection args, Class type,
- String mname, DynamicContext dc) throws DynamicError {
-
- // do the voodoo
- Method comparator = null;
-
- try {
- Class margsdef[] = { Collection.class, DynamicContext.class };
-
- comparator = type.getMethod(mname, margsdef);
-
- } catch (NoSuchMethodException err) {
- throw new RuntimeException("Can't find method : " + mname, err);
- }
-
- // sanity check args and get them
- if (args.size() != 2)
- DynamicError.throw_type_error();
-
- Iterator argiter = args.iterator();
-
- ResultSequence one = (ResultSequence) argiter.next();
- ResultSequence two = (ResultSequence) argiter.next();
-
- // XXX ?
- if (one.empty() || two.empty())
- return ResultSequenceFactory.create_new(new XSBoolean(false));
-
- // atomize
- one = FnData.atomize(one);
- two = FnData.atomize(two);
-
- // we gotta find a pair that satisfied the condition
- for (Iterator i = one.iterator(); i.hasNext();) {
- AnyType a = (AnyType) i.next();
- for (Iterator j = two.iterator(); j.hasNext();) {
- AnyType b = (AnyType) j.next();
-
- if (do_general_pair(a, b, comparator, dc))
- return ResultSequenceFactory
- .create_new(new XSBoolean(true));
- }
- }
-
- return ResultSequenceFactory.create_new(new XSBoolean(false));
- }
-
- // voodoo 2
- /**
- * Actual equality operation for fs_eq_value.
- *
- * @param args
- * input arguments.
- * @param type
- * type of the arguments.
- * @param mname
- * Method name for template simulation.
- * @param dynamicContext
- * Dynamic error.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of the operation.
- */
- public static ResultSequence do_cmp_value_op(Collection args, Class type,
- String mname, DynamicContext dynamicContext) throws DynamicError {
-
- // sanity check args + convert em
- if (args.size() != 2)
- DynamicError.throw_type_error();
-
- Collection cargs = value_convert_args(args);
-
- ResultSequence result = ResultSequenceFactory.create_new();
-
- if (cargs.size() == 0)
- return result;
-
- // make sure arugments are comparable by equality
- Iterator argi = cargs.iterator();
- AnyType arg = ((ResultSequence) argi.next()).first();
- ResultSequence arg2 = (ResultSequence) argi.next();
-
- if (arg2.size() != 1)
- DynamicError.throw_type_error();
-
- if (!(type.isInstance(arg)))
- DynamicError.throw_type_error();
-
- try {
- Class margsdef[] = { AnyType.class, DynamicContext.class };
- Method method = null;
-
- method = type.getMethod(mname, margsdef);
-
- Object margs[] = { arg2.first(), dynamicContext };
- Boolean cmpres = (Boolean) method.invoke(arg, margs);
-
- return ResultSequenceFactory.create_new(new XSBoolean(cmpres
- .booleanValue()));
- } catch (NoSuchMethodException err) {
- assert false;
- throw new RuntimeException("cannot compare using method " + mname, err);
- } catch (IllegalAccessException err) {
- assert false;
- throw new RuntimeException("cannot compare using method " + mname, err);
- } catch (InvocationTargetException err) {
- Throwable ex = err.getTargetException();
-
- if (ex instanceof DynamicError)
- throw (DynamicError) ex;
-
- throw new RuntimeException("cannot compare using method " + mname, ex);
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsGe.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsGe.java
deleted file mode 100644
index 43b1580..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsGe.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper Steen Moeller - bug 285145 - implement full arity checking
- * Jesper Steen Mooller - bug 280555 - Add pluggable collation support
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSBoolean;
-
-import java.util.Collection;
-
-/**
- * Class for the Greater than or equal to function.
- */
-public class FsGe extends Function {
- /**
- * Constructor for FsGe.
- */
- public FsGe() {
- super(new QName("ge"), 2);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- assert args.size() >= min_arity() && args.size() <= max_arity();
-
- return fs_ge_value(args, dynamic_context());
- }
-
- /**
- * Greater than or equal to operation on the values of the arguments.
- *
- * @param args
- * input arguments.
- * @param dc
- * @throws DynamicError
- * Dynamic error.
- * @return Result of the operation.
- */
- public static ResultSequence fs_ge_value(Collection args, DynamicContext dc)
- throws DynamicError {
- ResultSequence greater = FsGt.fs_gt_value(args, dc);
-
- if (((XSBoolean) greater.first()).value())
- return greater;
-
- ResultSequence equal = FsEq.fs_eq_value(args, dc);
-
- if (((XSBoolean) equal.first()).value())
- return equal;
-
- return ResultSequenceFactory.create_new(new XSBoolean(false));
- }
-
- /**
- * General greater than or equal to operation.
- *
- * @param args
- * input arguments.
- * @param dc
- * The dynamic context
- * @throws DynamicError
- * Dynamic error.
- * @return Result of the operation.
- */
- public static ResultSequence fs_ge_general(Collection args, DynamicContext dc)
- throws DynamicError {
- return FsEq.do_cmp_general_op(args, FsGe.class, "fs_ge_value", dc);
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsGt.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsGt.java
deleted file mode 100644
index 5b69e54..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsGt.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper Steen Moeller - bug 285145 - implement full arity checking
- * Jesper Steen Moeller - bug 280555 - Add pluggable collation support
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-import java.util.Collection;
-
-/**
- * Class for the Greater than function.
- */
-public class FsGt extends Function {
- /**
- * Constructor for FsGt.
- */
- public FsGt() {
- super(new QName("gt"), 2);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- assert args.size() >= min_arity() && args.size() <= max_arity();
-
- return fs_gt_value(args, dynamic_context());
- }
-
- /**
- * Operation on the values of the arguments.
- *
- * @param args
- * input arguments.
- * @param dynamic
- * Dynamic contexet
- * @throws DynamicError
- * Dynamic error.
- * @return Result of the operation.
- */
- public static ResultSequence fs_gt_value(Collection args, DynamicContext dynamic)
- throws DynamicError {
- return FsEq.do_cmp_value_op(args, CmpGt.class, "gt", dynamic);
- }
-
- /**
- * General operation on the arguments.
- *
- * @param args
- * input arguments.
- * @param dc
- * The dynamic context
- * @throws DynamicError
- * Dynamic error.
- * @return Result of the operation.
- */
- public static ResultSequence fs_gt_general(Collection args, DynamicContext dc)
- throws DynamicError {
- return FsEq.do_cmp_general_op(args, FsGt.class, "fs_gt_value", dc);
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsIDiv.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsIDiv.java
deleted file mode 100644
index 8093726..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsIDiv.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper Steen Moeller - bug 285145 - implement full arity checking
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-import java.util.Collection;
-
-/**
- * Class for Interger division function.
- */
-public class FsIDiv extends Function {
- /**
- * Constructor for FsIDiv.
- */
- public FsIDiv() {
- super(new QName("idiv"), 2);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- assert args.size() >= min_arity() && args.size() <= max_arity();
-
- return fs_idiv(args);
- }
-
- /**
- * IDiv operation on the arguments.
- *
- * @param args
- * input arguments.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of the operation.
- */
- public static ResultSequence fs_idiv(Collection args) throws DynamicError {
- return FsPlus.do_math_op(args, MathIDiv.class, "idiv");
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsLe.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsLe.java
deleted file mode 100644
index b9f97b0..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsLe.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper Steen Moeller - bug 285145 - implement full arity checking
- * Jesper Moller - bug 280555 - Add pluggable collation support
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSBoolean;
-
-import java.util.Collection;
-
-/**
- * Class for Less than or equal to function.
- */
-public class FsLe extends Function {
- /**
- * Constructor for FsLe.
- */
- public FsLe() {
- super(new QName("le"), 2);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- assert args.size() >= min_arity() && args.size() <= max_arity();
-
- return fs_le_value(args, dynamic_context());
- }
-
- /**
- * Operation on the values of the arguments.
- *
- * @param args
- * input arguments.
- * @param
- * DynamicContext
- * @throws DynamicError
- * Dynamic error.
- * @return Result of the operation.
- */
- public static ResultSequence fs_le_value(Collection args, DynamicContext dc)
- throws DynamicError {
- ResultSequence less = FsLt.fs_lt_value(args, dc);
-
- if (((XSBoolean) less.first()).value())
- return less;
-
- ResultSequence equal = FsEq.fs_eq_value(args, dc);
-
- if (((XSBoolean) equal.first()).value())
- return equal;
-
- return ResultSequenceFactory.create_new(new XSBoolean(false));
- }
-
- /**
- * General operation on the arguments.
- *
- * @param args
- * input arguments.
- * @param dc
- * The dynamic context
- * @throws DynamicError
- * Dynamic error.
- * @return Result of the operation.
- */
- public static ResultSequence fs_le_general(Collection args, DynamicContext dc)
- throws DynamicError {
- return FsEq.do_cmp_general_op(args, FsLe.class, "fs_le_value", dc);
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsLt.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsLt.java
deleted file mode 100644
index 78b9881..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsLt.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper Steen Moeller - bug 285145 - implement full arity checking
- * Jesper Moller - bug 280555 - Add pluggable collation support
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-import java.util.Collection;
-
-/**
- * Class for Less than function.
- */
-public class FsLt extends Function {
- /**
- * Constructor for FsLt.
- */
- public FsLt() {
- super(new QName("lt"), 2);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- assert args.size() >= min_arity() && args.size() <= max_arity();
-
- return fs_lt_value(args, dynamic_context());
- }
-
- /**
- * Operation on the values of the arguments.
- *
- * @param args
- * input arguments.
- * @param context
- * Dynamic context
- * @throws DynamicError
- * Dynamic error.
- * @return Result of the operation.
- */
- public static ResultSequence fs_lt_value(Collection args, DynamicContext context)
- throws DynamicError {
- return FsEq.do_cmp_value_op(args, CmpLt.class, "lt", context);
- }
-
- /**
- * General operation on the arguments.
- *
- * @param args
- * input arguments.
- * @param dc
- * The dynamic context
- * @throws DynamicError
- * Dynamic error.
- * @return Result of the operation.
- */
- public static ResultSequence fs_lt_general(Collection args, DynamicContext dc)
- throws DynamicError {
- return FsEq.do_cmp_general_op(args, FsLt.class, "fs_lt_value", dc);
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsMinus.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsMinus.java
deleted file mode 100644
index 08ff1b4..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsMinus.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper Steen Moeller - bug 285145 - implement full arity checking
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-import java.util.Collection;
-
-/**
- * Class for Minus function.
- */
-public class FsMinus extends Function {
- /**
- * Constructor for FsMinus.
- */
- public FsMinus() {
- super(new QName("minus"), 2);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- assert args.size() >= min_arity() && args.size() <= max_arity();
-
- return fs_minus(args);
- }
-
- /**
- * General operation on the arguments.
- *
- * @param args
- * input arguments.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of the operation.
- */
- public static ResultSequence fs_minus(Collection args) throws DynamicError {
- return FsPlus.do_math_op(args, MathMinus.class, "minus");
- }
-
- /**
- * Unary operation on the values of the arguments.
- *
- * @param args
- * input arguments.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of the operation.
- */
- public static ResultSequence fs_minus_unary(Collection args)
- throws DynamicError {
- // make sure we got only one arg
- if (args.size() != 1)
- DynamicError.throw_type_error();
- ResultSequence arg = (ResultSequence) args.iterator().next();
-
- // make sure we got only one numeric atom
- if (arg.size() != 1)
- DynamicError.throw_type_error();
- AnyType at = arg.first();
- if (!(at instanceof NumericType))
- DynamicError.throw_type_error();
-
- NumericType nt = (NumericType) at;
-
- return nt.unary_minus();
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsMod.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsMod.java
deleted file mode 100644
index 23adb70..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsMod.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper Steen Moeller - bug 285145 - implement full arity checking
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-import java.util.Collection;
-
-/**
- * Class for Modular function.
- */
-public class FsMod extends Function {
- /**
- * Constructor for FsMod.
- */
- public FsMod() {
- super(new QName("mod"), 2);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- assert args.size() >= min_arity() && args.size() <= max_arity();
-
- return fs_mod(args);
- }
-
- /**
- * General operation on the arguments.
- *
- * @param args
- * input arguments.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of the operation.
- */
- public static ResultSequence fs_mod(Collection args) throws DynamicError {
- return FsPlus.do_math_op(args, MathMod.class, "mod");
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsNe.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsNe.java
deleted file mode 100644
index 24abb31..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsNe.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper Steen Moeller - bug 285145 - implement full arity checking
- * Jesper Moller - bug 280555 - Add pluggable collation support
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-import java.util.Collection;
-
-/**
- * Class for Not equal function.
- */
-public class FsNe extends Function {
- /**
- * Constructor for FsNe.
- */
- public FsNe() {
- super(new QName("ne"), 2);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- assert args.size() >= min_arity() && args.size() <= max_arity();
-
- return fs_ne_value(args, dynamic_context());
- }
-
- /**
- * Operation on the values of the arguments.
- *
- * @param args
- * input arguments.
- * @param context
- * The dynamic context
- * @throws DynamicError
- * Dynamic error.
- * @return Result of the operation.
- */
- public static ResultSequence fs_ne_value(Collection args, DynamicContext context)
- throws DynamicError {
- return FnNot.fn_not(FsEq.fs_eq_value(args, context));
- }
-
- /**
- * General operation on the arguments.
- *
- * @param args
- * input arguments.
- * @param dc
- * The dynamic context
- * @throws DynamicError
- * Dynamic error.
- * @return Result of the operation.
- */
- public static ResultSequence fs_ne_general(Collection args, DynamicContext dc)
- throws DynamicError {
- return FsEq.do_cmp_general_op(args, FsNe.class, "fs_ne_value", dc);
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsPlus.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsPlus.java
deleted file mode 100644
index a883179..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsPlus.java
+++ /dev/null
@@ -1,236 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper Steen Moeller - bug 285145 - implement full arity checking
- * Jesper Steen Moller - Bug 286062 - Add type promotion for numeric operators
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.TypeError;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDecimal;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDouble;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSFloat;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSUntypedAtomic;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- * Class for Plus function.
- */
-public class FsPlus extends Function {
- /**
- * Constructor for FsPlus.
- */
- public FsPlus() {
- super(new QName("plus"), 2);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- assert args.size() >= min_arity() && args.size() <= max_arity();
-
- return fs_plus(args);
- }
-
- /**
- * Convert and promote arguments for operation.
- *
- * @param args
- * input arguments.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of conversion.
- */
- private static Collection convert_args(Collection args) throws DynamicError {
- Collection result = new ArrayList();
-
- // Keep track of numeric types for promotion
- boolean has_float = false;
- boolean has_double = false;
-
- // atomize arguments
- for (Iterator i = args.iterator(); i.hasNext();) {
- ResultSequence rs = FnData.atomize((ResultSequence) i.next());
-
- if (rs.empty())
- return new ArrayList();
-
- if (rs.size() > 1)
- throw new DynamicError(TypeError.invalid_type(null));
-
- AnyType arg = rs.first();
-
- if (arg instanceof XSUntypedAtomic) {
- arg = new XSDouble(arg.string_value());
- }
-
- rs = ResultSequenceFactory.create_new();
- rs.add(arg);
- if (arg instanceof XSDouble) has_double = true;
- if (arg instanceof XSFloat) has_float = true;
- result.add(rs);
- }
-
- if (has_double) has_float = false;
-
- if (has_double || has_float) {
- // promote arguments
- for (Iterator i = result.iterator(); i.hasNext();) {
- ResultSequence rs = (ResultSequence) i.next();
-
- AnyType arg = rs.first();
-
- if (has_double && (arg instanceof XSFloat)) {
- arg = new XSDouble(((XSFloat)arg).float_value());
- } else if (has_double && (arg instanceof XSDecimal)) {
- arg = new XSDouble(((XSDecimal)arg).getValue().doubleValue());
- } else if (has_float && (arg instanceof XSDecimal)) {
- arg = new XSFloat(((XSDecimal)arg).getValue().floatValue());
- }
-
- if (rs.first() != arg) {
- // Replace arg
- rs.clear();
- rs.add(arg);
- }
- }
-
- }
-
- return result;
- }
-
-
- /**
- * General operation on the arguments.
- *
- * @param args
- * input arguments.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of the operation.
- */
- public static ResultSequence fs_plus(Collection args) throws DynamicError {
- return do_math_op(args, MathPlus.class, "plus");
- }
-
- /**
- * Unary operation on the arguments.
- *
- * @param args
- * input arguments.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of the operation.
- */
- public static ResultSequence fs_plus_unary(Collection args)
- throws DynamicError {
-
- // make sure we got only one arg
- if (args.size() != 1)
- DynamicError.throw_type_error();
- ResultSequence arg = (ResultSequence) args.iterator().next();
-
- // make sure we got only one numeric atom
- if (arg.size() != 1)
- DynamicError.throw_type_error();
- AnyType at = arg.first();
- if (!(at instanceof NumericType))
- DynamicError.throw_type_error();
-
- // no-op
- return arg;
- }
-
- // voodoo
- /**
- * Mathematical operation on the arguments.
- *
- * @param args
- * input arguments.
- * @param type
- * type of arguments.
- * @param mname
- * Method name for template simulation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of operation.
- */
- public static ResultSequence do_math_op(Collection args, Class type,
- String mname) throws DynamicError {
-
- // sanity check args + convert em
- if (args.size() != 2)
- DynamicError.throw_type_error();
-
- Collection cargs = convert_args(args);
-
- ResultSequence result = ResultSequenceFactory.create_new();
-
- if (cargs.size() == 0)
- return result;
-
- // make sure arugments are good [at least the first one]
- Iterator argi = cargs.iterator();
- AnyType arg = ((ResultSequence) argi.next()).first();
- ResultSequence arg2 = (ResultSequence) argi.next();
-
- if (!(type.isInstance(arg)))
- DynamicError.throw_type_error();
-
- // here is da ownage
- try {
- Class margsdef[] = { ResultSequence.class };
- Method method = null;
-
- method = type.getMethod(mname, margsdef);
-
- Object margs[] = { arg2 };
- return (ResultSequence) method.invoke(arg, margs);
-
- } catch (NoSuchMethodException err) {
- System.out.println("NoSuchMethodException: " + err.getMessage());
- assert false;
- } catch (IllegalAccessException err) {
- System.out.println("IllegalAccessException: " + err.getMessage());
- assert false;
- } catch (InvocationTargetException err) {
- Throwable ex = err.getTargetException();
-
- if (ex instanceof DynamicError) {
- throw (DynamicError) ex;
- }
- else {
- ex.printStackTrace();
- System.exit(1);
- }
- }
- return null; // unreach!
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsTimes.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsTimes.java
deleted file mode 100644
index 697ab6d..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FsTimes.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper Steen Moeller - bug 285145 - implement full arity checking
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-import java.util.Collection;
-
-/**
- * Class for Multiplication function.
- */
-public class FsTimes extends Function {
- /**
- * Constructor for FsTimes.
- */
- public FsTimes() {
- super(new QName("times"), 2);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- assert args.size() >= min_arity() && args.size() <= max_arity();
-
- return fs_times(args);
- }
-
- /**
- * General operation on the arguments.
- *
- * @param args
- * input arguments.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of the operation.
- */
- public static ResultSequence fs_times(Collection args) throws DynamicError {
- return FsPlus.do_math_op(args, MathTimes.class, "times");
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/Function.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/Function.java
deleted file mode 100644
index 856b2fb..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/Function.java
+++ /dev/null
@@ -1,331 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 273719 - String Length does not work with Element arg.
- * Mukul Gandhi - bug 273795 - improvements to function, substring (implemented
- * numeric type promotion).
- * Jesper Steen Moeller - bug 285145 - implement full arity checking
- * Jesper Steen Moeller - bug 281159 - implement xs:anyUri -> xs:string promotion
- * Jesper Steen Moller - bug 281938 - undefined context should raise error
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.StaticContext;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NumericType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSAnyURI;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDouble;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSString;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSUntypedAtomic;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- * Support for functions.
- */
-public abstract class Function {
-
- protected QName _name;
- /**
- * if negative, need to have "at least"
- */
- protected int _min_arity;
-
- /**
- * If "at least", this speci, unlimited if -1
- */
- protected int _max_arity;
-
- protected FunctionLibrary _fl;
-
- /**
- * Constructor for Function.
- *
- * @param name
- * QName.
- * @param arity
- * the arity of a specific function.
- */
- public Function(QName name, int arity) {
- _name = name;
- if (arity < 0) {
- throw new RuntimeException("We want to avoid this!");
- }
- _min_arity = arity;
- _max_arity = arity;
- _fl = null;
- }
-
- /**
- * Constructor for Function.
- *
- * @param name
- * QName.
- * @param arity
- * the arity of a specific function.
- */
- public Function(QName name, int min_arity, int max_arity) {
- _name = name;
- if (min_arity < 0 || max_arity < 0 || max_arity < min_arity) {
- throw new RuntimeException("We want to avoid this!");
- }
- _min_arity = min_arity;
- _max_arity = max_arity;
- _fl = null;
- }
-
- /**
- * Support for QName interface.
- *
- * @return Result of QName operation.
- */
- public QName name() {
- return _name;
- }
-
- /**
- * Minimal number of allowed arguments.
- *
- * @return The smallest number of erguments possible
- */
- public int min_arity() {
- return _min_arity;
- }
-
- /**
- * Maximum number of allowed arguments.
- *
- * @return The highest number of erguments possible
- */
- public int max_arity() {
- return _max_arity;
- }
-
- /**
- * Checks if this function has an to the
- *
- * @param actual_arity
- * @return
- */
- public boolean matches_arity(int actual_arity) {
- if (actual_arity < min_arity()) return false;
- if (actual_arity > max_arity()) return false;
- return true;
- }
-
- /**
- * Default constructor for signature.
- *
- * @return Signature.
- */
- public String signature() {
- return signature(this);
- }
-
- /**
- * Obtain the function name and arity from signature.
- *
- * @param f
- * current function.
- * @return Signature.
- */
- public static String signature(Function f) {
- return signature(f.name(), f.is_vararg() ? -1 : f.min_arity());
- }
-
- /**
- * Apply the name and arity to signature.
- *
- * @param name
- * QName.
- * @param arity
- * arity of the function.
- * @return Signature.
- */
- public static String signature(QName name, int arity) {
- String n = name.expanded_name();
- if (n == null)
- return null;
-
- n += "_";
-
- if (arity < 0)
- n += "x";
- else
- n += arity;
-
- return n;
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public abstract ResultSequence evaluate(Collection args)
- throws DynamicError;
-
- // convert argument according to section 3.1.5 of xpath 2.0 spec
- /**
- * Convert the input argument according to section 3.1.5 of specification.
- *
- * @param arg
- * input argument.
- * @param expected
- * Expected Sequence type.
- * @throws DynamicError
- * Dynamic error.
- * @return Converted argument.
- */
- public static ResultSequence convert_argument(ResultSequence arg,
- SeqType expected) throws DynamicError {
- ResultSequence result = arg;
-
- // XXX: Should use type_class instead and use item.getClass().isAssignableTo(expected.type_class())
- AnyType expected_type = expected.type();
-
- // expected is atomic
- if (expected_type instanceof AnyAtomicType) {
- AnyAtomicType expected_aat = (AnyAtomicType) expected_type;
-
- // atomize
- ResultSequence rs = FnData.atomize(arg);
-
- // cast untyped to expected type
- result = ResultSequenceFactory.create_new();
- for (Iterator i = rs.iterator(); i.hasNext();) {
- AnyType item = (AnyType) i.next();
-
- if (item instanceof XSUntypedAtomic) {
- // create a new item of the expected
- // type initialized with from the string
- // value of the item
- ResultSequence converted = null;
- if (expected_aat instanceof XSString) {
- XSString strType = new XSString(item.string_value());
- converted = ResultSequenceFactory.create_new(strType);
- }
- else {
- converted = ResultSequenceFactory.create_new(item);
- }
-
- result.concat(converted);
- }
- // xs:anyURI promotion to xs:string
- else if (item instanceof XSAnyURI && expected_aat instanceof XSString) {
- result.add(new XSString(item.string_value()));
- }
- // numeric type promotion
- else if (item instanceof NumericType) {
- if (expected_aat instanceof XSDouble) {
- XSDouble doubleType = new XSDouble(item.string_value());
- result.add(doubleType);
- }
- else {
- result.add(item);
- }
- } else {
- result.add(item);
- }
- }
- }
-
- // do sequence type matching on converted arguments
- return expected.match(result);
- }
-
- // convert arguments
- // returns collection of arguments
- /**
- * Convert arguments.
- *
- * @param args
- * input arguments.
- * @param expected
- * expected arguments.
- * @throws DynamicError
- * Dynamic error.
- * @return Converted arguments.
- */
- public static Collection convert_arguments(Collection args,
- Collection expected) throws DynamicError {
- Collection result = new ArrayList();
-
- assert args.size() <= expected.size();
-
- Iterator argi = args.iterator();
- Iterator expi = expected.iterator();
-
- // convert all arguments
- while (argi.hasNext()) {
- result.add(convert_argument((ResultSequence) argi.next(),
- (SeqType) expi.next()));
- }
-
- return result;
- }
-
- protected static ResultSequence getResultSetForArityZero(DynamicContext d_context)
- throws DynamicError {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- AnyType contextItem = d_context.context_item();
- if (contextItem != null) {
- // if context item is defined, then that is the default argument
- // to fn:string function
- rs.add(new XSString(contextItem.string_value()));
- } else {
- throw DynamicError.contextUndefined();
- }
- return rs;
- }
-
- /**
- * Set the function library variable.
- *
- * @param fl
- * Function Library.
- */
- public void set_function_library(FunctionLibrary fl) {
- _fl = fl;
- }
-
- protected StaticContext static_context() {
- if (_fl == null)
- return null;
-
- return _fl.static_context();
- }
-
- protected DynamicContext dynamic_context() {
- if (_fl == null)
- return null;
-
- return _fl.dynamic_context();
- }
-
- public boolean is_vararg() {
- return _min_arity != _max_arity;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FunctionLibrary.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FunctionLibrary.java
deleted file mode 100644
index a09b012..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/FunctionLibrary.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 274471 - improvements to fn:string function (support for arity 0)
- * Jesper Steen Moeller - bug 285145 - implement full arity checking
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.StaticContext;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-import java.util.Hashtable;
-import java.util.Map;
-
-/**
- * Class for Function Library support.
- */
-public class FunctionLibrary {
- private String _namespace;
- private Map _functions;
- private StaticContext _sc;
- private DynamicContext _dc;
-
- /**
- * Constructor for FunctionLibrary.
- *
- * @param ns
- * namespace.
- */
- public FunctionLibrary(String ns) {
- _namespace = ns;
- _functions = new Hashtable();
- _sc = null;
- _dc = null;
- }
-
- /**
- * Add a function.
- *
- * @param x
- * function to add.
- */
- public void add_function(Function x) {
- x.name().set_namespace(_namespace);
- x.set_function_library(this);
- _functions.put(x.signature(), x);
- }
-
- /**
- * Checks whether the function exists or not.
- *
- * @param name
- * QName of function.
- * @param arity
- * arity of the function.
- * @return Result of the test.
- */
- public boolean function_exists(QName name, int arity) {
- return function(name, arity) != null;
- }
-
- /**
- * Function support.
- *
- * @param name
- * QName.
- * @param arity
- * arity of the function.
- * @return The new function.
- */
- public Function function(QName name, int arity) {
- Function f = (Function) _functions.get(Function.signature(name, arity));
-
- if (f != null || arity == -1)
- return f;
-
- // see if we got a varg one
- f = function(name, -1);
-
- // nope
- if (f == null)
- return null;
-
- if (f.matches_arity(arity))
- return f;
-
- return null;
- }
-
- /**
- * Support for namespace.
- *
- * @return Namespace.
- */
- public String namespace() {
- return _namespace;
- }
-
- /**
- * Set static context on function.
- */
- public void set_static_context(StaticContext sc) {
- _sc = sc;
- }
-
- /**
- * Set dynamic context on function.
- */
- public void set_dynamic_context(DynamicContext dc) {
- _dc = dc;
- }
-
- /**
- * Support for Static context.
- *
- * @return Result of static context.
- */
- public StaticContext static_context() {
- return _sc;
- }
-
- /**
- * Support for Dynamic context.
- *
- * @return Result of dynamic context.
- */
- public DynamicContext dynamic_context() {
- return _dc;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/MathDiv.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/MathDiv.java
deleted file mode 100644
index 5441f34..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/MathDiv.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-
-/**
- * Support for Mathematical division.
- */
-public interface MathDiv {
- /**
- * Division operation.
- *
- * @param arg
- * input argument.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of operation.
- */
- public ResultSequence div(ResultSequence arg) throws DynamicError;
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/MathIDiv.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/MathIDiv.java
deleted file mode 100644
index f3d76de..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/MathIDiv.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-
-/**
- * Support for Mathematical Integer Division.
- */
-public interface MathIDiv {
- /**
- * Integer Division operation.
- *
- * @param arg
- * input argument.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of operation.
- */
- public ResultSequence idiv(ResultSequence arg) throws DynamicError;
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/MathMinus.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/MathMinus.java
deleted file mode 100644
index 7086b3d..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/MathMinus.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-
-/**
- * Support for Mathematical Subtraction.
- */
-public interface MathMinus {
- /**
- * Subtraction operation.
- *
- * @param arg
- * input argument.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of operation.
- */
- public ResultSequence minus(ResultSequence arg) throws DynamicError;
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/MathMod.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/MathMod.java
deleted file mode 100644
index 7fa1b02..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/MathMod.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-
-/**
- * Support for Mathematical Modular operation.
- */
-public interface MathMod {
- /**
- * Modular operation.
- *
- * @param arg
- * input argument.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of operation.
- */
- public ResultSequence mod(ResultSequence arg) throws DynamicError;
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/MathPlus.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/MathPlus.java
deleted file mode 100644
index bcc486d..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/MathPlus.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-
-/**
- * Support for Mathematical Addition.
- */
-public interface MathPlus {
- /**
- * Addition operation.
- *
- * @param arg
- * input argument.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of operation.
- */
- public ResultSequence plus(ResultSequence arg) throws DynamicError;
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/MathTimes.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/MathTimes.java
deleted file mode 100644
index a888205..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/MathTimes.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-
-/**
- * Support for Mathematical Multiplication.
- */
-public interface MathTimes {
- /**
- * Multiplication operation.
- *
- * @param arg
- * input argument.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of operation.
- */
- public ResultSequence times(ResultSequence arg) throws DynamicError;
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/OpExcept.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/OpExcept.java
deleted file mode 100644
index e1ee87d..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/OpExcept.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper Steen Moeller - bug 285145 - implement full arity checking
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- * Support for Except operation on node types.
- */
-public class OpExcept extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for OpExcept.
- */
- public OpExcept() {
- super(new QName("except"), 2);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- assert args.size() >= min_arity() && args.size() <= max_arity();
-
- return op_except(args);
- }
-
- /**
- * Op-Except operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of operation.
- */
- public static ResultSequence op_except(Collection args) throws DynamicError {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- // convert arguments
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- // get arguments
- Iterator iter = cargs.iterator();
- ResultSequence one = (ResultSequence) iter.next();
- ResultSequence two = (ResultSequence) iter.next();
-
- // XXX lame
- for (Iterator i = one.iterator(); i.hasNext();) {
- NodeType node = (NodeType) i.next();
- boolean found = false;
-
- // death
- for (Iterator j = two.iterator(); j.hasNext();) {
- NodeType node2 = (NodeType) j.next();
-
- if (node.node_value() == node2.node_value()) {
- found = true;
- break;
- }
-
- }
- if (!found)
- rs.add(node);
- }
- rs = NodeType.eliminate_dups(rs);
- rs = NodeType.sort_document_order(rs);
-
- return rs;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
-
- SeqType st = new SeqType(SeqType.OCC_STAR);
-
- _expected_args.add(st);
- _expected_args.add(st);
- }
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/OpFunctionLibrary.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/OpFunctionLibrary.java
deleted file mode 100644
index a5e556e..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/OpFunctionLibrary.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-// this is the equivalent of libc =D
-/**
- * Maintains a library of built-in operators as functions.
- *
- * This is necessary if normalization is being used.
- */
-public class OpFunctionLibrary extends FunctionLibrary {
-
- // XXX should be internal
- public static final String XPATH_OP_NS = "http://www.w3.org/TR/2003/WD-xquery-semantics-20030502/";
-
- /**
- * Constructor for OpFunctionLibrary.
- */
- public OpFunctionLibrary() {
- super(XPATH_OP_NS);
-
- // operators according to formal semantics
- add_function(new FsDiv());
- add_function(new FsEq());
- add_function(new FsGe());
- add_function(new FsGt());
- add_function(new FsIDiv());
- add_function(new FsLe());
- add_function(new FsLt());
- add_function(new FsMinus());
- add_function(new FsMod());
- add_function(new FsNe());
- add_function(new FsPlus());
- add_function(new FsTimes());
-
- // utility functions in formal semantics
- add_function(new FsConvertOperand());
-
- // operators according to functions & operators
- add_function(new OpExcept());
- add_function(new OpIntersect());
- add_function(new OpTo());
- add_function(new OpUnion());
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/OpIntersect.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/OpIntersect.java
deleted file mode 100644
index 0d521ae..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/OpIntersect.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper Steen Moeller - bug 285145 - implement full arity checking
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- * Support for Intersect operation.
- */
-public class OpIntersect extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for OpIntersect.
- */
- public OpIntersect() {
- super(new QName("intersect"), 2);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- assert args.size() >= min_arity() && args.size() <= max_arity();
-
- return op_intersect(args);
- }
-
- /**
- * Op-Intersect operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of operation.
- */
- public static ResultSequence op_intersect(Collection args)
- throws DynamicError {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- // convert arguments
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- // get arguments
- Iterator iter = cargs.iterator();
- ResultSequence one = (ResultSequence) iter.next();
- ResultSequence two = (ResultSequence) iter.next();
-
- // XXX lame
- for (Iterator i = one.iterator(); i.hasNext();) {
- NodeType node = (NodeType) i.next();
- boolean found = false;
-
- // death
- for (Iterator j = two.iterator(); j.hasNext();) {
- NodeType node2 = (NodeType) j.next();
-
- if (node.node_value() == node2.node_value()) {
- found = true;
- break;
- }
-
- }
- if (found)
- rs.add(node);
- }
- rs = NodeType.eliminate_dups(rs);
- rs = NodeType.sort_document_order(rs);
-
- return rs;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
-
- SeqType st = new SeqType(SeqType.OCC_STAR);
-
- _expected_args.add(st);
- _expected_args.add(st);
- }
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/OpTo.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/OpTo.java
deleted file mode 100644
index 8132f22..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/OpTo.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 274805 - improvements to xs:integer data type
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.RangeResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger;
-
-import java.math.BigInteger;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- * Support for To operation.
- */
-public class OpTo extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for OpTo.
- */
- public OpTo() {
- super(new QName("to"), 2);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- assert args.size() == 2;
-
- // Iterator i = args.iterator();
-
- // return op_to( (ResultSequence) i.next(), (ResultSequence) i.next());
- return op_to(args);
- }
-
- /**
- * Op-To operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of operation.
- */
- public static ResultSequence op_to(Collection args) throws DynamicError {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- // convert arguments
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- // get arguments
- Iterator iter = cargs.iterator();
- ResultSequence r = (ResultSequence) iter.next();
- int one = ((XSInteger) r.first()).int_value().intValue();
- r = (ResultSequence) iter.next();
- if (r.first() == null) {
- return rs;
- }
- int two = ((XSInteger) r.first()).int_value().intValue();
-
- if (one > two)
- return rs;
-
- // inclusive first and last
- rs.add(new XSInteger(BigInteger.valueOf(one)));
-
- if (one == two) {
- return rs;
- }
- /*
- * for(one++; one <= two; one++) { rs.add(new XSInteger(one)); }
- *
- * return rs;
- */
- return new RangeResultSequence(one, two);
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
-
- SeqType st = new SeqType(new XSInteger());
-
- _expected_args.add(st);
- _expected_args.add(st);
- }
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/OpUnion.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/OpUnion.java
deleted file mode 100644
index 4f27b8a..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/function/OpUnion.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper Steen Moeller - bug 285145 - implement full arity checking
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.function;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.SeqType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.QName;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- * Support for Union operation.
- */
-public class OpUnion extends Function {
- private static Collection _expected_args = null;
-
- /**
- * Constructor for OpUnion.
- */
- public OpUnion() {
- super(new QName("union"), 2);
- }
-
- /**
- * Evaluate arguments.
- *
- * @param args
- * argument expressions.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of evaluation.
- */
- public ResultSequence evaluate(Collection args) throws DynamicError {
- assert args.size() >= min_arity() && args.size() <= max_arity();
-
- return op_union(args);
- }
-
- /**
- * Op-Union operation.
- *
- * @param args
- * Result from the expressions evaluation.
- * @throws DynamicError
- * Dynamic error.
- * @return Result of operation.
- */
- public static ResultSequence op_union(Collection args) throws DynamicError {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- // convert arguments
- Collection cargs = Function.convert_arguments(args, expected_args());
-
- // get arguments
- Iterator iter = cargs.iterator();
- ResultSequence one = (ResultSequence) iter.next();
- ResultSequence two = (ResultSequence) iter.next();
-
- // XXX i don't fink u've ever seen anything lamer than this
- rs.concat(one);
- rs.concat(two);
- rs = NodeType.eliminate_dups(rs);
- rs = NodeType.sort_document_order(rs);
-
- return rs;
- }
-
- /**
- * Obtain a list of expected arguments.
- *
- * @return Result of operation.
- */
- public synchronized static Collection expected_args() {
- if (_expected_args == null) {
- _expected_args = new ArrayList();
-
- SeqType st = new SeqType(SeqType.OCC_STAR);
-
- _expected_args.add(st);
- _expected_args.add(st);
- }
- return _expected_args;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/AnyAtomicType.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/AnyAtomicType.java
deleted file mode 100644
index 0b2846b..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/AnyAtomicType.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-/**
- * Common base for every atomic type
- */
-public abstract class AnyAtomicType extends AnySimpleType {
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/AnySimpleType.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/AnySimpleType.java
deleted file mode 100644
index 7cb6c9f..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/AnySimpleType.java
+++ /dev/null
@@ -1,18 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-/**
- * Common base for every simple type
- */
-public abstract class AnySimpleType extends AnyType {
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/AnyType.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/AnyType.java
deleted file mode 100644
index 6724dd3..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/AnyType.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-/**
- * Common base for every type
- */
-public abstract class AnyType {
- /**
- * Retrieves the datatype's full pathname
- *
- * @return Datatype's full pathname
- */
- public abstract String string_type();
-
- /**
- * Retrieves the datatype's name
- *
- * @return Datatype's name
- */
- public abstract String string_value();
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/AttrType.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/AttrType.java
deleted file mode 100644
index 7a58a84..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/AttrType.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 276134 - improvements to schema aware primitive type support
- * for attribute/element nodes
- * Jesper Moller - bug 281159 - we were missing out on qualified attributes
- * David Carver - bug 281186 - implementation of fn:id and fn:idref
- * Jesper Moller- bug 275610 - Avoid big time and memory overhead for externals
- * David Carver (STAR) - bug 289304 - fixe schema awarness of types on attributes
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.apache.xerces.dom.PSVIAttrNSImpl;
-import org.apache.xerces.xs.XSSimpleTypeDefinition;
-import org.apache.xerces.xs.XSTypeDefinition;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.w3c.dom.Attr;
-import org.w3c.dom.TypeInfo;
-
-/**
- * A representation of the AttributeType datatype
- */
-public class AttrType extends NodeType {
- private static final String ATTRIBUTE = "attribute";
- private Attr _value;
-
- // constructor only usefull for string_type()
- // XXX needs to be fixed in future
- /**
- * Initialises to null
- */
- public AttrType() {
- this(null);
- }
-
- /**
- * Initialises according to the supplied parameters
- *
- * @param v
- * The attribute being represented
- */
- public AttrType(Attr v) {
- super(v);
- _value = v;
- }
-
- /**
- * Retrieves the datatype's full pathname
- *
- * @return "attribute" which is the datatype's full pathname
- */
- public String string_type() {
- return ATTRIBUTE;
- }
-
- /**
- * Retrieves a String representation of the attribute being stored
- *
- * @return String representation of the attribute being stored
- */
- public String string_value() {
- return _value.getValue();
- }
-
- /**
- * Creates a new ResultSequence consisting of the attribute being stored
- *
- * @return New ResultSequence consisting of the attribute being stored
- */
- public ResultSequence typed_value() {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (!(_value instanceof PSVIAttrNSImpl)) {
- rs.add(new XSUntypedAtomic(string_value()));
- return rs;
- }
-
- PSVIAttrNSImpl psviAttr = (PSVIAttrNSImpl) _value;
- XSTypeDefinition typeDef = psviAttr.getTypeDefinition();
-
- if (typeDef != null) {
- XSSimpleTypeDefinition simpType = (XSSimpleTypeDefinition) typeDef;
- Object schemaTypeValue = getTypedValueForPrimitiveType(simpType);
- if (schemaTypeValue != null) {
- rs.add((AnyType) schemaTypeValue);
- } else {
- rs.add(new XSUntypedAtomic(string_value()));
- }
- } else {
- rs.add(new XSUntypedAtomic(string_value()));
- }
-
- return rs;
- }
-
- /**
- * Retrieves the name of the node
- *
- * @return Name of the node
- */
- public QName node_name() {
- QName name = new QName(_value.getPrefix(), _value.getLocalName(),
- _value.getNamespaceURI());
-
- return name;
- }
-
- /**
- * Checks if the current node is of type ID
- * @since 1.1;
- */
- public boolean isID() {
- return isAttrType(SCHEMA_TYPE_ID);
- }
-
- /**
- *
- * @since 1.1
- */
- public boolean isIDREF() {
- return isAttrType(SCHEMA_TYPE_IDREF);
- }
-
- protected boolean isAttrType(String typeName) {
- if (_value.getOwnerDocument().isSupported("Core", "3.0")) {
- return typeInfo(typeName);
- }
- return false;
- }
-
- private boolean typeInfo(String typeName) {
- TypeInfo typeInfo = _value.getSchemaTypeInfo();
- return isType(typeInfo, typeName);
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/CalendarType.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/CalendarType.java
deleted file mode 100644
index 8b05826..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/CalendarType.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * David Carver - bug 280547 - fix dates for comparison
- * Jesper Steen Moller - bug 262765 - fix type tests
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import java.util.Calendar;
-
-// common base for anything that uses a calendar... basically stuff doing with
-// time... hopefully in the future this may be factored out here
-/**
- * Common base for all Calendar based classes
- */
-public abstract class CalendarType extends CtrType {
-
- public Calendar normalizeCalendar(Calendar cal, XSDuration timezone) {
- Calendar adjusted = (Calendar) cal.clone();
-
- if (timezone != null) {
- int hours = timezone.hours();
- int minutes = timezone.minutes();
- if (!timezone.negative()) {
- hours *= -1;
- minutes *= -1;
- }
- adjusted.add(Calendar.HOUR_OF_DAY, hours);
- adjusted.add(Calendar.MINUTE, minutes);
- }
-
- return adjusted;
-
- }
-
- protected boolean isGDataType(AnyType aat) {
- if (! (aat instanceof AnyAtomicType)) return false;
-
- String type = aat.string_type();
- if (type.equals("xs:gMonthDay") ||
- type.equals("xs:gDay") ||
- type.equals("xs:gMonth") ||
- type.equals("xs:gYear") ||
- type.equals("xs:gYearMonth")) {
- return true;
- }
- return false;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/CommentType.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/CommentType.java
deleted file mode 100644
index 20da634..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/CommentType.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper Moller - bug 275610 - Avoid big time and memory overhead for externals
- * David Carver - bug 281186 - implementation of fn:id and fn:idref
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.w3c.dom.Comment;
-
-/**
- * A representation of the CommentType datatype
- */
-public class CommentType extends NodeType {
- private static final String COMMENT = "comment";
- private Comment _value;
-
- /**
- * Initialise according to the supplied parameters
- *
- * @param v
- * The comment being represented
- */
- public CommentType(Comment v) {
- super(v);
- _value = v;
- }
-
- /**
- * Retrieves the datatype's full pathname
- *
- * @return "comment" which is the datatype's full pathname
- */
- public String string_type() {
- return COMMENT;
- }
-
- /**
- * Retrieves a String representation of the comment being stored
- *
- * @return String representation of the comment being stored
- */
- public String string_value() {
- return _value.getNodeValue();
- }
-
- /**
- * Creates a new ResultSequence consisting of the comment stored
- *
- * @return New ResultSequence consisting of the comment stored
- */
- public ResultSequence typed_value() {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- rs.add(new XSString(_value.getData()));
-
- return rs;
- }
-
- /**
- * Unsupported method for this node.
- *
- * @return null
- */
- public QName node_name() {
- return null;
- }
-
- /**
- * @since 1.1
- */
- public boolean isID() {
- return false;
- }
-
- /**
- * @since 1.1
- */
- public boolean isIDREF() {
- return false;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/CtrType.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/CtrType.java
deleted file mode 100644
index 6cae640..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/CtrType.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-
-/**
- * A representation of the CtrType datatype
- */
-public abstract class CtrType extends AnyAtomicType {
- // used for constructor functions
- // arg is either empty sequence, or 1 anyatomictype
- /**
- * Used for constructor function.
- *
- * @param arg
- * Either an empty sequence or 1 atomic type
- * @return The resulting ResultSequence
- */
- public abstract ResultSequence constructor(ResultSequence arg)
- throws DynamicError;
-
- /**
- * Retrieves the datatype's name
- *
- * @return String representation of the datatype's name
- */
- public abstract String type_name();
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/DocType.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/DocType.java
deleted file mode 100644
index 4584a47..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/DocType.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper Moller - bug 275610 - Avoid big time and memory overhead for externals
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.w3c.dom.Document;
-
-/**
- * A representation of the DocumentType datatype
- */
-public class DocType extends NodeType {
- private static final String DOCUMENT = "document";
- private Document _value;
- private String _string_value;
-
- /**
- * Initialises according to the supplied parameters
- *
- * @param v
- * The document being represented
- */
- public DocType(Document v) {
- super(v);
- _value = v;
- _string_value = null;
- }
-
- /**
- * Retrieves the actual document being represented
- *
- * @return Actual document being represented
- */
- public Document value() {
- return _value;
- }
-
- /**
- * Retrieves the datatype's full pathname
- *
- * @return "document" which is the datatype's full pathname
- */
- public String string_type() {
- return DOCUMENT;
- }
-
- /**
- * Retrieves a String representation of the document being stored
- *
- * @return String representation of the document being stored
- */
- public String string_value() {
- // XXX caching
- if (_string_value == null)
- _string_value = ElementType.textnode_strings(_value);
-
- return _string_value;
- }
-
- /**
- * Creates a new ResultSequence consisting of the document being stored
- *
- * @return New ResultSequence consisting of the document being stored
- */
- public ResultSequence typed_value() {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- // XXX no psvi
- rs.add(new XSUntypedAtomic(string_value()));
-
- return rs;
- }
-
- /**
- * Retrieves the name of the node
- *
- * @return QName representation of the name of the node
- */
- public QName node_name() {
- return null;
- }
-
- /**
- * @since 1.1
- */
- public boolean isID() {
- // TODO Auto-generated method stub
- return false;
- }
-
- /**
- * @since 1.1
- */
- public boolean isIDREF() {
- return false;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/ElementType.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/ElementType.java
deleted file mode 100644
index cadc3cf..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/ElementType.java
+++ /dev/null
@@ -1,223 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 276134 - improvements to schema aware primitive type support
- * for attribute/element nodes
- * Jesper Moller - bug 275610 - Avoid big time and memory overhead for externals
- * David Carver - bug 281186 - implementation of fn:id and fn:idref
- * David Carver (STAR) - bug 289304 - fix schema awarness of types on elements
- * Jesper Moller - bug 297958 - Fix fn:nilled for elements
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.apache.xerces.dom.PSVIElementNSImpl;
-import org.apache.xerces.xs.XSComplexTypeDefinition;
-import org.apache.xerces.xs.XSSimpleTypeDefinition;
-import org.apache.xerces.xs.XSTypeDefinition;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.Text;
-import org.w3c.dom.TypeInfo;
-
-/**
- * A representation of the ElementType datatype
- */
-public class ElementType extends NodeType {
- private static final String ELEMENT = "element";
-
- private Element _value;
-
- private String _string_value;
-
- /**
- * Initialises to a null element
- */
- public ElementType() {
- this(null);
- }
-
- /**
- * Initialises according to the supplied parameters
- *
- * @param v
- * The element being represented
- */
- public ElementType(Element v) {
- super(v);
- _value = v;
-
- _string_value = null;
- }
-
- /**
- * This deprecated and will be removed. Adopters need to use
- * ElementType(Element)
- *
- * @param v
- * @param nodePosition
- * @deprecated Use ElementType(Element v) instead.
- */
- public ElementType(Element v, int nodePosition) {
- // unused parameter, nodePosition!
- super(v);
- _value = v;
- _string_value = null;
- }
-
- /**
- * Retrieves the actual element value being represented
- *
- * @return Actual element value being represented
- */
- public Element value() {
- return _value;
- }
-
- /**
- * Retrieves the datatype's full pathname
- *
- * @return "element" which is the datatype's full pathname
- */
- public String string_type() {
- return ELEMENT;
- }
-
- /**
- * Retrieves a String representation of the element being stored
- *
- * @return String representation of the element being stored
- */
- public String string_value() {
- // XXX can we cache ?
- if (_string_value != null)
- return _string_value;
-
- _string_value = textnode_strings(_value);
-
- return _string_value;
- }
-
- /**
- * Creates a new ResultSequence consisting of the element stored
- *
- * @return New ResultSequence consisting of the element stored
- */
- public ResultSequence typed_value() {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (!(_value instanceof PSVIElementNSImpl)) {
- rs.add(new XSUntypedAtomic(string_value()));
- return rs;
- }
-
- PSVIElementNSImpl typeInfo = (PSVIElementNSImpl) _value;
-
- XSTypeDefinition typeDef = typeInfo.getTypeDefinition();
-
- if (typeDef != null) {
- XSSimpleTypeDefinition simpType = null;
- if (typeDef instanceof XSComplexTypeDefinition) {
- XSComplexTypeDefinition complexTypeDefinition = (XSComplexTypeDefinition) typeDef;
- simpType = complexTypeDefinition.getSimpleType();
- } else {
- simpType = (XSSimpleTypeDefinition) typeDef;
- }
- Object schemaTypeValue = getTypedValueForPrimitiveType(simpType);
- if (schemaTypeValue != null) {
- rs.add((AnyType) schemaTypeValue);
- } else {
- rs.add(new XSUntypedAtomic(string_value()));
- }
- } else {
- rs.add(new XSUntypedAtomic(string_value()));
- }
-
- return rs;
- }
-
- // recursively concatenate TextNode strings
- /**
- * Recursively concatenate TextNode strings
- *
- * @param node
- * Node to recurse
- * @return String representation of the node supplied
- */
- public static String textnode_strings(Node node) {
- String result = "";
-
- if (node.getNodeType() == Node.TEXT_NODE) {
- Text tn = (Text) node;
- result += tn.getData();
- }
-
- NodeList nl = node.getChildNodes();
-
- StringBuffer buf = new StringBuffer(result);
- // concatenate children
- for (int i = 0; i < nl.getLength(); i++) {
- Node n = nl.item(i);
-
- buf.append(textnode_strings(n));
- }
-
- result = buf.toString();
- return result;
- }
-
- /**
- * Retrieves the name of the node
- *
- * @return QName representation of the name of the node
- */
- public QName node_name() {
- QName name = new QName(_value.getPrefix(), _value.getLocalName(),
- _value.getNamespaceURI());
-
- return name;
- }
-
- public ResultSequence nilled() {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (_value instanceof PSVIElementNSImpl) {
- PSVIElementNSImpl psviElement = (PSVIElementNSImpl) _value;
- rs.add(new XSBoolean(psviElement.getNil()));
- } else {
- rs.add(new XSBoolean(false));
- }
-
- return rs;
- }
-
- /**
- * @since 1.1
- */
- public boolean isID() {
- return isElementType(SCHEMA_TYPE_ID);
- }
-
- /**
- * @since 1.1
- */
- public boolean isIDREF() {
- return isElementType(SCHEMA_TYPE_IDREF);
- }
-
- protected boolean isElementType(String typeName) {
- TypeInfo typeInfo = _value.getSchemaTypeInfo();
- return isType(typeInfo, typeName);
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/NodeType.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/NodeType.java
deleted file mode 100644
index a2f8fbc..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/NodeType.java
+++ /dev/null
@@ -1,252 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 276134 - improvements to schema aware primitive type support
- * for attribute/element nodes
- * David Carver (STAR)- bug 277774 - XSDecimal returning wrong values.
- * Jesper Moller - bug 275610 - Avoid big time and memory overhead for externals
- * David Carver (STAR) - bug 281186 - implementation of fn:id and fn:idref
- * David Carver (STAR) - bug 289304 - fixed schema awareness on elements
- * Mukul Gandhi - bug 318313 - improvements to computation of typed values of nodes,
- * when validated by XML Schema primitive types
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import java.util.ArrayList;
-import java.util.Hashtable;
-import java.util.Iterator;
-
-import org.apache.xerces.xs.XSTypeDefinition;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.w3c.dom.Attr;
-import org.w3c.dom.Comment;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.ProcessingInstruction;
-import org.w3c.dom.Text;
-import org.w3c.dom.TypeInfo;
-
-/**
- * A representation of a Node datatype
- */
-public abstract class NodeType extends AnyType {
- protected static final String SCHEMA_TYPE_IDREF = "IDREF";
- protected static final String SCHEMA_TYPE_ID = "ID";
- private Node _node;
-
- /**
- * Initialises according to the supplied parameters
- *
- * @param node
- * The Node being represented
- * @param document_order
- * The document order
- */
- public NodeType(Node node) {
- _node = node;
- }
-
- /**
- * Retrieves the actual node being represented
- *
- * @return Actual node being represented
- */
- public Node node_value() {
- return _node;
- }
-
- // Accessors defined in XPath Data model
- // http://www.w3.org/TR/xpath-datamodel/
- /**
- * Retrieves the actual node being represented
- *
- * @return Actual node being represented
- */
- public abstract ResultSequence typed_value();
-
- /**
- * Retrieves the name of the node
- *
- * @return QName representation of the name of the node
- */
- public abstract QName node_name(); // may return null ["empty sequence"]
-
- // XXX element should override
- public ResultSequence nilled() {
- return ResultSequenceFactory.create_new();
- }
-
- // a little factory for converting from DOM to our representation
- public static NodeType dom_to_xpath(Node node) {
- assert node != null;
-
- switch (node.getNodeType()) {
- case Node.ELEMENT_NODE:
- return new ElementType((Element) node);
-
- case Node.COMMENT_NODE:
- return new CommentType((Comment) node);
-
- case Node.ATTRIBUTE_NODE:
- return new AttrType((Attr) node);
-
- case Node.TEXT_NODE:
- return new TextType((Text) node);
-
- case Node.DOCUMENT_NODE:
- return new DocType((Document) node);
-
- case Node.PROCESSING_INSTRUCTION_NODE:
- return new PIType((ProcessingInstruction) node);
-
- // XXX
- default:
- assert false;
-
- }
-
- // unreach... hopefully
- return null;
- }
-
- public static ResultSequence eliminate_dups(ResultSequence rs) {
- Hashtable added = new Hashtable(rs.size());
-
- for (Iterator i = rs.iterator(); i.hasNext();) {
- NodeType node = (NodeType) i.next();
- Node n = node.node_value();
-
- if (added.containsKey(n))
- i.remove();
- else
- added.put(n, Boolean.TRUE);
- }
- return rs;
- }
-
- public static ResultSequence sort_document_order(ResultSequence rs) {
- ArrayList res = new ArrayList(rs.size());
-
- for (Iterator i = rs.iterator(); i.hasNext();) {
- NodeType node = (NodeType) i.next();
- boolean added = false;
-
- for (int j = 0; j < res.size(); j++) {
- NodeType x = (NodeType) res.get(j);
-
- if (before(node, x)) {
- res.add(j, node);
- added = true;
- break;
- }
- }
- if (!added)
- res.add(node);
- }
-
- rs = ResultSequenceFactory.create_new();
- for (Iterator i = res.iterator(); i.hasNext();) {
- NodeType node = (NodeType) i.next();
-
- rs.add(node);
- }
-
- return rs;
- }
-
- public static boolean same(NodeType a, NodeType b) {
- return (a.node_value().isSameNode(b.node_value()));
- // While compare_node(a, b) == 0 is tempting, it is also expensive
- }
-
- public boolean before(NodeType two) {
- return before(this, two);
- }
-
- public static boolean before(NodeType a, NodeType b) {
- return compare_node(a, b) < 0;
- }
-
- public boolean after(NodeType two) {
- return after(this, two);
- }
-
- public static boolean after(NodeType a, NodeType b) {
- return compare_node(a, b) > 0;
- }
-
- private static int compare_node(NodeType a, NodeType b) {
- Node nodeA = a.node_value();
- Node nodeB = b.node_value();
-
- if (nodeA == nodeB || nodeA.isSameNode(nodeB)) return 0;
-
- Document docA = getDocument(nodeA);
- Document docB = getDocument(nodeB);
-
- if (docA != docB && ! docA.isSameNode(docB)) {
- return compareDocuments(docA, docB);
- }
- short relation = nodeA.compareDocumentPosition(nodeB);
- if ((relation & Node.DOCUMENT_POSITION_PRECEDING) != 0)
- return 1;
- if ((relation & Node.DOCUMENT_POSITION_FOLLOWING) != 0)
- return -1;
- throw new RuntimeException("Unexpected result from node comparison: " + relation);
- }
-
- private static int compareDocuments(Document docA, Document docB) {
- // Arbitrary but fulfills the spec (provided documenURI is always set)
- if (docB.getDocumentURI() == null && docA.getDocumentURI() == null) {
- // Best guess
- return 0;
- }
- return docB.getDocumentURI().compareTo(docA.getDocumentURI());
- }
-
- private static Document getDocument(Node nodeA) {
- return nodeA instanceof Document ? (Document)nodeA : nodeA.getOwnerDocument();
- }
-
- protected Object getTypedValueForPrimitiveType(XSTypeDefinition typeDef) {
- String strValue = string_value();
-
- if (typeDef == null) {
- return new XSUntypedAtomic(strValue);
- }
-
- return SchemaTypeValueFactory.newSchemaTypeValue(typeDef.getName(), strValue);
-
- }
-
- public abstract boolean isID();
-
- public abstract boolean isIDREF();
-
- /**
- * Utility method to check to see if a particular TypeInfo matches.
- * @param typeInfo
- * @param typeName
- * @return
- */
- protected boolean isType(TypeInfo typeInfo, String typeName) {
- if (typeInfo != null) {
- String typeInfoName = typeInfo.getTypeName();
- if (typeInfoName != null) {
- if (typeInfo.getTypeName().equalsIgnoreCase(typeName)) {
- return true;
- }
- }
- }
- return false;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/NumericType.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/NumericType.java
deleted file mode 100644
index 026f9c2..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/NumericType.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2009 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.CmpEq;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.CmpGt;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.CmpLt;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.MathDiv;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.MathIDiv;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.MathMinus;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.MathMod;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.MathPlus;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.MathTimes;
-
-/**
- * A representation of the NumericType datatype
- */
-public abstract class NumericType extends CtrType
-
-implements CmpEq, CmpGt, CmpLt,
-
-MathPlus, MathMinus, MathTimes, MathDiv, MathIDiv, MathMod {
-
- // XXX needed for fn:boolean
- /**
- * Check whether node represnts 0
- *
- * @return True if node represnts 0. False otherwise
- */
- public abstract boolean zero();
-
- /**
- * Creates a new ResultSequence representing the negation of the number
- * stored
- *
- * @return New ResultSequence representing the negation of the number stored
- */
- public abstract ResultSequence unary_minus();
-
- // numeric functions
- /**
- * Absolutes the number stored
- *
- * @return New NumericType representing the absolute of the number stored
- */
- public abstract NumericType abs();
-
- /**
- * Returns the smallest integer greater than the number stored
- *
- * @return A NumericType representing the smallest integer greater than the
- * number stored
- */
- public abstract NumericType ceiling();
-
- /**
- * Returns the largest integer smaller than the number stored
- *
- * @return A NumericType representing the largest integer smaller than the
- * number stored
- */
- public abstract NumericType floor();
-
- /**
- * Returns the closest integer of the number stored.
- *
- * @return A NumericType representing the closest long of the number stored.
- */
- public abstract NumericType round();
-
- /**
- * Returns the closest integer of the number stored.
- *
- * @return A NumericType representing the closest long of the number stored.
- */
- public abstract NumericType round_half_to_even();
-
- public abstract NumericType round_half_to_even(int precision);
-
- protected AnyType get_single_arg(ResultSequence rs) throws DynamicError {
- if (rs.size() != 1)
- DynamicError.throw_type_error();
-
- return rs.first();
- }
-
- /***
- * Check whether the supplied node is of the supplied type
- *
- * @param at
- * The node being tested
- * @param type
- * The type expected
- * @return The node being tested
- * @throws DynamicError
- * If node being tested is not of expected type
- */
- public static AnyType get_single_type(AnyType at, Class type)
- throws DynamicError {
-
- if (!type.isInstance(at))
- DynamicError.throw_type_error();
-
- return at;
- }
-
- /***
- * Check whether first node in supplied ResultSequence is of the supplied
- * type
- *
- * @param rs
- * The node being tested
- * @param type
- * The type expected
- * @return The node being tested
- * @throws DynamicError
- * If node being tested is not of expected type
- */
- public static AnyType get_single_type(ResultSequence rs, Class type)
- throws DynamicError {
- if (rs.size() != 1)
- DynamicError.throw_type_error();
-
- AnyType at = rs.first();
-
- if (!type.isInstance(at))
- DynamicError.throw_type_error();
-
- return at;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/PIType.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/PIType.java
deleted file mode 100644
index c311775..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/PIType.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper Moller- bug 275610 - Avoid big time and memory overhead for externals
- * David Carver - bug 281186 - implementation of fn:id and fn:idref
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.w3c.dom.ProcessingInstruction;
-
-/**
- * A representation of the ProcessingInstruction datatype
- */
-public class PIType extends NodeType {
- private static final String PROCESSING_INSTRUCTION = "processing instruction";
- private ProcessingInstruction _value;
-
- /**
- * Initialises according to the supplied parameters
- *
- * @param v
- * The processing instruction this node represents
- * @param doc_order
- * The document order
- */
- public PIType(ProcessingInstruction v) {
- super(v);
- _value = v;
- }
-
- /**
- * Retrieves the actual processing instruction this node represents
- *
- * @return Actual processing instruction this node represents
- */
- public ProcessingInstruction value() {
- return _value;
- }
-
- /**
- * Retrieves the datatype's full pathname
- *
- * @return "processing-instruction" which is the datatype's full pathname
- */
- public String string_type() {
- return PROCESSING_INSTRUCTION;
- }
-
- /**
- * Retrieves a String representation of the actual processing instruction
- * stored
- *
- * @return String representation of the actual processing instruction stored
- */
- public String string_value() {
- return _value.getData();
- }
-
- /**
- * Creates a new ResultSequence consisting of the processing instruction
- * stored
- *
- * @return New ResultSequence consisting of the processing instruction
- * stored
- */
- public ResultSequence typed_value() {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- rs.add(new XSString(string_value()));
-
- return rs;
- }
-
- /**
- * Constructs the node's name
- *
- * @return A QName representation of the node's name
- */
- public QName node_name() {
- QName name = new QName(null, _value.getTarget());
-
- name.set_namespace(null);
-
- return name;
- }
-
- /**
- * @since 1.1
- */
- public boolean isID() {
- return false;
- }
-
- /**
- * @since 1.1
- */
- public boolean isIDREF() {
- return false;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/QName.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/QName.java
deleted file mode 100644
index abacd15..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/QName.java
+++ /dev/null
@@ -1,343 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper Moller- bug 281159 - debugging convenience toString method
- * David Carver (STAR) - bug 288886 - add unit tests and fix fn:resolve-qname function
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.CmpEq;
-
-/**
- * A representation of a QName datatype (name of a node)
- */
-public class QName extends CtrType implements CmpEq {
- private static final String XS_Q_NAME = "xs:QName";
- private String _namespace;
- private String _prefix;
- private String _local_part;
- private boolean _expanded;
-
- /**
- * Initialises using the supplied parameters
- *
- * @param prefix
- * Prefix of the node name
- * @param local_part
- * The node name itself
- * @param ns
- * The namespace this nodename belongs to
- */
- public QName(String prefix, String local_part, String ns) {
- this(prefix, local_part);
- if (ns != null) {
- set_namespace(ns);
- }
- }
-
- /**
- * Initialises using the supplied parameters
- *
- * @param prefix
- * Prefix of the node name
- * @param local_part
- * The node name itself
- */
- public QName(String prefix, String local_part) {
- _prefix = prefix;
- _local_part = local_part;
- _expanded = false;
- }
-
- /**
- * Initialises using only the node name (no prefix)
- *
- * @param local_part
- * The node name
- */
- public QName(String local_part) {
- this(null, local_part);
- set_namespace(null);
- }
-
- /**
- * Initialises with a null prefix and null node name
- */
- public QName() {
- this(null, null);
- }
-
- /**
- * Creates a new QName by parsing a String representation of the node name
- *
- * @param str
- * String representation of the name
- * @return null
- */
- public static QName parse_QName(String str) {
- int occurs = 0;
-
- char[] strChrArr = str.toCharArray();
- for (int chrIndx = 0; chrIndx < strChrArr.length; chrIndx++) {
- if (strChrArr[chrIndx] == ':') {
- occurs += 1;
- }
- }
-
- if (occurs > 1) {
- return null;
- }
-
- String[] tokens = str.split(":");
-
- if (tokens.length == 1)
- return new QName(tokens[0]);
-
- if (tokens.length == 2) {
- return new QName(tokens[0], tokens[1]);
- }
-
- return null;
- }
-
- /**
- * Creates a new ResultSequence consisting of the extractable QName in the
- * supplied ResultSequence
- *
- * @param arg
- * The ResultSequence to extract from
- * @return New ResultSequence consisting of the QName supplied
- * @throws DynamicError
- */
- public ResultSequence constructor(ResultSequence arg) throws DynamicError {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg.empty())
- DynamicError.throw_type_error();
-
- AnyAtomicType aat = (AnyAtomicType) arg.first();
-
- if (!(aat instanceof XSString) && !(aat instanceof QName))
- DynamicError.throw_type_error();
-
- String sarg = aat.string_value();
-
- QName qname = parse_QName(sarg);
- if (qname == null)
- return null;
- rs.add(qname);
-
- return rs;
- }
-
- /**
- * Retrieves a String representation of the node name. This method is
- * functionally identical to string()
- *
- * @return String representation of the node name
- */
- public String string_value() {
- return string();
- }
-
- /**
- * Retrieves the datatype's full pathname
- *
- * @return "xs:QName" which is the datatype's full pathname
- */
- public String string_type() {
- return XS_Q_NAME;
- }
-
- /**
- * Retrieves the datatype's name
- *
- * @return "QName" which is the datatype's name
- */
- public String type_name() {
- return "QName";
- }
-
- /**
- * Retrieves a String representation of the node name. This method is
- * functionally identical to string_value()
- *
- * @return String representation of the node name
- */
- public String string() {
- String res = "";
-
- if (_prefix != null) {
- res = _prefix + ":";
- }
-
- res += _local_part;
- return res;
- }
-
- /**
- * Retrieves the full pathname including the namespace. This method must not
- * be called if a namespace does exist for this node
- *
- * @return Full pathname including namespace
- */
- public String expanded_name() {
- assert _expanded;
- // if(!_expanded)
- // return null;
-
- String e = "";
- if (_namespace != null)
- e += _namespace + ":";
-
- return e + _local_part;
- }
-
- /**
- * Retrieves the prefix of the node's pathname
- *
- * @return Prefix of the node's pathname
- */
- public String prefix() {
- return _prefix;
- }
-
- /**
- * Sets the namespace for this node
- *
- * @param n
- * Namespace this node belongs in
- */
- public void set_namespace(String n) {
- _namespace = n;
- _expanded = true;
- }
-
- /**
- * Retrieves the namespace that this node belongs in. This method must not
- * be called if the node does not belong in a namespace
- *
- * @return Namespace that this node belongs in
- */
- public String namespace() {
- assert _expanded;
- return _namespace;
- }
-
- /**
- * Retrieves the node's name
- *
- * @return Node's name
- */
- public String local() {
- return _local_part;
- }
-
- /**
- * Check for whether a namespace has been defined for this node
- *
- * @return True if a namespace has been defined for node. False otherwise
- */
- public boolean expanded() {
- return _expanded;
- }
-
- /**
- * Equality comparison between this QName and a supplied QName
- *
- * @param obj
- * The object to compare with. Should be of type QName
- * @return True if the two represent the same node. False otherwise
- */
- public boolean equals(Object obj) {
-
- // make sure we are comparing a qname
- if (!(obj instanceof QName))
- return false;
-
- QName arg = (QName) obj;
-
- // if they aren't expanded... we can't compare them
- if (!_expanded || !arg.expanded()) {
- assert false; // XXX not stricly necessary
- return false;
- }
-
- // two cases: null == null, or .equals(other)
- String argn = arg.namespace();
- if (_namespace != null) {
- if (!_namespace.equals(argn))
- return false;
- } else {
- if (argn != null)
- return false;
- }
-
- String argl = arg.local();
- // XXX local part should always be non null ?
- if (_local_part != null) {
- if (!_local_part.equals(argl))
- return false;
- } else {
- if (argl != null)
- return false;
- }
-
- return true;
- }
-
- /**
- * Calculates the hashcode for the full pathname
- *
- * @return The hashcode for the full pathname
- */
- public int hashCode() {
- int namespace = 3;
- int local = 4;
- int result = 0;
-
- assert expanded();
-
- if (_namespace != null)
- namespace = _namespace.hashCode();
- if (_local_part != null)
- local = _local_part.hashCode();
-
- result = namespace;
- result ^= (2 * local);
-
- if (_expanded)
- result ^= (result + 1);
-
- return result;
- }
-
- /**
- * Equality comparison between this QName and the supplied QName
- *
- * @param arg
- * The QName to compare with
- * @return True if the two represent the same node. False otherwise
- * @throws DynamicError
- */
- public boolean eq(AnyType arg, DynamicContext context) throws DynamicError {
- QName val = (QName) NumericType.get_single_type(arg, QName.class);
- return equals(val);
- }
-
- public String toString() {
- return string();
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/SchemaTypeValueFactory.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/SchemaTypeValueFactory.java
deleted file mode 100644
index 8067312..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/SchemaTypeValueFactory.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Mukul Gandhi, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Mukul Gandhi - initial API and implementation
- * Mukul Gandhi - bug 318313 - improvements to computation of typed values of nodes,
- * when validated by XML Schema primitive types
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-
-/**
- * A factory class implementation, to construct PsychoPath schema type representation
- * corresponding to XML Schema types.
- */
-public class SchemaTypeValueFactory {
-
- public static Object newSchemaTypeValue(String typeName, String strValue) {
-
- if (XSConstants.ANY_URI.equals(typeName)) {
- return new XSAnyURI(strValue);
- }
-
- if (XSConstants.BOOLEAN.equals(typeName)) {
- return new XSBoolean(Boolean.valueOf(strValue).
- booleanValue());
- }
-
- if (XSConstants.DATE.equals(typeName)) {
- return XSDate.parse_date(strValue);
- }
-
- if (XSConstants.DATE_TIME.equals(typeName)) {
- return XSDateTime.parseDateTime(strValue);
- }
-
- // decimal and it's subtypes
- if (XSConstants.DECIMAL.equals(typeName)) {
- return new XSDecimal(new BigDecimal(strValue));
- }
-
- if (XSConstants.INTEGER.equals(typeName)) {
- return new XSInteger(new BigInteger(strValue));
- }
-
- if (XSConstants.LONG.equals(typeName)) {
- return new XSLong(new BigInteger(strValue));
- }
-
- if (XSConstants.INT.equals(typeName)) {
- return new XSInt(new BigInteger(strValue));
- }
-
- if (XSConstants.SHORT.equals(typeName)) {
- return new XSShort(new BigInteger(strValue));
- }
-
- if (XSConstants.BYTE.equals(typeName)) {
- return new XSByte(new BigInteger(strValue));
- }
-
- if (XSConstants.NON_NEGATIVE_INTEGER.equals(typeName)) {
- return new XSNonNegativeInteger(new BigInteger(strValue));
- }
-
- if (XSConstants.POSITIVE_INTEGER.equals(typeName)) {
- return new XSPositiveInteger(new BigInteger(strValue));
- }
-
- if (XSConstants.UNSIGNED_LONG.equals(typeName)) {
- return new XSUnsignedLong(new BigInteger(strValue));
- }
-
- if (XSConstants.UNSIGNED_INT.equals(typeName)) {
- return new XSUnsignedInt(new BigInteger(strValue));
- }
-
- if (XSConstants.UNSIGNED_SHORT.equals(typeName)) {
- return new XSUnsignedShort(new BigInteger(strValue));
- }
-
- if (XSConstants.UNSIGNED_BYTE.equals(typeName)) {
- return new XSUnsignedByte(new BigInteger(strValue));
- }
-
- if (XSConstants.NON_POSITIVE_INTEGER.equals(typeName)) {
- return new XSNonPositiveInteger(new BigInteger(strValue));
- }
-
- if (XSConstants.NEGATIVE_INTEGER.equals(typeName)) {
- return new XSNegativeInteger(new BigInteger(strValue));
- }
- // end of, decimal types
-
- if (XSConstants.DOUBLE.equals(typeName)) {
- return new XSDouble(Double.parseDouble(strValue));
- }
-
- // duration and it's subtypes
- if (XSConstants.DURATION.equals(typeName)) {
- return XSDuration.parseDTDuration(strValue);
- }
-
- if (XSConstants.DAY_TIME_DURATION.equals(typeName)) {
- return XSDayTimeDuration.parseDTDuration(strValue);
- }
-
- if (XSConstants.YEAR_MONTH_DURATION.equals(typeName)) {
- return XSYearMonthDuration.parseYMDuration(strValue);
- }
- // end of, duration types
-
- if (XSConstants.FLOAT.equals(typeName)) {
- return new XSFloat(Float.parseFloat(strValue));
- }
-
- if (XSConstants.G_DAY.equals(typeName)) {
- return XSGDay.parse_gDay(strValue);
- }
-
- if (XSConstants.G_MONTH.equals(typeName)) {
- return XSGMonth.parse_gMonth(strValue);
- }
-
- if (XSConstants.G_MONTH_DAY.equals(typeName)) {
- return XSGMonthDay.parse_gMonthDay(strValue);
- }
-
- if (XSConstants.G_YEAR.equals(typeName)) {
- return XSGYear.parse_gYear(strValue);
- }
-
- if (XSConstants.G_YEAR_MONTH.equals(typeName)) {
- return XSGYearMonth.parse_gYearMonth(strValue);
- }
-
- if (XSConstants.NOTATION.equals(typeName)) {
- return new XSString(strValue);
- }
-
- if (XSConstants.Q_NAME.equals(typeName)) {
- return QName.parse_QName(strValue);
- }
-
- if (XSConstants.STRING.equals(typeName)) {
- return new XSString(strValue);
- }
-
- if (XSConstants.TIME.equals(typeName)) {
- return XSTime.parse_time(strValue);
- }
-
- // create a XSString value, as fallback option
- return new XSString(strValue);
-
- }
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/TextType.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/TextType.java
deleted file mode 100644
index 43e957e..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/TextType.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Jesper Moller- bug 275610 - Avoid big time and memory overhead for externals
- * David Carver - bug 281186 - implementation of fn:id and fn:idref
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.w3c.dom.Text;
-
-/**
- * A representation of the TextType datatype
- */
-public class TextType extends NodeType {
- private static final String TEXT = "text";
- private Text _value;
-
- /**
- * Initialises using the supplied parameters
- *
- * @param v
- * The value of the TextType node
- */
- public TextType(Text v) {
- super(v);
- _value = v;
- }
-
- /**
- * Retrieves the datatype's name
- *
- * @return "text" which is the datatype's name
- */
- public String string_type() {
- return TEXT;
- }
-
- /**
- * Retrieves a String representation of the actual value stored
- *
- * @return String representation of the actual value stored
- */
- public String string_value() {
- return _value.getNodeValue();
- }
-
- /**
- * Creates a new ResultSequence consisting of the Text value stored
- *
- * @return New ResultSequence consisting of the Text value stored
- */
- public ResultSequence typed_value() {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- rs.add(new XSUntypedAtomic(_value.getData()));
-
- return rs;
- }
-
- /**
- * Unsupported method for this nodetype.
- *
- * @return null (no user defined name for this node gets defined)
- */
- public QName node_name() {
- return null;
- }
-
- /**
- * Will always return false;
- * @since 1.1
- */
- public boolean isID() {
-
- return false;
- }
-
- /**
- *
- * @since 1.1
- */
- public boolean isIDREF() {
- return false;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XPathDecimalFormat.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XPathDecimalFormat.java
deleted file mode 100644
index 01f6e48..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XPathDecimalFormat.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Standards for Technology in Automotive Retail and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * David Carver - initial API and implementation
- * Jesper Steen Moller - bug 283404 - fixed locale
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import java.math.BigDecimal;
-import java.text.DecimalFormat;
-import java.text.DecimalFormatSymbols;
-import java.text.FieldPosition;
-import java.util.Locale;
-
-/**
- * This is an XPath specific implementation of DecimalFormat to handle
- * some of the xpath specific formatting requirements. Specifically
- * it allows for E# to be represented to indicate that the exponent value
- * is optional. Otherwise all existing DecimalFormat patterns are handled
- * as is.
- * @author dcarver
- * @see 1.1
- *
- */
-public class XPathDecimalFormat extends DecimalFormat {
-
- /**
- *
- */
- private static final long serialVersionUID = -8229885955864187400L;
- private static final String NEG_INFINITY = "-INF";
- private static final String POS_INFINITY = "INF";
-
- public XPathDecimalFormat(String pattern) {
- // Xpath hardcodes this to US locale
- super(pattern, new DecimalFormatSymbols(Locale.US));
- }
-
- /**
- * Formats the string dropping a Zero Exponent Value if it exists.
- * @param obj
- * @return
- */
- public String xpathFormat(Object obj) {
- return formatXPath(obj);
- }
-
- private String formatXPath(Object obj) {
- String curPattern = toPattern();
- String newPattern = curPattern.replaceAll("E0", "");
- if (obj instanceof Float) {
- return formatFloatValue(obj, curPattern, newPattern);
- }
- if (obj instanceof Double) {
- return formatDoubleValue(obj, curPattern, newPattern);
- }
- return super.format(obj, new StringBuffer(), new FieldPosition(0)).toString();
- }
-
- private String formatDoubleValue(Object obj, String curPattern,
- String newPattern) {
- Double doubleValue = (Double) obj;
- if (isDoubleNegativeInfinity(doubleValue)) {
- return NEG_INFINITY;
- }
- if (isDoublePositiveInfinity(doubleValue)) {
- return POS_INFINITY;
- }
- doubleXPathPattern(obj, curPattern, newPattern);
- return format(obj, new StringBuffer(), new FieldPosition(0)).toString();
- }
-
- private void doubleXPathPattern(Object obj, String curPattern,
- String newPattern) {
- BigDecimal doubValue = new BigDecimal((((Double) obj)).doubleValue());
- BigDecimal minValue = new BigDecimal("-1E6");
- BigDecimal maxValue = new BigDecimal("1E6");
- if (doubValue.compareTo(minValue) > 0 && doubValue.compareTo(maxValue) < 0) {
- applyPattern(newPattern);
- } else { //if (doubValue.compareTo(minValue) < 0) {
- applyPattern(curPattern.replaceAll("0\\.#", "0.0"));
- }
- }
-
- private boolean isDoublePositiveInfinity(Double doubleValue) {
- return doubleValue.doubleValue() == Double.POSITIVE_INFINITY;
- }
-
- private boolean isDoubleNegativeInfinity(Double doubleValue) {
- return doubleValue.doubleValue() == Double.NEGATIVE_INFINITY;
- }
-
- private String formatFloatValue(Object obj, String curPattern,
- String newPattern) {
- Float floatValue = (Float) obj;
- if (isFloatNegInfinity(floatValue)) {
- return NEG_INFINITY;
- }
- if (isFloatPosInfinity(floatValue)) {
- return POS_INFINITY;
- }
- floatXPathPattern(curPattern, newPattern, floatValue);
- return format(obj, new StringBuffer(), new FieldPosition(0)).toString();
- }
-
- private boolean isFloatPosInfinity(Float floatValue) {
- return floatValue.floatValue() == Float.POSITIVE_INFINITY;
- }
-
- private boolean isFloatNegInfinity(Float floatValue) {
- return floatValue.floatValue() == Float.NEGATIVE_INFINITY;
- }
-
- private void floatXPathPattern(String curPattern, String newPattern,
- Float floatValue) {
- if (floatValue.floatValue() > -1E6f && floatValue.floatValue() < 1E6f) {
-
- applyPattern(newPattern);
- } else if (floatValue.floatValue() <= -1E6f) {
- applyPattern(curPattern.replaceAll("0\\.#", "0.0" ));
- }
- }
-
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSAnyURI.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSAnyURI.java
deleted file mode 100644
index 3107bc9..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSAnyURI.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug274719 - implementation of equality of xs:anyURI values
- * David Carver (STAR) - bug 282223 - fixed casting to xs:anyURI only string,
- * untypedAtomic, and anyURI are allowed.
- * David Carver (STAR) - bug 283777 - implemented gt, lt comparison code.
- * Jesper Steen Moller - bug 281159 - added promotion of xs:anyURI to string (reverse case)
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.CmpEq;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.CmpGt;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.CmpLt;
-
-/**
- * Represents a Universal Resource Identifier (URI) reference
- */
-public class XSAnyURI extends CtrType implements CmpEq, CmpGt, CmpLt {
-
- private static final String XS_ANY_URI = "xs:anyURI";
- private String _value;
-
- /**
- * Arity 1 Constructor
- *
- * @param x
- * String representation of the URI
- */
- public XSAnyURI(String x) {
- _value = x;
- }
-
- /**
- * Arity 0 Constructor. Initiates URI to null.
- */
- public XSAnyURI() {
- this(null);
- }
-
- /**
- * Retrieve full type pathname of this datatype
- *
- * @return "xs:anyURI", the full type pathname of this datatype
- */
- public String string_type() {
- return XS_ANY_URI;
- }
-
- /**
- * Retrieve type name of this datatype
- *
- * @return "anyURI", the type name of this datatype
- */
- public String type_name() {
- return "anyURI";
- }
-
- /**
- * Transforms and retrieves the URI value of this URI datatype in String
- * format
- *
- * @return the URI value held by this instance of the URI datatype as a
- * String
- */
- public String string_value() {
- return _value;
- }
-
- /**
- * Creation of a result sequence consisting of a URI from a previous result
- * sequence.
- *
- * @param arg
- * previous result sequence
- * @throws DynamicError
- * @return new result sequence consisting of the URI supplied
- */
- public ResultSequence constructor(ResultSequence arg) throws DynamicError {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg.empty())
- return rs;
-
- AnyType aat = arg.first();
-
- if (!(aat.string_type().equals("xs:string")
- || aat.string_type().equals(XS_ANY_URI) || aat.string_type()
- .equals("xs:untypedAtomic"))) {
- throw DynamicError.invalidType();
- }
-
- rs.add(new XSAnyURI(aat.string_value()));
-
- return rs;
- }
-
- /**
- * Equality comparison between this and the supplied representation which
- * must be of type xs:anyURI (or, by promotion of this, xs:string)
- *
- * @param arg
- * The representation to compare with
- * @return True if the two representation are of the same String. False
- * otherwise
- * @throws DynamicError
- */
- public boolean eq(AnyType arg, DynamicContext context) throws DynamicError {
- if (arg instanceof XSAnyURI || arg instanceof XSString) {
- if (this.string_value().equals(arg.string_value())) {
- return true;
- }
- } else {
- throw DynamicError.throw_type_error();
- }
-
- return false;
- }
-
- /**
- * Greater than comparison between this and the supplied representation which
- * must be of type xs:anyURI (or, by promotion of this, xs:string)
- * @since 1.1
- */
- public boolean gt(AnyType arg, DynamicContext context) throws DynamicError {
- if (!(arg instanceof XSAnyURI || arg instanceof XSString)) {
- throw DynamicError.throw_type_error();
- }
-
- String anyURI = this.string_value();
- String compareToURI = arg.string_value();
- if (anyURI.compareTo(compareToURI) > 0) {
- return true;
- }
-
- return false;
- }
-
- /**
- * Less than comparison between this and the supplied representation which
- * must be of type xs:anyURI (or, by promotion of this, xs:string)
- *
- * @since 1.1
- */
- public boolean lt(AnyType arg, DynamicContext context) throws DynamicError {
- if (!(arg instanceof XSAnyURI || arg instanceof XSString)) {
- throw DynamicError.throw_type_error();
- }
-
- String anyURI = this.string_value();
- String compareToURI = arg.string_value();
- if (anyURI.compareTo(compareToURI) < 0) {
- return true;
- }
-
- return false;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSBase64Binary.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSBase64Binary.java
deleted file mode 100644
index f638269..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSBase64Binary.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Mukul Gandhi, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Mukul Gandhi - bug 281046 - initial API and implementation
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.apache.xerces.impl.dv.util.Base64;
-import org.apache.xerces.impl.dv.util.HexBin;
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.CmpEq;
-
-/**
- * A representation of the base64Binary datatype
- */
-public class XSBase64Binary extends CtrType implements CmpEq {
-
- private static final String XS_BASE64_BINARY = "xs:base64Binary";
- private String _value;
-
- /**
- * Initialises using the supplied String
- *
- * @param x
- * The String to initialise to
- */
- public XSBase64Binary(String x) {
- _value = x;
- }
-
- /**
- * Initialises to null
- */
- public XSBase64Binary() {
- this(null);
- }
-
- /**
- * Retrieves the datatype's full pathname
- *
- * @return "xs:base64Binary" which is the datatype's full pathname
- */
- public String string_type() {
- return XS_BASE64_BINARY;
- }
-
- /**
- * Retrieves the datatype's name
- *
- * @return "base64Binary" which is the datatype's name
- */
- public String type_name() {
- return "base64Binary";
- }
-
- /**
- * Retrieves a String representation of the base64Binary stored. This method is
- * functionally identical to value()
- *
- * @return The base64Binary stored
- */
- public String string_value() {
- return _value;
- }
-
- /**
- * Retrieves a String representation of the base64Binary stored. This method is
- * functionally identical to string_value()
- *
- * @return The base64Binary stored
- */
- public String value() {
- return _value;
- }
-
- /**
- * Creates a new ResultSequence consisting of the base64Binary value
- *
- * @param arg
- * The ResultSequence from which to construct base64Binary value
- * @return New ResultSequence representing base64Binary value
- * @throws DynamicError
- */
- public ResultSequence constructor(ResultSequence arg) throws DynamicError {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg.empty())
- return rs;
-
- AnyAtomicType aat = (AnyAtomicType) arg.first();
- if (aat instanceof NumericType || aat instanceof XSDuration ||
- aat instanceof CalendarType || aat instanceof XSBoolean ||
- aat instanceof XSAnyURI) {
- throw DynamicError.invalidType();
- }
-
- if (!isCastable(aat)) {
- throw DynamicError.cant_cast(null);
- }
-
- String str_value = aat.string_value();
-
- byte[] decodedValue = Base64.decode(str_value);
-
- if (aat instanceof XSHexBinary) {
- decodedValue = HexBin.decode(str_value);
- decodedValue = Base64.encode(decodedValue).getBytes();
- } else {
- decodedValue = str_value.getBytes();
- }
- if (decodedValue != null) {
- rs.add(new XSBase64Binary(new String(decodedValue)));
- }
- else {
- // invalid base64 string
- throw DynamicError.throw_type_error();
- }
-
- return rs;
- }
-
- private boolean isCastable(AnyAtomicType aat) {
- if (aat instanceof XSString || aat instanceof XSUntypedAtomic) {
- return true;
- }
-
- if (aat instanceof XSBase64Binary || aat instanceof XSHexBinary) {
- return true;
- }
-
- return false;
- }
-
- /**
- * Equality comparison between this and the supplied representation which
- * must be of type base64Binary
- *
- * @param arg
- * The representation to compare with
- * @return True if the two representation are same. False otherwise.
- *
- * @throws DynamicError
- */
- public boolean eq(AnyType arg, DynamicContext context) throws DynamicError {
- String valToCompare = arg.string_value();
-
- byte[] value1 = Base64.decode(_value);
- byte[] value2 = Base64.decode(valToCompare);
- if (value2 == null) {
- return false;
- }
-
- int len = value1.length;
- if (len != value2.length) {
- return false;
- }
-
- for (int i = 0; i < len; i++) {
- if (value1[i] != value2[i]) {
- return false;
- }
- }
-
- return true;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSBoolean.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSBoolean.java
deleted file mode 100644
index ae1be2d..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSBoolean.java
+++ /dev/null
@@ -1,206 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug274784 - improvements to xs:boolean data type implementation
- * David Carver - bug 282223 - corrected casting to boolean.
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.CmpEq;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.CmpGt;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.CmpLt;
-
-/**
- * A representation of a true or a false value.
- */
-public class XSBoolean extends CtrType implements CmpEq, CmpGt, CmpLt {
- private static final String XS_BOOLEAN = "xs:boolean";
- private boolean _value;
-
- /**
- * Initiates the new representation to the boolean supplied
- *
- * @param x
- * Initializes this datatype to represent this boolean
- */
- public XSBoolean(boolean x) {
- _value = x;
- }
-
- /**
- * Initiates to a default representation of false.
- */
- public XSBoolean() {
- this(false);
- }
-
- /**
- * Retrieve the full type pathname of this datatype
- *
- * @return "xs:boolean", the full datatype pathname
- */
- public String string_type() {
- return XS_BOOLEAN;
- }
-
- /**
- * Retrieve the datatype name
- *
- * @return "boolean", which is the datatype name.
- */
- public String type_name() {
- return "boolean";
- }
-
- /**
- * Retrieve the String representation of the boolean value stored
- *
- * @return the String representation of the boolean value stored
- */
- public String string_value() {
- return "" + _value;
- }
-
- /**
- * Retrieves the actual boolean value stored
- *
- * @return the actual boolean value stored
- */
- public boolean value() {
- return _value;
- }
-
- /**
- * Creates a new result sequence consisting of the retrievable boolean value
- * in the supplied result sequence
- *
- * @param arg
- * The result sequence from which to extract the boolean value.
- * @throws DynamicError
- * @return A new result sequence consisting of the boolean value supplied.
- */
- public ResultSequence constructor(ResultSequence arg) throws DynamicError {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg.empty())
- return rs;
-
- AnyType anyType = arg.first();
-
- if (anyType instanceof XSDuration || anyType instanceof CalendarType ||
- anyType instanceof XSBase64Binary || anyType instanceof XSHexBinary ||
- anyType instanceof XSAnyURI) {
- throw DynamicError.invalidType();
- }
-
- String str_value = anyType.string_value();
-
-
- if (!(isCastable(anyType, str_value))) {
- throw DynamicError.cant_cast(null);
- }
-
- Boolean b = null;
- if (isFalse(str_value)) {
- b = Boolean.FALSE;
- }
- else {
- b = Boolean.TRUE;
- }
-
- rs.add(new XSBoolean(b.booleanValue()));
-
- return rs;
- }
-
- private boolean isFalse(String str_value) {
- return str_value.equals("0") || str_value.equals("false") ||
- str_value.equals("+0") || str_value.equals("-0") ||
- str_value.equals("0.0E0") || str_value.equals("NaN");
- }
-
- private boolean isCastable(AnyType anyType, String str_value) {
- return str_value.equals("0") || str_value.equals("1") ||
- str_value.equals("true") || str_value.equals("false") ||
- anyType instanceof NumericType;
- }
-
- // comparisons
- /**
- * Comparison for equality between the supplied and this boolean
- * representation. Returns true if both represent same boolean value, false
- * otherwise
- *
- * @param arg
- * The XSBoolean representation of the boolean value to compare
- * with.
- * @throws DynamicError
- * @return New XSBoolean representation of true/false result of the equality
- * comparison
- */
- public boolean eq(AnyType arg, DynamicContext context) throws DynamicError {
- XSBoolean barg = (XSBoolean) NumericType.get_single_type(arg,
- XSBoolean.class);
-
- return value() == barg.value();
- }
-
- /**
- * Comparison between the supplied and this boolean representation. Returns
- * true if this XSBoolean represents true and that XSBoolean supplied
- * represents false. Returns false otherwise
- *
- * @param arg
- * The XSBoolean representation of the boolean value to compare
- * with.
- * @throws DynamicError
- * @return New XSBoolean representation of true/false result of the
- * comparison
- */
- public boolean gt(AnyType arg, DynamicContext context) throws DynamicError {
- XSBoolean barg = (XSBoolean) NumericType.get_single_type(arg,
- XSBoolean.class);
-
- boolean result = false;
-
- if (value() && !barg.value())
- result = true;
- return result;
- }
-
- /**
- * Comparison between the supplied and this boolean representation. Returns
- * true if this XSBoolean represents false and that XSBoolean supplied
- * represents true. Returns false otherwise
- *
- * @param arg
- * The XSBoolean representation of the boolean value to compare
- * with.
- * @throws DynamicError
- * @return New XSBoolean representation of true/false result of the
- * comparison
- */
- public boolean lt(AnyType arg, DynamicContext context) throws DynamicError {
- XSBoolean barg = (XSBoolean) NumericType.get_single_type(arg,
- XSBoolean.class);
-
- boolean result = false;
-
- if (!value() && barg.value())
- result = true;
- return result;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSByte.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSByte.java
deleted file mode 100644
index 95dbb23..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSByte.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Mukul Gandhi, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Mukul Gandhi - bug 277639 - implementation of xs:byte data type
- * David Carver - bug 262765 - fixed abs value tests.
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-
-import java.math.BigInteger;
-
-public class XSByte extends XSShort {
-
- private static final String XS_BYTE = "xs:byte";
-
- /**
- * Initializes a representation of 0
- */
- public XSByte() {
- this(BigInteger.valueOf(0));
- }
-
- /**
- * Initializes a representation of the supplied byte value
- *
- * @param x
- * Byte to be stored
- */
- public XSByte(BigInteger x) {
- super(x);
- }
-
- /**
- * Retrieves the datatype's full pathname
- *
- * @return "xs:byte" which is the datatype's full pathname
- */
- public String string_type() {
- return XS_BYTE;
- }
-
- /**
- * Retrieves the datatype's name
- *
- * @return "byte" which is the datatype's name
- */
- public String type_name() {
- return "byte";
- }
-
- /**
- * Creates a new ResultSequence consisting of the extractable 'byte' in the
- * supplied ResultSequence
- *
- * @param arg
- * The ResultSequence from which the byte is to be extracted
- * @return New ResultSequence consisting of the 'byte' supplied
- * @throws DynamicError
- */
- public ResultSequence constructor(ResultSequence arg) throws DynamicError {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg.empty())
- return rs;
-
- // the function conversion rules apply here too. Get the argument
- // and convert it's string value to a byte.
- AnyType aat = arg.first();
-
- try {
- BigInteger bigInt = new BigInteger(aat.string_value());
-
- // doing the range checking
- BigInteger min = BigInteger.valueOf(-128L);
- BigInteger max = BigInteger.valueOf(127L);
-
- if (bigInt.compareTo(min) < 0 || bigInt.compareTo(max) > 0) {
- // invalid input
- throw DynamicError.cant_cast(null);
- }
-
- rs.add(new XSByte(bigInt));
-
- return rs;
- } catch (NumberFormatException e) {
- throw DynamicError.cant_cast(null);
- }
-
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSConstants.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSConstants.java
deleted file mode 100644
index 5ece155..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSConstants.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Mukul Gandhi, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Mukul Gandhi - initial API and implementation
- * Mukul Gandhi - bug 318313 - improvements to computation of typed values of nodes,
- * when validated by XML Schema primitive types
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-/**
- * Constants representing XML Schema built-in types
- */
-public class XSConstants {
-
- public static final String TIME = "time";
- public static final String STRING = "string";
- public static final String Q_NAME = "QName";
- public static final String NOTATION = "NOTATION";
- public static final String G_YEAR_MONTH = "gYearMonth";
- public static final String G_YEAR = "gYear";
- public static final String G_MONTH_DAY = "gMonthDay";
- public static final String G_MONTH = "gMonth";
- public static final String G_DAY = "gDay";
- public static final String FLOAT = "float";
- public static final String YEAR_MONTH_DURATION = "yearMonthDuration";
- public static final String DAY_TIME_DURATION = "dayTimeDuration";
- public static final String DURATION = "duration";
- public static final String DOUBLE = "double";
- public static final String NEGATIVE_INTEGER = "negativeInteger";
- public static final String NON_POSITIVE_INTEGER = "nonPositiveInteger";
- public static final String UNSIGNED_BYTE = "unsignedByte";
- public static final String UNSIGNED_SHORT = "unsignedShort";
- public static final String UNSIGNED_INT = "unsignedInt";
- public static final String UNSIGNED_LONG = "unsignedLong";
- public static final String POSITIVE_INTEGER = "positiveInteger";
- public static final String NON_NEGATIVE_INTEGER = "nonNegativeInteger";
- public static final String BYTE = "byte";
- public static final String SHORT = "short";
- public static final String INT = "int";
- public static final String LONG = "long";
- public static final String INTEGER = "integer";
- public static final String DECIMAL = "decimal";
- public static final String DATE_TIME = "dateTime";
- public static final String DATE = "date";
- public static final String BOOLEAN = "boolean";
- public static final String ANY_URI = "anyURI";
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSDate.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSDate.java
deleted file mode 100644
index 38f84ad..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSDate.java
+++ /dev/null
@@ -1,542 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 273760 - wrong namespace for functions and data types
- * Mukul Gandhi - bug 274792 - improvements to xs:date constructor function.
- * David Carver - bug 282223 - implementation of xs:duration.
- * fixed casting issue.
- * David Carver - bug 280547 - fix dates for comparison
- * Jesper Steen Moller - bug 262765 - fix type tests
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.CmpEq;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.CmpGt;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.CmpLt;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.MathMinus;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.MathPlus;
-
-import java.util.Calendar;
-import java.util.GregorianCalendar;
-import java.util.TimeZone;
-
-import javax.xml.datatype.DatatypeConfigurationException;
-import javax.xml.datatype.DatatypeFactory;
-import javax.xml.datatype.Duration;
-import javax.xml.datatype.XMLGregorianCalendar;
-
-/**
- * Representation of a date of the form year-month-day and optional timezone
- */
-public class XSDate extends CalendarType implements CmpEq, CmpLt, CmpGt,
-
-MathMinus, MathPlus,
-
-Cloneable {
- private static final String XS_DATE = "xs:date";
- private Calendar _calendar;
- private boolean _timezoned;
- private XSDuration _tz;
-
- /**
- * Initializes a new representation of a supplied date
- *
- * @param cal
- * The Calendar representation of the date to be stored
- * @param tz
- * The time zone of the date to be stored.
- */
- public XSDate(Calendar cal, XSDuration tz) {
- _calendar = cal;
-
- _tz = tz;
- if (tz == null)
- _timezoned = false;
- else
- _timezoned = true;
- }
-
- /**
- * Initializes a new representation of the current date
- */
- public XSDate() {
- this(new GregorianCalendar(TimeZone.getTimeZone("GMT")), null);
- }
-
- /**
- * Retrieves the datatype name
- *
- * @return "date" which is the dataype name
- */
- public String type_name() {
- return "date";
- }
-
- /**
- * Creates a copy of this date representation
- *
- * @return A copy of this date representation
- */
- public Object clone() throws CloneNotSupportedException {
- Calendar c = (Calendar) calendar().clone();
- XSDuration t = tz();
-
- if (t != null)
- t = (XSDuration) t.clone();
-
- return new XSDate(c, t);
- }
-
- /**
- * Parses a String representation of a date (of the form year-month-day or
- * year-month-day+timezone) and constructs a new XSDate representation of
- * it.
- *
- * @param str
- * The String representation of the date (and optional timezone)
- * @return The XSDate representation of the supplied date
- */
- public static XSDate parse_date(String str) {
-
- String date = "";
- String time = "T00:00:00.0";
-
- int index = str.indexOf('+', 1);
- if (index == -1) {
- index = str.indexOf('-', 1);
- if (index == -1)
- return null;
- index = str.indexOf('-', index + 1);
- if (index == -1)
- return null;
- index = str.indexOf('-', index + 1);
- }
- if (index == -1)
- index = str.indexOf('Z', 1);
- if (index != -1) {
- date = str.substring(0, index);
- // here we go
- date += time;
- date += str.substring(index, str.length());
- } else {
- date = str + time;
- }
-
- // sorry again =D
- XSDateTime dt = XSDateTime.parseDateTime(date);
- if (dt == null)
- return null;
-
- return new XSDate(dt.calendar(), dt.tz());
- }
-
- /**
- * Creates a new result sequence consisting of the retrievable date value in
- * the supplied result sequence
- *
- * @param arg
- * The result sequence from which to extract the date value.
- * @throws DynamicError
- * @return A new result sequence consisting of the date value supplied.
- */
- public ResultSequence constructor(ResultSequence arg) throws DynamicError {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg.empty())
- return rs;
-
- AnyType aat = arg.first();
-
- if (!isCastable(aat)) {
- throw DynamicError.invalidType();
- }
-
- XSDate dt = castDate(aat);
-
- if (dt == null)
- throw DynamicError.cant_cast(null);
-
- rs.add(dt);
-
- return rs;
- }
-
- private boolean isCastable(AnyType aat) {
-
- // We might be able to cast these.
- if (aat instanceof XSString || aat instanceof XSUntypedAtomic
- || aat instanceof NodeType) {
- return true;
- }
-
- if (aat instanceof XSTime) {
- return false;
- }
-
- if (aat instanceof XSDateTime) {
- return true;
-
- }
-
- if (aat instanceof XSDate) {
- return true;
- }
-
- return false;
- }
-
- private XSDate castDate(AnyType aat) {
- if (aat instanceof XSDate) {
- XSDate date = (XSDate) aat;
- return new XSDate(date.calendar(), date.tz());
- }
-
- if (aat instanceof XSDateTime) {
- XSDateTime dateTime = (XSDateTime) aat;
- return new XSDate(dateTime.calendar(), dateTime.tz());
- }
-
- return parse_date(aat.string_value());
- }
-
- /**
- * Retrieve the year from the date stored
- *
- * @return the year value of the date stored
- */
- public int year() {
- int y = _calendar.get(Calendar.YEAR);
- if (_calendar.get(Calendar.ERA) == GregorianCalendar.BC)
- y *= -1;
-
- return y;
- }
-
- /**
- * Retrieve the month from the date stored
- *
- * @return the month value of the date stored
- */
- public int month() {
- return _calendar.get(Calendar.MONTH) + 1;
- }
-
- /**
- * Retrieve the day from the date stored
- *
- * @return the day value of the date stored
- */
- public int day() {
- return _calendar.get(Calendar.DAY_OF_MONTH);
- }
-
- /**
- * Retrieves whether this date has an optional timezone associated with it
- *
- * @return True if there is a timezone associated with this date. False
- * otherwise.
- */
- public boolean timezoned() {
- return _timezoned;
- }
-
- /**
- * Retrieves a String representation of the date stored
- *
- * @return String representation of the date stored
- */
- public String string_value() {
- String ret = "";
-
- Calendar adjustFortimezone = calendar();
-
- if (adjustFortimezone.get(Calendar.ERA) == GregorianCalendar.BC) {
- ret += "-";
- }
-
- ret += XSDateTime.pad_int(adjustFortimezone.get(Calendar.YEAR), 4);
-
- ret += "-";
- ret += XSDateTime.pad_int(month(), 2);
-
- ret += "-";
- ret += XSDateTime.pad_int(adjustFortimezone.get(Calendar.DAY_OF_MONTH),
- 2);
-
- if (timezoned()) {
- int hrs = _tz.hours();
- int min = _tz.minutes();
- double secs = _tz.seconds();
- if (hrs == 0 && min == 0 && secs == 0) {
- ret += "Z";
- } else {
- String tZoneStr = "";
- if (_tz.negative()) {
- tZoneStr += "-";
- } else {
- tZoneStr += "+";
- }
- tZoneStr += XSDateTime.pad_int(hrs, 2);
- tZoneStr += ":";
- tZoneStr += XSDateTime.pad_int(min, 2);
-
- ret += tZoneStr;
- }
- }
-
- return ret;
- }
-
- /**
- * Retrive the datatype full pathname
- *
- * @return "xs:date" which is the datatype full pathname
- */
- public String string_type() {
- return XS_DATE;
- }
-
- /**
- * Retrieves the Calendar representation of the date stored
- *
- * @return Calendar representation of the date stored
- */
- public Calendar calendar() {
- return _calendar;
- }
-
- /**
- * Retrieves the timezone associated with the date stored
- *
- * @return the timezone associated with the date stored
- */
- public XSDuration tz() {
- return _tz;
- }
-
- // comparisons
- /**
- * Equality comparison on this and the supplied dates (taking timezones into
- * account)
- *
- * @param arg
- * XSDate representation of the date to compare to
- * @throws DynamicError
- * @return True if the two dates are represent the same exact point in time.
- * False otherwise.
- */
- public boolean eq(AnyType arg, DynamicContext context) throws DynamicError {
- XSDate val = (XSDate) NumericType.get_single_type(arg, XSDate.class);
- Calendar thiscal = normalizeCalendar(calendar(), tz());
- Calendar thatcal = normalizeCalendar(val.calendar(), val.tz());
-
- return thiscal.equals(thatcal);
- }
-
- /**
- * Comparison on this and the supplied dates (taking timezones into account)
- *
- * @param arg
- * XSDate representation of the date to compare to
- * @throws DynamicError
- * @return True if in time, this date lies before the date supplied. False
- * otherwise.
- */
- public boolean lt(AnyType arg, DynamicContext context) throws DynamicError {
- XSDate val = (XSDate) NumericType.get_single_type(arg, XSDate.class);
- Calendar thiscal = normalizeCalendar(calendar(), tz());
- Calendar thatcal = normalizeCalendar(val.calendar(), val.tz());
-
- return thiscal.before(thatcal);
- }
-
- /**
- * Comparison on this and the supplied dates (taking timezones into account)
- *
- * @param arg
- * XSDate representation of the date to compare to
- * @throws DynamicError
- * @return True if in time, this date lies after the date supplied. False
- * otherwise.
- */
- public boolean gt(AnyType arg, DynamicContext context) throws DynamicError {
- XSDate val = (XSDate) NumericType.get_single_type(arg, XSDate.class);
- Calendar thiscal = normalizeCalendar(calendar(), tz());
- Calendar thatcal = normalizeCalendar(val.calendar(), val.tz());
-
- return thiscal.after(thatcal);
- }
-
- // XXX this is incorrect [epoch]
- /**
- * Currently unsupported method. Retrieves the date in milliseconds since
- * the begining of epoch
- *
- * @return Number of milliseconds since the begining of the epoch
- */
- public double value() {
- return calendar().getTimeInMillis() / 1000.0;
- }
-
- // math
- /**
- * Mathematical minus operator between this XSDate and a supplied result
- * sequence (XSDate, XSYearMonthDuration and XSDayTimeDuration are only
- * valid ones).
- *
- * @param arg
- * The supplied ResultSequence that is on the right of the minus
- * operator. If this is an XSDate, the result will be a
- * XSDayTimeDuration of the duration of time between these two
- * dates. If arg is an XSYearMonthDuration or an
- * XSDayTimeDuration the result will be a XSDate of the result of
- * the current date minus the duration of time supplied.
- * @return New ResultSequence consisting of the result of the mathematical
- * minus operation.
- */
- public ResultSequence minus(ResultSequence arg) throws DynamicError {
- if (arg.size() != 1)
- throw DynamicError.throw_type_error();
-
- AnyType at = arg.first();
-
- if (!(at instanceof XSDate) && !(at instanceof XSYearMonthDuration)
- && !(at instanceof XSDayTimeDuration)) {
- throw DynamicError.throw_type_error();
- }
-
- if (at instanceof XSDate) {
- return minusXSDate(arg);
- }
-
- if (at instanceof XSYearMonthDuration) {
- return minusXSYearMonthDuration(at);
- }
-
- if (at instanceof XSDayTimeDuration) {
- return minusXSDayTimeDuration(at);
- }
-
- return null;
- }
-
- private ResultSequence minusXSDayTimeDuration(AnyType at) {
- XSDuration val = (XSDuration) at;
-
- try {
- XSDate res = (XSDate) clone();
- try {
- XMLGregorianCalendar xmlCal = DatatypeFactory.newInstance()
- .newXMLGregorianCalendar(
- (GregorianCalendar) calendar());
- Duration dtduration = DatatypeFactory.newInstance()
- .newDuration(val.string_value());
- xmlCal.add(dtduration.negate());
- res = new XSDate(xmlCal.toGregorianCalendar(), res.tz());
- } catch (DatatypeConfigurationException ex) {
-
- }
- return ResultSequenceFactory.create_new(res);
- } catch (CloneNotSupportedException ex) {
-
- }
- return null;
- }
-
- private ResultSequence minusXSYearMonthDuration(AnyType at) {
- XSYearMonthDuration val = (XSYearMonthDuration) at;
- try {
- XSDate res = (XSDate) clone();
-
- res.calendar().add(Calendar.MONTH, val.monthValue() * -1);
- return ResultSequenceFactory.create_new(res);
- } catch (CloneNotSupportedException ex) {
-
- }
- return null;
- }
-
- private ResultSequence minusXSDate(ResultSequence arg) throws DynamicError {
- XSDate val = (XSDate) NumericType.get_single_type(arg, XSDate.class);
- Duration dtduration = null;
- try {
- Calendar thisCal = normalizeCalendar(calendar(), tz());
- Calendar thatCal = normalizeCalendar(val.calendar(), val.tz());
- long duration = thisCal.getTimeInMillis()
- - thatCal.getTimeInMillis();
- dtduration = DatatypeFactory.newInstance().newDuration(duration);
- return ResultSequenceFactory.create_new(XSDayTimeDuration
- .parseDTDuration(dtduration.toString()));
-
- } catch (DatatypeConfigurationException ex) {
-
- }
- return null;
- }
-
- /**
- * Mathematical addition operator between this XSDate and a supplied result
- * sequence (XDTYearMonthDuration and XDTDayTimeDuration are only valid
- * ones).
- *
- * @param arg
- * The supplied ResultSequence that is on the right of the minus
- * operator. If arg is an XDTYearMonthDuration or an
- * XDTDayTimeDuration the result will be a XSDate of the result
- * of the current date minus the duration of time supplied.
- * @return New ResultSequence consisting of the result of the mathematical
- * minus operation.
- */
- public ResultSequence plus(ResultSequence arg) throws DynamicError {
- if (arg.size() != 1)
- DynamicError.throw_type_error();
-
- AnyType at = arg.first();
-
- try {
- if (at instanceof XSYearMonthDuration) {
- XSYearMonthDuration val = (XSYearMonthDuration) at;
-
- XSDate res = (XSDate) clone();
-
- res.calendar().add(Calendar.MONTH, val.monthValue());
- return ResultSequenceFactory.create_new(res);
- } else if (at instanceof XSDayTimeDuration) {
- XSDayTimeDuration val = (XSDayTimeDuration) at;
-
- XSDate res = (XSDate) clone();
-
- // We only need to add the Number of days dropping the rest.
- int days = val.days();
- if (val.negative()) {
- days *= -1;
- }
- res.calendar().add(Calendar.DAY_OF_MONTH, days);
-
- res.calendar().add(Calendar.MILLISECOND,
- (int) (val.time_value() * 1000.0));
- return ResultSequenceFactory.create_new(res);
- } else {
- DynamicError.throw_type_error();
- return null; // unreach
- }
- } catch (CloneNotSupportedException err) {
- assert false;
- return null;
- }
-
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSDateTime.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSDateTime.java
deleted file mode 100644
index fa70a17..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSDateTime.java
+++ /dev/null
@@ -1,982 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 273760 - wrong namespace for functions and data types
- * Mukul Gandhi - improved string_value() implementation (motivated by bug, 281822)
- * David Carver - bug 282223 - implementation of xs:duration.
- * - bug 262765 - additional tweak to convert 24:00:00 to 00:00:00
- * David Carver - bug 280547 - fix dates for comparison
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.CmpEq;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.CmpGt;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.CmpLt;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.MathMinus;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.MathPlus;
-
-import java.util.Calendar;
-import java.util.GregorianCalendar;
-import java.util.TimeZone;
-
-import javax.xml.datatype.DatatypeConfigurationException;
-import javax.xml.datatype.DatatypeFactory;
-import javax.xml.datatype.Duration;
-import javax.xml.datatype.XMLGregorianCalendar;
-
-/**
- * A representation of a date and time (and optional timezone)
- */
-public class XSDateTime extends CalendarType implements CmpEq, CmpLt, CmpGt,
-
-MathMinus, MathPlus,
-
-Cloneable {
- private static final String XS_DATE_TIME = "xs:dateTime";
- private Calendar _calendar;
- private boolean _timezoned;
- private XSDuration _tz;
-
- /**
- * Initiates a new representation of a supplied date and time
- *
- * @param cal
- * The Calendar representation of the date and time to be stored
- * @param tz
- * The timezone of the date to be stored.
- */
- public XSDateTime(Calendar cal, XSDuration tz) {
- _calendar = cal;
-
- _tz = tz;
-
- if (tz == null)
- _timezoned = false;
- else
- _timezoned = true;
- }
-
- /**
- * Creates a copy of this date and time representation
- *
- * @return A copy of this date and time representation
- */
- public Object clone() throws CloneNotSupportedException {
- Calendar c = (Calendar) calendar().clone();
- XSDuration t = tz();
-
- if (t != null)
- t = (XSDuration) t.clone();
-
- return new XSDateTime(c, t);
- }
-
- /**
- * Inititates a new representation of the current date and time
- */
- public XSDateTime() {
- this(new GregorianCalendar(), null);
- }
-
- /**
- * Retrieves the datatype name
- *
- * @return "dateTime" which is the dataype name
- */
- public String type_name() {
- return "dateTime";
- }
-
- /**
- * Check to see if a character is numeric
- *
- * @param x
- * Character to be tested
- * @return True if the character is numeric. False otherwise.
- */
- public static boolean is_digit(char x) {
- if ('0' <= x && x <= '9')
- return true;
- return false;
- }
-
- /**
- * Parses a String representation of a date and time and retrieves the year,
- * month and day from it
- *
- * @param str
- * The String representation of the date (and optional timezone)
- * @return Integer array of size 3. Element 1 is the year, element 2 is the
- * month and element 3 is the day
- */
- public static int[] parse_date(String str) {
- int state = 0; // 0 expect year or minus
- // 1 getting year
- // 2 getting month
- // 3 getting day
-
- int[] ret = new int[3];
-
- for (int i = 0; i < ret.length; i++)
- ret[i] = 0;
-
- String token = "";
- for (int i = 0; i < str.length(); i++) {
- char x = str.charAt(i);
-
- switch (state) {
- case 0:
- if (is_digit(x)) {
- token += x;
- } else if (x == '-') {
- token += x;
- } else
- return null;
- state = 1;
- break;
-
- case 1:
- // we got the year in theory...
- if (x == '-') {
-
- // check out the unsigned year
- String uy = token;
- if (uy.startsWith("-"))
- uy = uy.substring(1, uy.length());
- int uyl = uy.length();
-
- if (uyl < 4)
- return null;
-
- if (uyl == 4) {
- if (uy.compareTo("0000") == 0)
- return null;
- } else if (uy.charAt(0) == '0')
- return null;
-
- // semms good to me
- ret[0] = Integer.parseInt(token);
- token = "";
- state = 2;
- } else if (is_digit(x))
- token += x;
- else
- return null;
- break;
-
- case 2:
- // we got the month
- if (x == '-') {
- if (token.length() != 2)
- return null;
-
- ret[1] = Integer.parseInt(token);
- token = "";
- state = 3;
- } else if (is_digit(x))
- token += x;
- else
- return null;
- break;
-
- case 3:
- // getting day
- if (is_digit(x))
- token += x;
- else
- return null;
- break;
-
- default:
- assert false;
- return ret;
- }
- }
- if (state != 3)
- return null;
-
- // got the day
- if (token.length() != 2)
- return null;
-
- ret[2] = Integer.parseInt(token);
-
- return ret;
- }
-
- // return
- // hour
- // minute
- // seconds
- /**
- * Parses a String representation of a date and time and retrieves the hour,
- * minute and seconds from it
- *
- * @param str
- * The String representation of the date (and optional timezone)
- * @return Integer array of size 3. Element 1 is the hour, element 2 is the
- * minute and element 3 is the seconds
- */
- public static double[] parse_time(String str) {
- int state = 0; // 0 getting minute
- // 1 getting hour
- // 2 getting seconds [the whole part]
- // 3 getting fraction of seconds
-
- double[] ret = new double[3];
-
- String token = "";
-
- for (int i = 0; i < str.length(); i++) {
- char x = str.charAt(i);
-
- switch (state) {
- case 0:
- case 1:
- // got minute / hour
- if (x == ':') {
- if (token.length() != 2)
- return null;
- ret[state] = Integer.parseInt(token);
- state++;
- token = "";
- } else if (is_digit(x))
- token += x;
- else
- return null;
- break;
-
- case 2:
- if (is_digit(x)) {
- token += x;
- if (token.length() > 2)
- return null;
- } else if (x == '.') {
- token += x;
- state = 3;
- } else
- return null;
- break;
-
- case 3:
- if (is_digit(x))
- token += x;
- else
- return null;
- break;
-
- default:
- assert false;
- return null;
- }
- }
- if (!(state == 3 || state == 2))
- return null;
-
- // get seconds
- // this is whole + dot + nothing else
- if (token.length() == 3)
- return null;
-
- ret[2] = Double.parseDouble(token);
-
- if (ret[0] == 24.0) {
- ret[0] = 00.0;
- }
-
- // XXX sanity check args...
- return ret;
- }
-
- // returns
- // positive/negative
- // hour
- // minute
- /**
- * Parses a String representation of a date and time and retrieves the
- * timezone from it
- *
- * @param str
- * The String representation of the date (and optional timezone)
- * @return Integer array of size 3. Element 1 represents whether the
- * timezone is ahead or behind GMT, element 2 is the hour
- * displacement and element 3 is the minute displacement.
- */
- public static int[] parse_timezone(String str) {
- int[] ret = new int[3];
-
- for (int i = 0; i < ret.length; i++)
- ret[i] = 0;
- ret[0] = 1;
-
- if (str.equals("Z")) {
- return ret;
- }
-
- // get initial plus/minus
- if (str.startsWith("+"))
- ret[0] = 1;
- else if (str.startsWith("-"))
- ret[0] = -1;
- else
- return null;
-
- str = str.substring(1, str.length());
-
- if (str.length() != (2 + 1 + 2))
- return null;
-
- try {
- ret[1] = Integer.parseInt(str.substring(0, 2));
- ret[2] = Integer.parseInt(str.substring(3, 5));
-
- // According to schema spec, timezone is limited to
- // this... [well.. almost...]
- if (ret[1] > 14)
- return null;
- if (ret[2] > 59)
- return null;
-
- return ret;
- } catch (NumberFormatException err) {
- return null;
- }
- }
-
- /**
- * Attempts to set a particular field in the Calendar
- *
- * @param cal
- * The Calendar object to set the field in
- * @param item
- * The field to set
- * @param val
- * The value to set the field to
- * @return True if successfully set. False otherwise (due to out of bounds
- * for that field)
- */
- private static boolean set_item(Calendar cal, int item, int val) {
- int min = cal.getActualMinimum(item);
-
- if (val < min)
- return false;
-
- int max = cal.getActualMaximum(item);
-
- if (val > max)
- return false;
-
- cal.set(item, val);
- return true;
- }
-
- /**
- * Parses a String representation of a date and time and constructs a new
- * XSDateTime object using that information
- *
- * @param str
- * The String representation of the date (and optional timezone)
- * @return The XSDateTime representation of the date and time (and optional
- * timezone)
- */
- public static XSDateTime parseDateTime(String str) {
- // oh no... not again
-
- // ok its three things:
- // date T time timezone
-
- int index = str.indexOf('T');
- if (index == -1)
- return null;
-
- // split date and rest...
- String date = str.substring(0, index);
- String time = str.substring(index + 1, str.length());
- String timezone = null;
-
- // check for timezone
- index = time.indexOf('+');
- if (index == -1)
- index = time.indexOf('-');
- if (index == -1)
- index = time.indexOf('Z');
- if (index != -1) {
- timezone = time.substring(index, time.length());
- time = time.substring(0, index);
- }
-
- // get date
- int d[] = parse_date(date);
- if (d == null)
- return null;
-
- // SANITY CHEX
- TimeZone UTC = TimeZone.getTimeZone("UTC");
- GregorianCalendar cal = new GregorianCalendar(UTC);
-
- // year
- int year = d[0];
- if (year < 0) {
- year *= -1;
- cal.set(Calendar.ERA, GregorianCalendar.BC);
- } else {
- cal.set(Calendar.ERA, GregorianCalendar.AD);
- }
-
- // this is a nice bug....
- // if say the current day is 29...
- // then if we set the month to feb for example, and 29 doesn't
- // exist in that year, then the date screws up.
- cal.set(Calendar.DAY_OF_MONTH, 2);
- cal.set(Calendar.MONTH, 2);
-
- if (!set_item(cal, Calendar.YEAR, year))
- return null;
-
- if (!set_item(cal, Calendar.MONTH, d[1] - 1))
- return null;
-
- if (!set_item(cal, Calendar.DAY_OF_MONTH, d[2]))
- return null;
-
- // get time
- double t[] = parse_time(time);
- if (t == null)
- return null;
-
- if (!set_item(cal, Calendar.HOUR_OF_DAY, (int) t[0]))
- return null;
-
- if (!set_item(cal, Calendar.MINUTE, (int) t[1]))
- return null;
-
- if (!set_item(cal, Calendar.SECOND, (int) t[2]))
- return null;
-
- double ms = t[2] - ((int) t[2]);
- ms *= 1000;
- if (!set_item(cal, Calendar.MILLISECOND, (int) ms))
- return null;
-
- // get timezone
- int tz[] = null;
- XSDuration tzd = null;
- if (timezone != null) {
- tz = parse_timezone(timezone);
-
- if (tz == null)
- return null;
-
- tzd = new XSDayTimeDuration(0, tz[1], tz[2], 0.0, tz[0] < 0);
-
- }
-
- return new XSDateTime(cal, tzd);
- }
-
- /**
- * Creates a new result sequence consisting of the retrievable date and time
- * value in the supplied result sequence
- *
- * @param arg
- * The result sequence from which to extract the date and time
- * value.
- * @throws DynamicError
- * @return A new result sequence consisting of the date and time value
- * supplied.
- */
- public ResultSequence constructor(ResultSequence arg) throws DynamicError {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg.empty())
- return rs;
-
- AnyAtomicType aat = (AnyAtomicType) arg.first();
- if (aat instanceof NumericType || aat instanceof XSDuration
- || aat instanceof XSTime || isGDataType(aat)
- || aat instanceof XSBoolean || aat instanceof XSBase64Binary
- || aat instanceof XSHexBinary || aat instanceof XSAnyURI) {
- throw DynamicError.invalidType();
- }
-
- if (!isCastable(aat)) {
- throw DynamicError.cant_cast(null);
- }
-
- CalendarType dt = castDateTime(aat);
-
- if (dt == null)
- throw DynamicError.cant_cast(null);
-
- rs.add(dt);
-
- return rs;
- }
-
- private boolean isCastable(AnyAtomicType aat) {
- if (aat instanceof XSString || aat instanceof XSUntypedAtomic) {
- return true;
- }
-
- if (aat instanceof XSTime) {
- return false;
- }
-
- if (aat instanceof XSDate || aat instanceof XSDateTime) {
- return true;
- }
-
- return false;
- }
-
- private CalendarType castDateTime(AnyAtomicType aat) {
- if (aat instanceof XSDate) {
- XSDate date = (XSDate) aat;
- return new XSDateTime(date.calendar(), date.tz());
- }
-
- if (aat instanceof XSDateTime) {
- XSDateTime dateTime = (XSDateTime) aat;
- return new XSDateTime(dateTime.calendar(), dateTime.tz());
- }
-
- return parseDateTime(aat.string_value());
- }
-
- /**
- * Retrieve the year from the date stored
- *
- * @return the year value of the date stored
- */
- public int year() {
- int y = _calendar.get(Calendar.YEAR);
- if (_calendar.get(Calendar.ERA) == GregorianCalendar.BC)
- y *= -1;
-
- return y;
- }
-
- /**
- * Retrieve the month from the date stored
- *
- * @return the month value of the date stored
- */
- public int month() {
- return _calendar.get(Calendar.MONTH) + 1;
- }
-
- /**
- * Retrieve the day from the date stored
- *
- * @return the day value of the date stored
- */
- public int day() {
- return _calendar.get(Calendar.DAY_OF_MONTH);
- }
-
- /**
- * Retrieve the hour from the date stored
- *
- * @return the hour value of the date stored
- */
- public int hour() {
- return _calendar.get(Calendar.HOUR_OF_DAY);
- }
-
- /**
- * Retrieve the minute from the date stored
- *
- * @return the minute value of the date stored
- */
- public int minute() {
- return _calendar.get(Calendar.MINUTE);
- }
-
- /**
- * Retrieve the seconds from the date stored
- *
- * @return the seconds value of the date stored
- */
- public double second() {
- double s = _calendar.get(Calendar.SECOND);
-
- double ms = _calendar.get(Calendar.MILLISECOND);
-
- ms /= 1000;
-
- s += ms;
- return s;
- }
-
- public boolean timezoned() {
- return _timezoned;
- }
-
- /**
- * Pads the supplied number to the supplied number of digits by adding 0's
- * in front of it
- *
- * @param num
- * Number that si to be padded (if neccessay)
- * @param len
- * Desired length after padding
- * @return String representation of the padded integer
- */
- public static String pad_int(int num, int len) {
- String ret = "";
- String snum = "" + num;
-
- int pad = len - snum.length();
-
- // sort out the negative
- if (num < 0) {
- ret += "-";
- snum = snum.substring(1, snum.length());
- pad++;
- }
-
- StringBuffer buf = new StringBuffer(ret);
- for (int i = 0; i < pad; i++) {
- buf.append("0");
- }
- buf.append(snum);
- ret = buf.toString();
- return ret;
- }
-
- /**
- * Retrieves a String representation of the date and time stored
- *
- * @return String representation of the date and time stored
- */
- public String string_value() {
- String ret = "";
-
- Calendar adjustFortimezone = calendar();
-
- if (adjustFortimezone.get(Calendar.ERA) == GregorianCalendar.BC) {
- ret += "-";
- }
-
- ret += pad_int(adjustFortimezone.get(Calendar.YEAR), 4);
-
- ret += "-";
- ret += pad_int(month(), 2);
-
- ret += "-";
- ret += pad_int(adjustFortimezone.get(Calendar.DAY_OF_MONTH), 2);
-
- // time
- ret += "T";
-
- ret += pad_int(adjustFortimezone.get(Calendar.HOUR_OF_DAY), 2);
-
- ret += ":";
- ret += pad_int(adjustFortimezone.get(Calendar.MINUTE), 2);
-
- ret += ":";
- int isecond = (int) second();
- double sec = second();
-
- if ((sec - (isecond)) == 0.0)
- ret += pad_int(isecond, 2);
- else {
- if (sec < 10.0)
- ret += "0" + sec;
- else
- ret += sec;
- }
-
- if (timezoned()) {
- int hrs = _tz.hours();
- int min = _tz.minutes();
- double secs = _tz.seconds();
- if (hrs == 0 && min == 0 && secs == 0) {
- ret += "Z";
- } else {
- String tZoneStr = "";
- if (_tz.negative()) {
- tZoneStr += "-";
- } else {
- tZoneStr += "+";
- }
- tZoneStr += pad_int(hrs, 2);
- tZoneStr += ":";
- tZoneStr += pad_int(min, 2);
-
- ret += tZoneStr;
- }
- }
-
- return ret;
- }
-
- /**
- * Retrive the datatype full pathname
- *
- * @return "xs:dateTime" which is the datatype full pathname
- */
- public String string_type() {
- return XS_DATE_TIME;
- }
-
- /**
- * Retrieves the Calendar representation of the date stored
- *
- * @return Calendar representation of the date stored
- */
- public Calendar calendar() {
- return _calendar;
- }
-
- // comparisons
- /**
- * Equality comparison on this and the supplied dates and times (taking
- * timezones into account)
- *
- * @param arg
- * XSDateTime representation of the date to compare to
- * @throws DynamicError
- * @return True if the two dates and times are represent the same exact
- * point in time. False otherwise.
- */
- public boolean eq(AnyType arg, DynamicContext context) throws DynamicError {
- XSDateTime val = (XSDateTime) NumericType.get_single_type(arg,
- XSDateTime.class);
- Calendar thiscal = normalizeCalendar(calendar(), tz());
- Calendar thatcal = normalizeCalendar(val.calendar(), val.tz());
-
- return thiscal.equals(thatcal);
- }
-
- /**
- * Comparison on this and the supplied dates and times (taking timezones
- * into account)
- *
- * @param arg
- * XSDateTime representation of the date to compare to
- * @throws DynamicError
- * @return True if in time, this date and time lies before the date and time
- * supplied. False otherwise.
- */
- public boolean lt(AnyType arg, DynamicContext context) throws DynamicError {
- XSDateTime val = (XSDateTime) NumericType.get_single_type(arg,
- XSDateTime.class);
- Calendar thiscal = normalizeCalendar(calendar(), tz());
- Calendar thatcal = normalizeCalendar(val.calendar(), val.tz());
-
- return thiscal.before(thatcal);
- }
-
- /**
- * Comparison on this and the supplied dates and times (taking timezones
- * into account)
- *
- * @param arg
- * XSDateTime representation of the date to compare to
- * @throws DynamicError
- * @return True if in time, this date and time lies after the date and time
- * supplied. False otherwise.
- */
- public boolean gt(AnyType arg, DynamicContext context) throws DynamicError {
- XSDateTime val = (XSDateTime) NumericType.get_single_type(arg,
- XSDateTime.class);
- Calendar thiscal = normalizeCalendar(calendar(), tz());
- Calendar thatcal = normalizeCalendar(val.calendar(), val.tz());
-
- return thiscal.after(thatcal);
- }
-
- /**
- * Retrieves the timezone associated with the date stored
- *
- * @return the timezone associated with the date stored
- */
- public XSDuration tz() {
- return _tz;
- }
-
- // XXX this is incorrect [epoch]
- /**
- * Currently unsupported method. Retrieves the date in milliseconds since
- * the begining of epoch
- *
- * @return Number of milliseconds since the begining of the epoch
- */
- public double value() {
- return calendar().getTimeInMillis() / 1000.0;
- }
-
- // math
- /**
- * Mathematical minus operator between this XSDateTime and a supplied result
- * sequence (XSDateTime, XDTYearMonthDuration and XDTDayTimeDuration are
- * only valid ones).
- *
- * @param arg
- * The supplied ResultSequence that is on the right of the minus
- * operator. If this is an XSDateTime, the result will be a
- * XDTDayTimeDuration of the duration of time between these two
- * dates. If arg is an XDTYearMonthDuration or an
- * XDTDayTimeDuration the result will be a XSDateTime of the
- * result of the current date minus the duration of time
- * supplied.
- * @return New ResultSequence consisting of the result of the mathematical
- * minus operation.
- */
- public ResultSequence minus(ResultSequence arg) throws DynamicError {
- if (arg.size() != 1)
- DynamicError.throw_type_error();
-
- AnyType at = arg.first();
-
- if (!(at instanceof XSDateTime) && !(at instanceof XSYearMonthDuration)
- && !(at instanceof XSDayTimeDuration)) {
- DynamicError.throw_type_error();
- }
-
- if (at instanceof XSDateTime) {
- return minusXSDateTime(arg);
- }
-
- if (at instanceof XSYearMonthDuration) {
- return minusXSYearMonthDuration(at);
- }
-
- if (at instanceof XSDayTimeDuration) {
- return minusXSDayTimeDuration(at);
- }
- return null; // unreach
-
- }
-
- private ResultSequence minusXSDateTime(ResultSequence arg)
- throws DynamicError {
- XSDateTime val = (XSDateTime) NumericType.get_single_type(arg,
- XSDateTime.class);
-
- Duration dtduration = null;
- try {
- Calendar thisCal = normalizeCalendar(calendar(), tz());
- Calendar thatCal = normalizeCalendar(val.calendar(), val.tz());
- long duration = thisCal.getTimeInMillis()
- - thatCal.getTimeInMillis();
- dtduration = DatatypeFactory.newInstance()
- .newDuration(duration);
- return ResultSequenceFactory.create_new(XSDayTimeDuration
- .parseDTDuration(dtduration.toString()));
- } catch (DatatypeConfigurationException ex) {
-
- }
- return null;
- }
-
- private ResultSequence minusXSDayTimeDuration(AnyType at) {
- XSDuration val = (XSDuration) at;
-
- try {
- XSDateTime res = (XSDateTime) clone();
-
- try {
- XMLGregorianCalendar xmlCal = DatatypeFactory
- .newInstance()
- .newXMLGregorianCalendar((GregorianCalendar) calendar());
- Duration dtduration = DatatypeFactory.newInstance()
- .newDuration(val.string_value());
- xmlCal.add(dtduration.negate());
- res = new XSDateTime(xmlCal.toGregorianCalendar(), res.tz());
- } catch (DatatypeConfigurationException ex) {
-
- }
-
- return ResultSequenceFactory.create_new(res);
- } catch (CloneNotSupportedException ex) {
-
- }
- return null;
- }
-
- private ResultSequence minusXSYearMonthDuration(AnyType at) {
- XSYearMonthDuration val = (XSYearMonthDuration) at;
-
- try {
- XSDateTime res = (XSDateTime) clone();
-
- res.calendar().add(Calendar.MONTH, val.monthValue() * -1);
- return ResultSequenceFactory.create_new(res);
- } catch (CloneNotSupportedException ex) {
-
- }
- return null;
- }
-
- /**
- * Mathematical addition operator between this XSDateTime and a supplied
- * result sequence (XDTYearMonthDuration and XDTDayTimeDuration are only
- * valid ones).
- *
- * @param arg
- * The supplied ResultSequence that is on the right of the minus
- * operator. If arg is an XDTYearMonthDuration or an
- * XDTDayTimeDuration the result will be a XSDateTime of the
- * result of the current date minus the duration of time
- * supplied.
- * @return New ResultSequence consisting of the result of the mathematical
- * minus operation.
- */
- public ResultSequence plus(ResultSequence arg) throws DynamicError {
- if (arg.size() != 1)
- DynamicError.throw_type_error();
-
- AnyType at = arg.first();
-
- try {
- if (at instanceof XSYearMonthDuration) {
- XSYearMonthDuration val = (XSYearMonthDuration) at;
-
- XSDateTime res = (XSDateTime) clone();
-
- res.calendar().add(Calendar.MONTH, val.monthValue());
- return ResultSequenceFactory.create_new(res);
- } else if (at instanceof XSDayTimeDuration) {
- XSDuration val = (XSDuration) at;
-
- XSDateTime res = (XSDateTime) clone();
-
- try {
- XMLGregorianCalendar xmlCal = DatatypeFactory.newInstance()
- .newXMLGregorianCalendar(
- (GregorianCalendar) calendar());
- Duration dtduration = DatatypeFactory.newInstance()
- .newDuration(val.string_value());
- xmlCal.add(dtduration);
- res = new XSDateTime(xmlCal.toGregorianCalendar(), res.tz());
- } catch (DatatypeConfigurationException ex) {
-
- }
-
- return ResultSequenceFactory.create_new(res);
- } else {
- DynamicError.throw_type_error();
- return null; // unreach
- }
- } catch (CloneNotSupportedException err) {
- assert false;
- return null;
- }
-
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSDayTimeDuration.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSDayTimeDuration.java
deleted file mode 100644
index ffe1c96..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSDayTimeDuration.java
+++ /dev/null
@@ -1,401 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 273760 - wrong namespace for functions and data types
- * Mukul Gandhi - bug 279377 - improvements to multiplication and division operations
- * on xs:dayTimeDuration.
- * David Carver - bug 282223 - implementation of xs:duration
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.CmpEq;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.CmpGt;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.CmpLt;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.MathDiv;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.MathMinus;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.MathPlus;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.MathTimes;
-
-import java.math.BigDecimal;
-import java.util.Calendar;
-
-import javax.xml.datatype.DatatypeConfigurationException;
-import javax.xml.datatype.DatatypeFactory;
-import javax.xml.datatype.Duration;
-
-/**
- * A representation of the DayTimeDuration datatype
- */
-public class XSDayTimeDuration extends XSDuration implements CmpEq, CmpLt,
- CmpGt,
-
- MathPlus, MathMinus, MathTimes, MathDiv,
-
- Cloneable {
-
-
- private static final String XS_DAY_TIME_DURATION = "xs:dayTimeDuration";
-
- /**
- * Initialises to the supplied parameters. If more than 24 hours is
- * supplied, the number of days is adjusted acordingly. The same occurs for
- * minutes and seconds
- *
- * @param days
- * Number of days in this duration of time
- * @param hours
- * Number of hours in this duration of time
- * @param minutes
- * Number of minutes in this duration of time
- * @param seconds
- * Number of seconds in this duration of time
- * @param negative
- * True if this duration of time represents a backwards passage
- * through time. False otherwise
- */
- public XSDayTimeDuration(int days, int hours, int minutes, double seconds,
- boolean negative) {
- super(0, 0, days, hours, minutes, seconds, negative);
- }
-
- /**
- * Initialises to the given number of seconds
- *
- * @param secs
- * Number of seconds in the duration of time
- */
- public XSDayTimeDuration(double secs) {
- super(0, 0, 0, 0, 0, Math.abs(secs), secs < 0);
- }
-
- /**
- * Initialises to a duration of no time (0days, 0hours, 0minutes, 0seconds)
- */
- public XSDayTimeDuration() {
- super(0, 0, 0, 0, 0, 0.0, false);
- }
-
- /**
- * Creates a copy of this representation of a time duration
- *
- * @return New XSDayTimeDuration representing the duration of time stored
- * @throws CloneNotSupportedException
- */
- public Object clone() throws CloneNotSupportedException {
- return new XSDayTimeDuration(days(), hours(), minutes(), seconds(),
- negative());
- }
-
- public ResultSequence constructor(ResultSequence arg) throws DynamicError {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg.empty())
- return rs;
-
- AnyAtomicType aat = (AnyAtomicType) arg.first();
- if (aat instanceof NumericType || aat instanceof CalendarType ||
- aat instanceof XSBoolean || aat instanceof XSBase64Binary ||
- aat instanceof XSHexBinary || aat instanceof XSAnyURI) {
- throw DynamicError.invalidType();
- }
-
- if (!isCastable(aat)) {
- throw DynamicError.cant_cast(null);
- }
-
- XSDuration dtd = castDayTimeDuration(aat);
-
- if (dtd == null)
- throw DynamicError.cant_cast(null);
-
- rs.add(dtd);
-
- return rs;
- }
-
- private XSDuration castDayTimeDuration(AnyAtomicType aat) {
- if (aat instanceof XSDuration) {
- XSDuration duration = (XSDuration) aat;
- return new XSDayTimeDuration(duration.days(), duration.hours(), duration.minutes(), duration.seconds(), duration.negative());
- }
-
- return parseDTDuration(aat.string_value());
- }
-
-
- /**
- * Creates a new XSDayTimeDuration by parsing the supplied String
- * represented duration of time
- *
- * @param str
- * String represented duration of time
- * @return New XSDayTimeDuration representing the duration of time supplied
- */
- public static XSDuration parseDTDuration(String str) {
- boolean negative = false;
- int days = 0;
- int hours = 0;
- int minutes = 0;
- double seconds = 0;
-
- // string following the P
- String pstr = null;
- String tstr = null;
-
- // get the negative and pstr
- if (str.startsWith("-P")) {
- negative = true;
- pstr = str.substring(2, str.length());
- } else if (str.startsWith("P")) {
- negative = false;
- pstr = str.substring(1, str.length());
- } else
- return null;
-
- try {
- // get the days
- int index = pstr.indexOf('D');
- boolean did_something = false;
-
- // no D... must have T
- if (index == -1) {
- if (pstr.startsWith("T")) {
- tstr = pstr.substring(1, pstr.length());
- } else
- return null;
- } else {
- String digit = pstr.substring(0, index);
- days = Integer.parseInt(digit);
- tstr = pstr.substring(index + 1, pstr.length());
-
- if (tstr.startsWith("T")) {
- tstr = tstr.substring(1, tstr.length());
- } else {
- if (tstr.length() > 0)
- return null;
- tstr = "";
- did_something = true;
- }
- }
-
- // do the T str
-
- // hour
- index = tstr.indexOf('H');
- if (index != -1) {
- String digit = tstr.substring(0, index);
- hours = Integer.parseInt(digit);
- tstr = tstr.substring(index + 1, tstr.length());
- did_something = true;
- }
- // minute
- index = tstr.indexOf('M');
- if (index != -1) {
- String digit = tstr.substring(0, index);
- minutes = Integer.parseInt(digit);
- tstr = tstr.substring(index + 1, tstr.length());
- did_something = true;
- }
- // seconds
- index = tstr.indexOf('S');
- if (index != -1) {
- String digit = tstr.substring(0, index);
- seconds = Double.parseDouble(digit);
- tstr = tstr.substring(index + 1, tstr.length());
- did_something = true;
- }
- if (did_something) {
- // make sure we parsed it all
- if (tstr.length() != 0)
- return null;
- } else {
- return null;
- }
-
- } catch (NumberFormatException err) {
- return null;
- }
-
- return new XSDayTimeDuration(days, hours, minutes, seconds, negative);
- }
-
- /**
- * Retrives the datatype's name
- *
- * @return "dayTimeDuration" which is the datatype's name
- */
- public String type_name() {
- return "dayTimeDuration";
- }
-
- /**
- * Retrieves the datatype's full pathname
- *
- * @return "xs:dayTimeDuration" which is the datatype's full pathname
- */
- public String string_type() {
- return XS_DAY_TIME_DURATION;
- }
-
- /**
- * Mathematical addition between this duration stored and the supplied
- * duration of time (of type XSDayTimeDuration)
- *
- * @param arg
- * The duration of time to add
- * @return New XSDayTimeDuration representing the resulting duration after
- * the addition
- * @throws DynamicError
- */
- public ResultSequence plus(ResultSequence arg) throws DynamicError {
- XSDuration val = (XSDuration) NumericType
- .get_single_type(arg, XSDayTimeDuration.class);
-
- double res = value() + val.value();
-
- return ResultSequenceFactory.create_new(new XSDayTimeDuration(res));
- }
-
- /**
- * Mathematical subtraction between this duration stored and the supplied
- * duration of time (of type XSDayTimeDuration)
- *
- * @param arg
- * The duration of time to subtract
- * @return New XSDayTimeDuration representing the resulting duration after
- * the subtraction
- * @throws DynamicError
- */
- public ResultSequence minus(ResultSequence arg) throws DynamicError {
- XSDuration val = (XSDuration) NumericType
- .get_single_type(arg, XSDayTimeDuration.class);
-
- double res = value() - val.value();
-
- return ResultSequenceFactory.create_new(new XSDayTimeDuration(res));
- }
-
- /**
- * Mathematical multiplication between this duration stored and the supplied
- * duration of time (of type XSDayTimeDuration)
- *
- * @param arg
- * The duration of time to multiply by
- * @return New XSDayTimeDuration representing the resulting duration after
- * the multiplication
- * @throws DynamicError
- */
- public ResultSequence times(ResultSequence arg) throws DynamicError {
- ResultSequence convertedRS = arg;
-
- if (arg.size() == 1) {
- AnyType argValue = arg.first();
- if (argValue instanceof XSDecimal) {
- convertedRS = ResultSequenceFactory.create_new(new XSDouble(argValue.string_value()));
- }
- }
-
- XSDouble val = (XSDouble) NumericType.get_single_type(convertedRS,
- XSDouble.class);
- if (val.nan()) {
- throw DynamicError.nan();
- }
-
- double res = value() * val.double_value();
-
- return ResultSequenceFactory.create_new(new XSDayTimeDuration(res));
- }
-
- /**
- * Mathematical division between this duration stored and the supplied
- * duration of time (of type XSDayTimeDuration)
- *
- * @param arg
- * The duration of time to divide by
- * @return New XSDayTimeDuration representing the resulting duration after
- * the division
- * @throws DynamicError
- */
- public ResultSequence div(ResultSequence arg) throws DynamicError {
- if (arg.size() != 1)
- DynamicError.throw_type_error();
-
- AnyType at = arg.first();
-
- if (at instanceof XSDouble) {
- XSDouble dt = (XSDouble) at;
- double retval = 0;
-
- if (dt.nan()) {
- throw DynamicError.nan();
- }
-
- if (!dt.zero()) {
- BigDecimal ret = new BigDecimal(0);
-
- if (dt.infinite()) {
- retval = value() / dt.double_value();
- } else {
- ret = new BigDecimal(value());
- ret = ret.divide(new BigDecimal(dt.double_value()), 18, BigDecimal.ROUND_HALF_EVEN);
- retval = ret.doubleValue();
- }
- } else {
- throw DynamicError.overflowUnderflow();
- }
-// ret = value() / dt.double_value();
-
-
- return ResultSequenceFactory
- .create_new(new XSDayTimeDuration(retval));
- } else if (at instanceof XSDecimal) {
- XSDecimal dt = (XSDecimal) at;
-
- BigDecimal ret = new BigDecimal(0);
-
- if (!dt.zero()) {
- ret = new BigDecimal(value());
- ret = ret.divide(dt.getValue(), 18, BigDecimal.ROUND_HALF_EVEN);
- } else {
- throw DynamicError.overflowUnderflow();
- }
-
- return ResultSequenceFactory.create_new(new XSDayTimeDuration(
- ret.intValue()));
- } else if (at instanceof XSDayTimeDuration) {
- XSDuration md = (XSDuration) at;
-
- BigDecimal res = null;
- try {
- Duration thisDuration = DatatypeFactory.newInstance().newDuration(string_value());
- Duration mdduration = DatatypeFactory.newInstance().newDuration(md.string_value());
- double thistime = thisDuration.getTimeInMillis(Calendar.getInstance());
- double thattime = mdduration.getTimeInMillis(Calendar.getInstance());
- res = new BigDecimal(thistime);
- BigDecimal l = new BigDecimal(thattime);
- res = res.divide(l, 18, BigDecimal.ROUND_HALF_EVEN);
- } catch (DatatypeConfigurationException ex) {
-
- }
-
-// double res = value() / md.value();
-
- return ResultSequenceFactory.create_new(new XSDecimal(res));
- } else {
- DynamicError.throw_type_error();
- return null; // unreach
- }
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSDecimal.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSDecimal.java
deleted file mode 100644
index 962aac6..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSDecimal.java
+++ /dev/null
@@ -1,506 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 274805 - improvements to xs:integer data type
- * David Carver (STAR) - bug 277774 - XSDecimal returning wrong values.
- * David Carver (STAR) - bug 262765 - various numeric formatting fixes and calculations
- * David Carver (STAR) - bug 282223 - Can't Cast Exponential values to Decimal values.
- * David Carver (STAR) - bug 262765 - fixed edge case where rounding was occuring when it shouldn't.
- * Jesper Steen Moller - bug 262765 - fix type tests
- * David Carver (STAR) - bug 262765 - fixed abs value tests.
- * Jesper Steen Moller - bug 281028 - fixed division of zero (no, not by)
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.util.Iterator;
-
-/**
- * A representation of the Decimal datatype
- */
-public class XSDecimal extends NumericType {
-
- private static final String XS_DECIMAL = "xs:decimal";
- private BigDecimal _value;
- private XPathDecimalFormat format = new XPathDecimalFormat("0.####################");
-
- /**
- * Initiates a representation of 0.0
- */
- public XSDecimal() {
- this(new BigDecimal(0));
- }
-
- /**
- * Initiates a representation of the supplied number
- *
- * @param x
- * Number to be stored
- */
- public XSDecimal(BigDecimal x) {
- _value = x;
- }
-
- public XSDecimal(String x) {
- //_value = new BigDecimal(x, MathContext.DECIMAL128);
- _value = new BigDecimal(x);
- }
-
- /**
- * Retrieves the datatype's full pathname
- *
- * @return "xs:decimal" which is the datatype's full pathname
- */
- public String string_type() {
- return XS_DECIMAL;
- }
-
- /**
- * Retrieves the datatype's name
- *
- * @return "decimal" which is the datatype's name
- */
- public String type_name() {
- return "decimal";
- }
-
- /**
- * Retrieves a String representation of the Decimal value stored
- *
- * @return String representation of the Decimal value stored
- */
- public String string_value() {
-
- if (zero()) {
- return "0";
- }
-
- // strip trailing zeros
- _value = new BigDecimal((_value.toString()).replaceFirst("0*", ""));
-
- return format.xpathFormat(_value);
- }
-
- /**
- * Check if this XSDecimal represents 0
- *
- * @return True if this XSDecimal represents 0. False otherwise
- */
- public boolean zero() {
- return (_value.compareTo(new BigDecimal(0.0)) == 0);
- }
-
- /**
- * Creates a new result sequence consisting of the retrievable decimal
- * number in the supplied result sequence
- *
- * @param arg
- * The result sequence from which to extract the decimal number.
- * @throws DynamicError
- * @return A new result sequence consisting of the decimal number supplied.
- */
- public ResultSequence constructor(ResultSequence arg) throws DynamicError {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg.empty())
- return rs;
-
- AnyType aat = arg.first();
-
- if (aat instanceof XSDuration || aat instanceof CalendarType ||
- aat instanceof XSBase64Binary || aat instanceof XSHexBinary ||
- aat instanceof XSAnyURI) {
- throw DynamicError.invalidType();
- }
-
- if (aat.string_value().indexOf("-INF") != -1) {
- throw DynamicError.cant_cast(null);
- }
-
- if (!isLexicalValue(aat.string_value())) {
- throw DynamicError.invalidLexicalValue();
- }
-
- if (!isCastable(aat)) {
- throw DynamicError.cant_cast(null);
- }
-
- try {
- // XPath doesn't allow for converting Exponents to Decimal values.
-
- XSDecimal decimal = castDecimal(aat);
-
- rs.add(decimal);
- return rs;
- } catch (NumberFormatException e) {
- throw DynamicError.cant_cast(null);
- }
-
- }
-
- protected boolean isLexicalValue(String value) {
- if (value.equalsIgnoreCase("inf")) {
- return false;
- }
-
- if (value.equalsIgnoreCase("-inf")) {
- return false;
- }
- return true;
- }
- private boolean isCastable(AnyType aat) throws DynamicError {
- if (aat instanceof XSBoolean || aat instanceof NumericType) {
- return true;
- }
-
- if ((aat.string_value().indexOf("E") != -1) ||
- (aat.string_value().indexOf("e") != -1)) {
- return false;
- }
-
- if (aat instanceof XSString || aat instanceof XSUntypedAtomic ||
- aat instanceof NodeType) {
- return true;
- }
- return false;
- }
-
- private XSDecimal castDecimal(AnyType aat) {
- if (aat instanceof XSBoolean) {
- if (aat.string_value().equals("true")) {
- return new XSDecimal(new BigDecimal("1"));
- } else {
- return new XSDecimal(new BigDecimal("0"));
- }
- }
- return new XSDecimal(aat.string_value());
- }
-
- /**
- * Retrieves the actual value of the number stored
- *
- * @return The actual value of the number stored
- * @deprecated Use getValue() instead.
- */
- public double double_value() {
- return _value.doubleValue();
- }
-
- public BigDecimal getValue() {
- return _value;
- }
-
- /**
- * Sets the number stored to that supplied
- *
- * @param x
- * Number to be stored
- */
- public void set_double(double x) {
- _value = new BigDecimal(x);
- }
-
- // comparisons
- /**
- * Equality comparison between this number and the supplied representation.
- * @param at
- * Representation to be compared with (must currently be of type
- * XSDecimal)
- *
- *
- * @return True if the 2 representation represent the same number. False
- * otherwise
- */
- public boolean eq(AnyType at, DynamicContext context) throws DynamicError {
- XSDecimal dt = null;
- if (!(at instanceof XSDecimal)) {
- ResultSequence rs = ResultSequenceFactory.create_new(at);
-
- ResultSequence crs = constructor(rs);
- if (crs.empty()) {
- throw DynamicError.throw_type_error();
- }
-
- AnyType cat = crs.first();
-
- dt = (XSDecimal) cat;
- } else {
- dt = (XSDecimal) at;
- }
- return (_value.compareTo(dt.getValue()) == 0);
- }
-
- /**
- * Comparison between this number and the supplied representation.
- *
- * @param arg
- * Representation to be compared with (must currently be of type
- * XSDecimal)
- * @return True if the supplied type represents a number smaller than this
- * one stored. False otherwise
- */
- public boolean gt(AnyType arg, DynamicContext context) throws DynamicError {
- AnyType carg = convertArg(arg);
-
- XSDecimal val = (XSDecimal) get_single_type(carg, XSDecimal.class);
- return (_value.compareTo(val.getValue()) == 1);
- }
-
- protected AnyType convertArg(AnyType arg) throws DynamicError {
- ResultSequence rs = ResultSequenceFactory.create_new(arg);
- rs = constructor(rs);
- AnyType carg = rs.first();
- return carg;
- }
-
- /**
- * Comparison between this number and the supplied representation.
- *
- * @param arg
- * Representation to be compared with (must currently be of type
- * XSDecimal)
- * @return True if the supplied type represents a number greater than this
- * one stored. False otherwise
- */
- public boolean lt(AnyType arg, DynamicContext context) throws DynamicError {
- AnyType carg = convertArg(arg);
- XSDecimal val = (XSDecimal) get_single_type(carg, XSDecimal.class);
- return (_value.compareTo(val.getValue()) == -1);
- }
-
- // math
- /**
- * Mathematical addition operator between this XSDecimal and the supplied
- * ResultSequence. Due to no numeric type promotion or conversion, the
- * ResultSequence must be of type XSDecimal.
- *
- * @param arg
- * The ResultSequence to perform an addition with
- * @return A XSDecimal consisting of the result of the mathematical
- * addition.
- */
- public ResultSequence plus(ResultSequence arg) throws DynamicError {
- // get arg
- ResultSequence carg = convertResultSequence(arg);
- AnyType at = get_single_arg(carg);
- if (!(at instanceof XSDecimal))
- DynamicError.throw_type_error();
- XSDecimal dt = (XSDecimal) at;
-
- // own it
- return ResultSequenceFactory.create_new(new XSDecimal(_value.add(dt.getValue())));
- }
-
- private ResultSequence convertResultSequence(ResultSequence arg)
- throws DynamicError {
- ResultSequence carg = arg;
- Iterator it = carg.iterator();
- while (it.hasNext()) {
- AnyType type = (AnyType) it.next();
- if (type.string_type().equals("xs:untypedAtomic") ||
- type.string_type().equals("xs:string")) {
- throw DynamicError.invalidType();
- }
- }
- carg = constructor(carg);
- return carg;
- }
-
- /**
- * Mathematical subtraction operator between this XSDecimal and the supplied
- * ResultSequence.
- *
- * @param arg
- * The ResultSequence to perform a subtraction with
- * @return A XSDecimal consisting of the result of the mathematical
- * subtraction.
- */
- public ResultSequence minus(ResultSequence arg) throws DynamicError {
-
- ResultSequence carg = convertResultSequence(arg);
-
- AnyType at = get_single_arg(carg);
- if (!(at instanceof XSDecimal))
- DynamicError.throw_type_error();
- XSDecimal dt = (XSDecimal) at;
-
- return ResultSequenceFactory.create_new(new XSDecimal(_value.subtract(dt.getValue())));
- }
-
- /**
- * Mathematical multiplication operator between this XSDecimal and the
- * supplied ResultSequence.
- *
- * @param arg
- * The ResultSequence to perform a multiplication with
- * @return A XSDecimal consisting of the result of the mathematical
- * multiplication.
- */
- public ResultSequence times(ResultSequence arg) throws DynamicError {
- ResultSequence carg = convertResultSequence(arg);
-
- XSDecimal val = (XSDecimal) get_single_type(carg, XSDecimal.class);
- BigDecimal result = _value.multiply(val.getValue());
- return ResultSequenceFactory.create_new(new XSDecimal(result));
- }
-
- /**
- * Mathematical division operator between this XSDecimal and the supplied
- * ResultSequence.
- *
- * @param arg
- * The ResultSequence to perform a division with
- * @return A XSDecimal consisting of the result of the mathematical
- * division.
- */
- public ResultSequence div(ResultSequence arg) throws DynamicError {
- ResultSequence carg = convertResultSequence(arg);
-
- XSDecimal val = (XSDecimal) get_single_type(carg, XSDecimal.class);
- if (val.zero()) {
- throw DynamicError.div_zero(null);
- }
- BigDecimal result = getValue().divide(val.getValue(), 18, BigDecimal.ROUND_HALF_EVEN);
- return ResultSequenceFactory.create_new(new XSDecimal(result));
- }
-
- /**
- * Mathematical integer division operator between this XSDecimal and the
- * supplied ResultSequence. Due to no numeric type promotion or conversion,
- * the ResultSequence must be of type XSDecimal.
- *
- * @param arg
- * The ResultSequence to perform an integer division with
- * @return A XSInteger consisting of the result of the mathematical integer
- * division.
- */
- public ResultSequence idiv(ResultSequence arg) throws DynamicError {
- ResultSequence carg = convertResultSequence(arg);
-
- XSDecimal val = (XSDecimal) get_single_type(carg, XSDecimal.class);
-
- if (val.zero())
- throw DynamicError.div_zero(null);
- BigInteger _ivalue = _value.toBigInteger();
- BigInteger ival = val.getValue().toBigInteger();
- BigInteger result = _ivalue.divide(ival);
- return ResultSequenceFactory.create_new(new
- XSInteger(result));
- }
-
- /**
- * Mathematical modulus operator between this XSDecimal and the supplied
- * ResultSequence. Due to no numeric type promotion or conversion, the
- * ResultSequence must be of type XSDecimal.
- *
- * @param arg
- * The ResultSequence to perform a modulus with
- * @return A XSDecimal consisting of the result of the mathematical modulus.
- */
- public ResultSequence mod(ResultSequence arg) throws DynamicError {
- ResultSequence carg = convertResultSequence(arg);
-
- XSDecimal val = (XSDecimal) get_single_type(carg, XSDecimal.class);
-
- // BigDecimal result = _value.remainder(val.getValue());
- BigDecimal result = remainder(_value, val.getValue());
-
- return ResultSequenceFactory.create_new(new XSDecimal(result));
- }
-
- public static BigDecimal remainder(BigDecimal value, BigDecimal divisor) {
- // return value.remainder(divisor);
-
- // appx as of now. JDK 1.4 doesn't support BigDecimal.remainder(..)
- BigDecimal dividend = value.divide(divisor, BigDecimal.ROUND_DOWN);
- BigDecimal ceilDividend = new BigDecimal(dividend.toBigInteger());
-
- return value.subtract(ceilDividend.multiply(divisor));
- }
-
- /**
- * Negation of the number stored
- *
- * @return A XSDecimal representing the negation of this XSDecimal
- */
- public ResultSequence unary_minus() {
- BigDecimal result = _value.negate();
- return ResultSequenceFactory.create_new(new XSDecimal(result));
- }
-
- // functions
- /**
- * Absolutes the number stored
- *
- * @return A XSDecimal representing the absolute value of the number stored
- */
- public NumericType abs() {
- return new XSDecimal(_value.abs());
- }
-
- /**
- * Returns the smallest integer greater than the number stored
- *
- * @return A XSDecimal representing the smallest integer greater than the
- * number stored
- */
- public NumericType ceiling() {
- BigDecimal ceiling = _value.setScale(0, BigDecimal.ROUND_CEILING);
- return new XSDecimal(ceiling);
- }
-
- /**
- * Returns the largest integer smaller than the number stored
- *
- * @return A XSDecimal representing the largest integer smaller than the
- * number stored
- */
- public NumericType floor() {
- BigDecimal floor = _value.setScale(0, BigDecimal.ROUND_FLOOR);
- return new XSDecimal(floor);
- }
-
- /**
- * Returns the closest integer of the number stored.
- *
- * @return A XSDecimal representing the closest long of the number stored.
- */
- public NumericType round() {
- BigDecimal round = _value.setScale(0, BigDecimal.ROUND_UP);
- return new XSDecimal(round);
- }
-
- /**
- * Returns the closest integer of the number stored.
- *
- * @return A XSDecimal representing the closest long of the number stored.
- */
- public NumericType round_half_to_even() {
- return round_half_to_even(0);
- }
-
- /**
- * Returns the closest integer of the number stored with the specified precision.
- *
- * @param precision An integer precision
- * @return A XSDecimal representing the closest long of the number stored.
- */
- public NumericType round_half_to_even(int precision) {
- BigDecimal round = _value.setScale(precision, BigDecimal.ROUND_HALF_EVEN);
- return new XSDecimal(round);
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSDouble.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSDouble.java
deleted file mode 100644
index 0dd21e4..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSDouble.java
+++ /dev/null
@@ -1,521 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 274805 - improvements to xs:integer data type
- * David Carver - bug 277770 - format of XSDouble for zero values incorrect.
- * Mukul Gandhi - bug 279406 - improvements to negative zero values for xs:double
- * David Carver (STAR) - bug 262765 - various numeric formatting fixes and calculations
- * David Carver (STAR) - bug 262765 - fixed rounding errors.
- * Jesper Steen Moller - Bug 286062 - Fix idiv error cases and increase precision
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-
-import java.math.BigDecimal;
-import java.util.Iterator;
-
-/**
- * A representation of the Double datatype
- */
-public class XSDouble extends NumericType {
-
- private static final String XS_DOUBLE = "xs:double";
- private Double _value;
- private XPathDecimalFormat format = new XPathDecimalFormat(
- "0.################E0");
-
- /**
- * Initialises a representation of the supplied number
- *
- * @param x
- * Number to be stored
- */
- public XSDouble(double x) {
- _value = new Double(x);
- }
-
- /**
- * Initializes a representation of 0
- */
- public XSDouble() {
- this(0);
- }
-
- /**
- * Initialises using a String represented number
- *
- * @param init
- * String representation of the number to be stored
- */
- public XSDouble(String init) throws DynamicError {
- try {
- if (init.equals("-INF")) {
- _value = new Double(Double.NEGATIVE_INFINITY);
- } else if (init.equals("INF")) {
- _value = new Double(Double.POSITIVE_INFINITY);
- } else {
- _value = new Double(init);
- }
- } catch (NumberFormatException e) {
- throw DynamicError.cant_cast(null);
- }
- }
-
- /**
- * Creates a new representation of the String represented number
- *
- * @param i
- * String representation of the number to be stored
- * @return New XSDouble representing the number supplied
- */
- public static XSDouble parse_double(String i) {
- try {
- Double d = null;
- if (i.equals("INF")) {
- d = new Double(Double.POSITIVE_INFINITY);
- } else if (i.equals("-INF")) {
- d = new Double(Double.NEGATIVE_INFINITY);
- } else {
- d = new Double(i);
- }
- return new XSDouble(d.doubleValue());
- } catch (NumberFormatException e) {
- return null;
- }
- }
-
- /**
- * Creates a new result sequence consisting of the retrievable double number
- * in the supplied result sequence
- *
- * @param arg
- * The result sequence from which to extract the double number.
- * @throws DynamicError
- * @return A new result sequence consisting of the double number supplied.
- */
- public ResultSequence constructor(ResultSequence arg) throws DynamicError {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg.empty())
- return rs;
-
- AnyType aat = arg.first();
-
- if (aat instanceof XSDuration || aat instanceof CalendarType ||
- aat instanceof XSBase64Binary || aat instanceof XSHexBinary ||
- aat instanceof XSAnyURI) {
- throw DynamicError.invalidType();
- }
-
- if (!isCastable(aat)) {
- throw DynamicError.cant_cast(null);
- }
-
- XSDouble d = castDouble(aat);
-
- if (d == null)
- throw DynamicError.cant_cast(null);
-
- rs.add(d);
- return rs;
- }
-
- private boolean isCastable(AnyType aat) {
- if (aat instanceof XSString || aat instanceof XSUntypedAtomic ||
- aat instanceof NodeType) {
- return true;
- }
- if (aat instanceof XSBoolean || aat instanceof NumericType) {
- return true;
- }
- return false;
- }
-
- private XSDouble castDouble(AnyType aat) {
- if (aat instanceof XSBoolean) {
- if (aat.string_value().equals("true")) {
- return new XSDouble(1.0E0);
- } else {
- return new XSDouble(0.0E0);
- }
- }
- return parse_double(aat.string_value());
-
- }
-
- /**
- * Retrieves the datatype's full pathname
- *
- * @return "xs:double" which is the datatype's full pathname
- */
- public String string_type() {
- return XS_DOUBLE;
- }
-
- /**
- * Retrieves the datatype's name
- *
- * @return "double" which is the datatype's name
- */
- public String type_name() {
- return "double";
- }
-
- /**
- * Retrieves a String representation of the Decimal value stored
- *
- * @return String representation of the Decimal value stored
- */
- public String string_value() {
- if (zero()) {
- return "0";
- }
-
- if (negativeZero()) {
- return "-0";
- }
-
- if (nan()) {
- return "NaN";
- }
-
- return format.xpathFormat(_value);
- }
-
- /**
- * Check for whether this XSDouble represents NaN
- *
- * @return True if this XSDouble represents NaN. False otherwise.
- */
- public boolean nan() {
- return Double.isNaN(_value.doubleValue());
- }
-
- /**
- * Check for whether this XSDouble represents an infinite number (negative or positive)
- *
- * @return True if this XSDouble represents infinity. False otherwise.
- */
- public boolean infinite() {
- return Double.isInfinite(_value.doubleValue());
- }
-
- /**
- * Check for whether this XSDouble represents 0
- *
- * @return True if this XSDouble represents 0. False otherwise.
- */
- public boolean zero() {
- return (Double.compare(_value.doubleValue(), 0.0E0) == 0);
- }
-
- /*
- * Check for whether this XSDouble represents -0
- *
- * @return True if this XSDouble represents -0. False otherwise.
- *
- * @since 1.1
- */
- public boolean negativeZero() {
- return (Double.compare(_value.doubleValue(), -0.0E0) == 0);
- }
-
- /**
- * Retrieves the actual value of the number stored
- *
- * @return The actual value of the number stored
- */
- public double double_value() {
- return _value.doubleValue();
- }
-
- /**
- * Equality comparison between this number and the supplied representation.
- * @param aa
- * Representation to be compared with (must currently be of type
- * XSDouble)
- *
- * @return True if the 2 representations represent the same number. False
- * otherwise
- * @since 1.1
- */
- public boolean eq(AnyType aa, DynamicContext context) throws DynamicError {
- ResultSequence rs = ResultSequenceFactory.create_new(aa);
- ResultSequence crs = constructor(rs);
-
- if (crs.empty()) {
- throw DynamicError.throw_type_error();
- }
- AnyType cat = crs.first();
-
- XSDouble d = (XSDouble) cat;
- if (d.nan() && nan()) {
- return false;
- }
-
- Double thatvalue = new Double(d.double_value());
- Double thisvalue = new Double(double_value());
-
- return thisvalue.equals(thatvalue);
- }
-
- /**
- * Comparison between this number and the supplied representation.
- *
- * @param arg
- * Representation to be compared with (must currently be of type
- * XSDouble)
- * @return True if the supplied type represents a number smaller than this
- * one stored. False otherwise
- */
- public boolean gt(AnyType arg, DynamicContext context) throws DynamicError {
- AnyType carg = convertArg(arg);
-
- XSDouble val = (XSDouble) get_single_type(carg, XSDouble.class);
- return double_value() > val.double_value();
- }
-
- protected AnyType convertArg(AnyType arg) throws DynamicError {
- ResultSequence rs = ResultSequenceFactory.create_new(arg);
- rs = constructor(rs);
- AnyType carg = rs.first();
- return carg;
- }
-
- /**
- * Comparison between this number and the supplied representation. Currently
- * no numeric type promotion exists so the supplied representation must be
- * of type XSDouble.
- *
- * @param arg
- * Representation to be compared with (must currently be of type
- * XSDouble)
- * @return True if the supplied type represents a number greater than this
- * one stored. False otherwise
- */
- public boolean lt(AnyType arg, DynamicContext context) throws DynamicError {
- AnyType carg = convertArg(arg);
-
- XSDouble val = (XSDouble) get_single_type(carg, XSDouble.class);
- return double_value() < val.double_value();
- }
-
- // math
- /**
- * Mathematical addition operator between this XSDouble and the supplied
- * ResultSequence.
- *
- * @param arg
- * The ResultSequence to perform an addition with
- * @return A XSDouble consisting of the result of the mathematical addition.
- */
- public ResultSequence plus(ResultSequence arg) throws DynamicError {
- ResultSequence carg = convertResultSequence(arg);
- AnyType at = get_single_arg(carg);
-
- if (!(at instanceof XSDouble))
- DynamicError.throw_type_error();
- XSDouble val = (XSDouble) at;
-
- return ResultSequenceFactory.create_new(new XSDouble(double_value()
- + val.double_value()));
- }
-
- private ResultSequence convertResultSequence(ResultSequence arg)
- throws DynamicError {
- ResultSequence carg = arg;
- Iterator it = carg.iterator();
- while (it.hasNext()) {
- AnyType type = (AnyType) it.next();
- if (type.string_type().equals("xs:untypedAtomic") ||
- type.string_type().equals("xs:string")) {
- throw DynamicError.throw_type_error();
- }
- }
-
- carg = constructor(carg);
- return carg;
- }
-
- /**
- * Mathematical subtraction operator between this XSDouble and the supplied
- * ResultSequence.
- *
- * @param arg
- * The ResultSequence to perform an subtraction with
- * @return A XSDouble consisting of the result of the mathematical
- * subtraction.
- */
- public ResultSequence minus(ResultSequence arg) throws DynamicError {
- ResultSequence carg = convertResultSequence(arg);
-
- XSDouble val = (XSDouble) get_single_type(carg, XSDouble.class);
-
- return ResultSequenceFactory.create_new(new XSDouble(double_value()
- - val.double_value()));
- }
-
- /**
- * Mathematical multiplication operator between this XSDouble and the
- * supplied ResultSequence. Due to no numeric type promotion or conversion,
- * the ResultSequence must be of type XSDouble.
- *
- * @param arg
- * The ResultSequence to perform an multiplication with
- * @return A XSDouble consisting of the result of the mathematical
- * multiplication.
- */
- public ResultSequence times(ResultSequence arg) throws DynamicError {
- ResultSequence carg = convertResultSequence(arg);
-
- XSDouble val = (XSDouble) get_single_type(carg, XSDouble.class);
- return ResultSequenceFactory.create_new(new XSDouble(double_value()
- * val.double_value()));
- }
-
- /**
- * Mathematical division operator between this XSDouble and the supplied
- * ResultSequence.
- *
- * @param arg
- * The ResultSequence to perform an division with
- * @return A XSDouble consisting of the result of the mathematical division.
- */
- public ResultSequence div(ResultSequence arg) throws DynamicError {
- ResultSequence carg = convertResultSequence(arg);
-
- XSDouble val = (XSDouble) get_single_type(carg, XSDouble.class);
- return ResultSequenceFactory.create_new(new XSDouble(double_value()
- / val.double_value()));
- }
-
- /**
- * Mathematical integer division operator between this XSDouble and the
- * supplied ResultSequence.
- *
- * @param arg
- * The ResultSequence to perform an integer division with
- * @return A XSInteger consisting of the result of the mathematical integer
- * division.
- */
- public ResultSequence idiv(ResultSequence arg) throws DynamicError {
- ResultSequence carg = convertResultSequence(arg);
-
- XSDouble val = (XSDouble) get_single_type(carg, XSDouble.class);
-
- if (this.nan() || val.nan())
- throw DynamicError.numeric_overflow("Dividend or divisor is NaN");
-
- if (this.infinite())
- throw DynamicError.numeric_overflow("Dividend is infinite");
-
- if (val.zero())
- throw DynamicError.div_zero(null);
-
- BigDecimal result = new BigDecimal((double_value() / val.double_value()));
- return ResultSequenceFactory.create_new(new XSInteger(result.toBigInteger()));
- }
-
- /**
- * Mathematical modulus operator between this XSDouble and the supplied
- * ResultSequence.
- *
- * @param arg
- * The ResultSequence to perform a modulus with
- * @return A XSDouble consisting of the result of the mathematical modulus.
- */
- public ResultSequence mod(ResultSequence arg) throws DynamicError {
- ResultSequence carg = convertResultSequence(arg);
-
- XSDouble val = (XSDouble) get_single_type(carg, XSDouble.class);
- return ResultSequenceFactory.create_new(new XSDouble(double_value()
- % val.double_value()));
- }
-
- /**
- * Negation of the number stored
- *
- * @return A XSDouble representing the negation of this XSDecimal
- */
- public ResultSequence unary_minus() {
- return ResultSequenceFactory.create_new(new XSDouble(-1
- * double_value()));
- }
-
- // functions
- /**
- * Absolutes the number stored
- *
- * @return A XSDouble representing the absolute value of the number stored
- */
- public NumericType abs() {
- return new XSDouble(Math.abs(double_value()));
- }
-
- /**
- * Returns the smallest integer greater than the number stored
- *
- * @return A XSDouble representing the smallest integer greater than the
- * number stored
- */
- public NumericType ceiling() {
- return new XSDouble(Math.ceil(double_value()));
- }
-
- /**
- * Returns the largest integer smaller than the number stored
- *
- * @return A XSDouble representing the largest integer smaller than the
- * number stored
- */
- public NumericType floor() {
- return new XSDouble(Math.floor(double_value()));
- }
-
- /**
- * Returns the closest integer of the number stored.
- *
- * @return A XSDouble representing the closest long of the number stored.
- */
- public NumericType round() {
- BigDecimal value = new BigDecimal(_value.doubleValue());
- BigDecimal round = value.setScale(0, BigDecimal.ROUND_HALF_UP);
- return new XSDouble(round.doubleValue());
- }
-
- /**
- * Returns the closest integer of the number stored.
- *
- * @return A XSDouble representing the closest long of the number stored.
- */
- public NumericType round_half_to_even() {
-
- return round_half_to_even(0);
- }
-
- /**
- * Returns the closest integer of the number stored with the specified
- * precision.
- *
- * @param precision
- * An integer precision
- * @return A XSDouble representing the closest long of the number stored.
- */
- public NumericType round_half_to_even(int precision) {
- BigDecimal value = new BigDecimal(_value.doubleValue());
- BigDecimal round = value.setScale(precision, BigDecimal.ROUND_HALF_EVEN);
- return new XSDouble(round.doubleValue());
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSDuration.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSDuration.java
deleted file mode 100644
index 1a09c0e..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSDuration.java
+++ /dev/null
@@ -1,511 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * David Carver (STAR) - bug 282223 - Implemented XSDuration type for castable checking.
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.CmpEq;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.CmpGt;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.CmpLt;
-
-/**
- * A representation of the xs:duration data type. Other duration implementations
- * should inherit from this implementation.
- *
- * @since 1.1 This used to be an abstract class but was incorrectly implemented
- * as such.
- */
-public class XSDuration extends CtrType implements CmpEq, CmpLt, CmpGt, Cloneable {
-
- private static final String XS_DURATION = "xs:duration";
- protected int _year;
- protected int _month;
- protected int _days;
- protected int _hours;
- protected int _minutes;
- protected double _seconds;
- protected boolean _negative;
-
- /**
- * Initializes to the supplied parameters. If more than 24 hours is
- * supplied, the number of days is adjusted accordingly. The same occurs for
- * minutes and seconds
- *
- * @param years
- * Number of years in this duration of time.
- * @param months
- * Number of months in this duration of time.
- * @param days
- * Number of days in this duration of time
- * @param hours
- * Number of hours in this duration of time
- * @param minutes
- * Number of minutes in this duration of time
- * @param seconds
- * Number of seconds in this duration of time
- * @param negative
- * True if this duration of time represents a backwards passage
- * through time. False otherwise
- */
- public XSDuration(int years, int months, int days, int hours, int minutes,
- double seconds, boolean negative) {
- _year = years;
- _month = months;
- _days = days;
- _hours = hours;
- _minutes = minutes;
- _seconds = seconds;
- _negative = negative;
-
- if (_month >= 12) {
- _year += _month / 12;
- _month = _month % 12;
- }
-
- if (_seconds >= 60) {
- int isec = (int) _seconds;
- double rem = _seconds - (isec);
-
- _minutes += isec / 60;
- _seconds = isec % 60;
- _seconds += rem;
- }
- if (_minutes >= 60) {
- _hours += _minutes / 60;
- _minutes = _minutes % 60;
- }
- if (_hours >= 24) {
- _days += _hours / 24;
- _hours = _hours % 24;
- }
-
- }
-
- /**
- * Initialises to the given number of seconds
- *
- * @param secs
- * Number of seconds in the duration of time
- */
- public XSDuration(double secs) {
- this(0, 0, 0, 0, 0, Math.abs(secs), secs < 0);
- }
-
- /**
- * Initialises to a duration of no time (0days, 0hours, 0minutes, 0seconds)
- */
- public XSDuration() {
- this(0, 0, 0, 0, 0, 0.0, false);
- }
-
- public String type_name() {
- return "duration";
- }
-
- public String string_type() {
- return XS_DURATION;
- }
-
- /**
- * Retrieves a String representation of the duration stored
- *
- * @return String representation of the duration stored
- */
- public String string_value() {
- String ret = "";
- boolean did_something = false;
- String tret = "";
-
- if (negative() && !(days() == 0 && hours() == 0 && seconds() == 0))
- ret += "-";
-
- ret += "P";
-
- int years = year();
- if (years != 0)
- ret += years + "Y";
-
- int months = month();
- if (months != 0) {
- ret += months + "M";
- }
-
- if (days() != 0) {
- ret += days() + "D";
- did_something = true;
- }
-
- // do the "time" bit
- int hours = hours();
- int minutes = minutes();
- double seconds = seconds();
-
- if (hours != 0) {
- tret += hours + "H";
- did_something = true;
- }
- if (minutes != 0) {
- tret += minutes + "M";
- did_something = true;
- }
- if (seconds != 0) {
- String doubStr = (new Double(seconds).toString());
- if (doubStr.endsWith(".0")) {
- // string value of x.0 seconds is xS. e.g, 7.0S is converted to
- // 7S.
- tret += doubStr.substring(0, doubStr.indexOf(".0")) + "S";
- } else {
- tret += seconds + "S";
- }
- did_something = true;
- } else if (!did_something) {
- tret += "0S";
- }
-
- if ((year() == 0 && month() == 0) || (hours > 0 || minutes > 0 || seconds > 0)) {
- if (tret.length() > 0) {
- ret += "T" + tret;
- }
- }
-
- return ret;
- }
-
- /**
- * Retrieves the number of days within the duration of time stored
- *
- * @return Number of days within the duration of time stored
- */
- public int days() {
- return _days;
- }
-
- /**
- * Retrieves the number of minutes (max 60) within the duration of time
- * stored
- *
- * @return Number of minutes within the duration of time stored
- */
- public int minutes() {
- return _minutes;
- }
-
- /**
- * Retrieves the number of hours (max 24) within the duration of time stored
- *
- * @return Number of hours within the duration of time stored
- */
- public int hours() {
- return _hours;
- }
-
- /**
- * Retrieves the number of seconds (max 60) within the duration of time
- * stored
- *
- * @return Number of seconds within the duration of time stored
- */
- public double seconds() {
- return _seconds;
- }
-
- /**
- * Equality comparison between this and the supplied duration of time.
- *
- * @param arg
- * The duration of time to compare with
- * @return True if they both represent the duration of time. False otherwise
- * @throws DynamicError
- */
- public boolean eq(AnyType arg, DynamicContext context) throws DynamicError {
- XSDuration val = (XSDuration) NumericType.get_single_type(arg,
- XSDuration.class);
-
- return value() == val.value();
- }
-
- /**
- * Comparison between this and the supplied duration of time.
- *
- * @param arg
- * The duration of time to compare with
- * @return True if the supplied time represents a larger duration than that
- * stored. False otherwise
- * @throws DynamicError
- */
- public boolean lt(AnyType arg, DynamicContext context) throws DynamicError {
- XSDuration val = (XSDuration) NumericType.get_single_type(arg,
- XSDayTimeDuration.class);
-
- return value() < val.value();
- }
-
- /**
- * Comparison between this and the supplied duration of time.
- *
- * @param arg
- * The duration of time to compare with
- * @return True if the supplied time represents a smaller duration than that
- * stored. False otherwise
- * @throws DynamicError
- */
- public boolean gt(AnyType arg, DynamicContext context) throws DynamicError {
- XSDuration val = (XSDuration) NumericType.get_single_type(arg,
- XSDayTimeDuration.class);
-
- return value() > val.value();
- }
-
- /**
- * Retrieves whether this duration represents a backward passage through
- * time
- *
- * @return True if this duration represents a backward passage through time.
- * False otherwise
- */
- public boolean negative() {
- return _negative;
- }
-
- /**
- * Retrieves the duration of time stored as the number of seconds within it
- *
- * @return Number of seconds making up this duration of time
- */
- public double value() {
- double ret = days() * 24 * 60 * 60;
-
- ret += hours() * 60 * 60;
- ret += minutes() * 60;
- ret += seconds();
-
- if (negative())
- ret *= -1;
-
-
-
- return ret;
- }
-
- public double time_value() {
- double ret = 0;
- ret += hours() * 60 * 60;
- ret += minutes() * 60;
- ret += seconds();
-
- if (negative())
- ret *= -1;
- return ret;
- }
-
- /**
- * Creates a new ResultSequence consisting of the extractable time duration
- * from the supplied ResultSequence
- *
- * @param arg
- * The ResultSequence from which to extract
- * @return New ResultSequence consisting of the time duration extracted
- * @throws DynamicError
- */
- public ResultSequence constructor(ResultSequence arg) throws DynamicError {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg.empty())
- return rs;
-
- AnyAtomicType aat = (AnyAtomicType) arg.first();
-
- if (aat instanceof NumericType || aat instanceof CalendarType ||
- aat instanceof XSBoolean || aat instanceof XSBase64Binary ||
- aat instanceof XSHexBinary || aat instanceof XSAnyURI) {
- throw DynamicError.invalidType();
- }
-
- if (!(isCastable(aat))) {
- throw DynamicError.cant_cast(null);
- }
-
- XSDuration duration = castDuration(aat);
-
- if (duration == null)
- throw DynamicError.cant_cast(null);
-
- rs.add(duration);
-
- return rs;
- }
-
- private XSDuration castDuration(AnyAtomicType aat) {
- if (aat instanceof XSDuration) {
- XSDuration duration = (XSDuration) aat;
- return new XSDuration(duration.year(), duration.month(), duration.days(), duration.hours(), duration.minutes(), duration.seconds(), duration.negative());
- }
-
- return parseDTDuration(aat.string_value());
- }
- /**
- * Creates a new XSDayTimeDuration by parsing the supplied String
- * represented duration of time
- *
- * @param str
- * String represented duration of time
- * @return New XSDayTimeDuration representing the duration of time supplied
- */
- public static XSDuration parseDTDuration(String str) {
- boolean negative = false;
- int years = 0;
- int months = 0;
- int days = 0;
- int hours = 0;
- int minutes = 0;
- double seconds = 0;
-
- // string following the P
- String pstr = "";
- String tstr = "";
-
- // get the negative and pstr
- if (str.startsWith("-P")) {
- negative = true;
- pstr = str.substring(2, str.length());
- } else if (str.startsWith("P")) {
- negative = false;
- pstr = str.substring(1, str.length());
- } else
- return null;
-
- try {
- int index = pstr.indexOf('Y');
- boolean did_something = false;
-
- if (index != -1) {
- String digit = pstr.substring(0, index);
- years = Integer.parseInt(digit);
- pstr = pstr.substring(index + 1, pstr.length());
- did_something = true;
- }
-
- index = pstr.indexOf('M');
- if (index != -1) {
- String digit = pstr.substring(0, index);
- months = Integer.parseInt(digit);
- pstr = pstr.substring(index + 1, pstr.length());
- did_something = true;
- }
-
- // get the days
- index = pstr.indexOf('D');
-
- if (index == -1) {
- if (pstr.startsWith("T")) {
- tstr = pstr.substring(1, pstr.length());
- }
- } else {
- String digit = pstr.substring(0, index);
- days = Integer.parseInt(digit);
- tstr = pstr.substring(index + 1, pstr.length());
-
- if (tstr.startsWith("T")) {
- tstr = tstr.substring(1, tstr.length());
- } else {
- tstr = "";
- did_something = true;
- }
- }
-
- // do the T str
-
- // hour
- index = tstr.indexOf('H');
- if (index != -1) {
- String digit = tstr.substring(0, index);
- hours = Integer.parseInt(digit);
- tstr = tstr.substring(index + 1, tstr.length());
- did_something = true;
- }
- // minute
- index = tstr.indexOf('M');
- if (index != -1) {
- String digit = tstr.substring(0, index);
- minutes = Integer.parseInt(digit);
- tstr = tstr.substring(index + 1, tstr.length());
- did_something = true;
- }
- // seconds
- index = tstr.indexOf('S');
- if (index != -1) {
- String digit = tstr.substring(0, index);
- seconds = Double.parseDouble(digit);
- tstr = tstr.substring(index + 1, tstr.length());
- did_something = true;
- }
- if (!did_something) {
- return null;
- }
-
- } catch (NumberFormatException err) {
- return null;
- }
-
- return new XSDuration(years, months, days, hours, minutes, seconds,
- negative);
- }
-
- public Object clone() throws CloneNotSupportedException {
- return new XSDuration(year(), month(), days(), hours(), minutes(),
- seconds(), negative());
- }
-
- /**
- * Retrieves the number of years within the duration of time stored
- *
- * @return Number of years within the duration of time stored
- */
- public int year() {
- return _year;
- }
-
- /**
- * Retrieves the number of months within the duration of time stored
- *
- * @return Number of months within the duration of time stored
- */
- public int month() {
- return _month;
- }
-
- protected boolean isCastable(AnyAtomicType aat) {
- String value = aat.string_value(); // get this once so we don't recreate everytime.
- String type = aat.string_type();
- if (type.equals("xs:string") || type.equals("xs:untypedAtomic")) {
- if (isDurationValue(value)) {
- return true; // We might be able to cast this.
- }
- }
-
- // We can cast from ourself or derivations of ourselves.
- if (aat instanceof XSDuration) {
- return true;
- }
-
- return false;
- }
-
- private boolean isDurationValue(String value) {
- return value.startsWith("P") || value.startsWith("-P");
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSEntity.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSEntity.java
deleted file mode 100644
index 8318dfe..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSEntity.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Standards for Technology in Automotive Retail and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * David Carver (STAR) bug 228223 - initial API and implementation
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-
-/**
- * Built in Data Type for xs:Entity
- *
- * @author dcarver
- * @since 1.1
- */
-public class XSEntity extends XSNCName {
-
- private static final String XS_ENTITY = "xs:ENTITY";
-
- public XSEntity() {
- super();
- }
-
- public XSEntity(String value) {
- super(value);
- }
-
- public String string_type() {
- return XS_ENTITY;
- }
-
- public String type_name() {
- return "ENTITY";
- }
-
- /**
- * Creates a new ResultSequence consisting of the ENTITY within
- * the supplied ResultSequence. The specification says that this
- * is relaxed from the XML Schema requirement. The ENTITY does
- * not have to be located or expanded during construction and
- * evaluation for casting.
- *
- * @param arg
- * The ResultSequence from which to extract the ENTITY
- * @return New ResultSequence consisting of the ENTITY supplied
- * @throws DynamicError
- */
- public ResultSequence constructor(ResultSequence arg) throws DynamicError {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg.empty())
- return rs;
-
- AnyAtomicType aat = (AnyAtomicType) arg.first();
-
-
- rs.add(new XSEntity(aat.string_value()));
-
- return rs;
-
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSFloat.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSFloat.java
deleted file mode 100644
index 38a81aa..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSFloat.java
+++ /dev/null
@@ -1,473 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 274805 - improvements to xs:integer data type
- * Mukul Gandhi - bug 279406 - improvements to negative zero values for xs:float
- * David Carver - bug 262765 - fixed rounding errors.
- * David Carver - bug 282223 - fixed casting errors.
- * Jesper Steen Moller - Bug 286062 - Fix idiv error cases and increase precision
- * Jesper Steen Moller - bug 281028 - Added constructor from string
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-
-import java.math.BigDecimal;
-import java.util.Iterator;
-
-/**
- * A representation of the Float datatype
- */
-public class XSFloat extends NumericType {
-
- private static final String XS_FLOAT = "xs:float";
- private Float _value;
- private XPathDecimalFormat format = new XPathDecimalFormat("0.#######E0");
- /**
- * Initiates a representation of the supplied number
- *
- * @param x
- * The number to be stored
- */
- public XSFloat(float x) {
- _value = new Float(x);
- }
-
- /**
- * Initiates a representation of 0
- */
- public XSFloat() {
- this(0);
- }
-
- /**
- * Initialises using a String represented number
- *
- * @param init
- * String representation of the number to be stored
- */
- public XSFloat(String init) throws DynamicError {
- try {
- if (init.equals("-INF")) {
- _value = new Float(Float.NEGATIVE_INFINITY);
- } else if (init.equals("INF")) {
- _value = new Float(Float.POSITIVE_INFINITY);
- } else {
- _value = new Float(init);
- }
- } catch (NumberFormatException e) {
- throw DynamicError.cant_cast(null);
- }
- }
- /**
- * Retrieves the datatype's full pathname
- *
- * @return "xs:float" which is the datatype's full pathname
- */
- public String string_type() {
- return XS_FLOAT;
- }
-
- /**
- * Retrieves the datatype's name
- *
- * @return "float" which is the datatype's name
- */
- public String type_name() {
- return "float";
- }
-
- /**
- * Retrieves a String representation of the stored number
- *
- * @return String representation of the stored number
- */
- public String string_value() {
- if (zero()) {
- return "0";
- }
- if (negativeZero()) {
- return "-0";
- }
-
- if (nan()) {
- return "NaN";
- }
-
- return format.xpathFormat(_value);
- }
-
- /**
- * Check for whether this datatype represents NaN
- *
- * @return True is this datatype represents NaN. False otherwise
- */
- public boolean nan() {
- return Float.isNaN(_value.floatValue());
- }
-
- /**
- * Check for whether this datatype represents negative or positive infinity
- *
- * @return True is this datatype represents infinity. False otherwise
- */
- public boolean infinite() {
- return Float.isInfinite(_value.floatValue());
- }
-
- /**
- * Check for whether this datatype represents 0
- *
- * @return True if this datatype represents 0. False otherwise
- */
- public boolean zero() {
- return (Float.compare(_value.floatValue(), 0) == 0);
- }
-
- /*
- * Check for whether this XSFloat represents -0
- *
- * @return True if this XSFloat represents -0. False otherwise.
- * @since 1.1
- */
- public boolean negativeZero() {
- return (Float.compare(_value.floatValue(), -0.0f) == 0);
- }
-
- /**
- * Creates a new ResultSequence consisting of the retrievable float in the
- * supplied ResultSequence
- *
- * @param arg
- * The ResultSequence from which to extract the float
- * @return New ResultSequence consisting of the float supplied
- * @throws DynamicError
- */
- public ResultSequence constructor(ResultSequence arg) throws DynamicError {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg.empty())
- return rs;
-
- AnyType aat = arg.first();
-
- if (aat instanceof XSDuration || aat instanceof CalendarType ||
- aat instanceof XSBase64Binary || aat instanceof XSHexBinary ||
- aat instanceof XSAnyURI) {
- throw DynamicError.invalidType();
- }
-
- if (!(aat.string_type().equals("xs:string") || aat instanceof NodeType ||
- aat.string_type().equals("xs:untypedAtomic") ||
- aat.string_type().equals("xs:boolean") ||
- aat instanceof NumericType)) {
- throw DynamicError.cant_cast(null);
- }
-
-
- try {
- Float f = null;
- if (aat.string_value().equals("INF")) {
- f = new Float(Float.POSITIVE_INFINITY);
- } else if (aat.string_value().equals("-INF")) {
- f = new Float(Float.NEGATIVE_INFINITY);
- } else if (aat instanceof XSBoolean) {
- if (aat.string_value().equals("true")) {
- f = new Float("1.0E0");
- } else {
- f = new Float("0.0E0");
- }
- } else {
- f = new Float(aat.string_value());
- }
- rs.add(new XSFloat(f.floatValue()));
- return rs;
- } catch (NumberFormatException e) {
- throw DynamicError.cant_cast(null);
- }
-
- }
-
- /**
- * Retrieves the actual float value stored
- *
- * @return The actual float value stored
- */
- public float float_value() {
- return _value.floatValue();
- }
-
- /**
- * Equality comparison between this number and the supplied representation.
- * @param aa
- * The datatype to compare with
- *
- * @return True if the two representations are of the same number. False
- * otherwise
- * @throws DynamicError
- */
- public boolean eq(AnyType aa, DynamicContext context) throws DynamicError {
- AnyType carg = convertArg(aa);
- if (!(carg instanceof XSFloat))
- DynamicError.throw_type_error();
-
- XSFloat f = (XSFloat) carg;
- if (nan() && f.nan()) {
- return false;
- }
-
- Float thatvalue = new Float(f.float_value());
- Float thisvalue = new Float(float_value());
-
- return thisvalue.equals(thatvalue);
- }
-
- /**
- * Comparison between this number and the supplied representation.
- *
- * @param arg
- * The datatype to compare with
- * @return True if the supplied representation is a smaller number than the
- * one stored. False otherwise
- * @throws DynamicError
- */
- public boolean gt(AnyType arg, DynamicContext context) throws DynamicError {
- AnyType carg = convertArg(arg);
- XSFloat val = (XSFloat) get_single_type(carg, XSFloat.class);
- return float_value() > val.float_value();
- }
-
- /**
- * Comparison between this number and the supplied representation.
- *
- * @param arg
- * The datatype to compare with
- * @return True if the supplied representation is a greater number than the
- * one stored. False otherwise
- * @throws DynamicError
- */
- public boolean lt(AnyType arg, DynamicContext context) throws DynamicError {
- AnyType carg = convertArg(arg);
- XSFloat val = (XSFloat) get_single_type(carg, XSFloat.class);
- return float_value() < val.float_value();
- }
-
- /**
- * Mathematical addition operator between this XSFloat and the supplied
- * ResultSequence.
- *
- * @param arg
- * The ResultSequence to perform an addition with
- * @return A XSFloat consisting of the result of the mathematical addition.
- */
- public ResultSequence plus(ResultSequence arg) throws DynamicError {
- ResultSequence carg = convertResultSequence(arg);
- AnyType at = get_single_arg(carg);
- if (!(at instanceof XSFloat))
- DynamicError.throw_type_error();
- XSFloat val = (XSFloat) at;
-
- return ResultSequenceFactory.create_new(new XSFloat(float_value()
- + val.float_value()));
- }
-
- /**
- * Mathematical subtraction operator between this XSFloat and the supplied
- * ResultSequence.
- *
- * @param arg
- * The ResultSequence to perform a subtraction with
- * @return A XSFloat consisting of the result of the mathematical
- * subtraction.
- */
- public ResultSequence minus(ResultSequence arg) throws DynamicError {
- ResultSequence carg = constructor(arg);
- AnyType at = get_single_arg(carg);
- if (!(at instanceof XSFloat))
- DynamicError.throw_type_error();
- XSFloat val = (XSFloat) at;
-
- return ResultSequenceFactory.create_new(new XSFloat(float_value()
- - val.float_value()));
- }
-
- /**
- * Mathematical multiplication operator between this XSFloat and the
- * supplied ResultSequence.
- *
- * @param arg
- * The ResultSequence to perform a multiplication with
- * @return A XSFloat consisting of the result of the mathematical
- * multiplication.
- */
- public ResultSequence times(ResultSequence arg) throws DynamicError {
- ResultSequence carg = constructor(arg);
- XSFloat val = (XSFloat) get_single_type(carg, XSFloat.class);
- return ResultSequenceFactory.create_new(new XSFloat(float_value()
- * val.float_value()));
- }
-
- /**
- * Mathematical division operator between this XSFloat and the supplied
- * ResultSequence.
- *
- * @param arg
- * The ResultSequence to perform a division with
- * @return A XSFloat consisting of the result of the mathematical division.
- */
- public ResultSequence div(ResultSequence arg) throws DynamicError {
- ResultSequence carg = convertResultSequence(arg);
- XSFloat val = (XSFloat) get_single_type(carg, XSFloat.class);
- return ResultSequenceFactory.create_new(new XSFloat(float_value()
- / val.float_value()));
- }
-
- /**
- * Mathematical integer division operator between this XSFloat and the
- * supplied ResultSequence.
- *
- * @param arg
- * The ResultSequence to perform an integer division with
- * @return A XSInteger consisting of the result of the mathematical integer
- * division.
- */
- public ResultSequence idiv(ResultSequence arg) throws DynamicError {
- ResultSequence carg = convertResultSequence(arg);
- XSFloat val = (XSFloat) get_single_type(carg, XSFloat.class);
-
- if (this.nan() || val.nan())
- throw DynamicError.numeric_overflow("Dividend or divisor is NaN");
-
- if (this.infinite())
- throw DynamicError.numeric_overflow("Dividend is infinite");
-
- if (val.zero())
- throw DynamicError.div_zero(null);
-
- BigDecimal result = BigDecimal.valueOf((new Float((float_value() /
- val.float_value()))).longValue());
- return ResultSequenceFactory.create_new(new XSInteger(result.toBigInteger()));
- }
-
- /**
- * Mathematical modulus operator between this XSFloat and the supplied
- * ResultSequence. Due to no numeric type promotion or conversion, the
- * ResultSequence must be of type XSFloat.
- *
- * @param arg
- * The ResultSequence to perform a modulus with
- * @return A XSFloat consisting of the result of the mathematical modulus.
- */
- public ResultSequence mod(ResultSequence arg) throws DynamicError {
- ResultSequence carg = convertResultSequence(arg);
- XSFloat val = (XSFloat) get_single_type(carg, XSFloat.class);
- return ResultSequenceFactory.create_new(new XSFloat(float_value()
- % val.float_value()));
- }
-
- /**
- * Negates the number stored
- *
- * @return A XSFloat representing the negation of the number stored
- */
- public ResultSequence unary_minus() {
- return ResultSequenceFactory
- .create_new(new XSFloat(-1 * float_value()));
- }
-
- /**
- * Absolutes the number stored
- *
- * @return A XSFloat representing the absolute value of the number stored
- */
- public NumericType abs() {
- return new XSFloat(Math.abs(float_value()));
- }
-
- /**
- * Returns the smallest integer greater than the number stored
- *
- * @return A XSFloat representing the smallest integer greater than the
- * number stored
- */
- public NumericType ceiling() {
- return new XSFloat((float) Math.ceil(float_value()));
- }
-
- /**
- * Returns the largest integer smaller than the number stored
- *
- * @return A XSFloat representing the largest integer smaller than the
- * number stored
- */
- public NumericType floor() {
- return new XSFloat((float) Math.floor(float_value()));
- }
-
- /**
- * Returns the closest integer of the number stored.
- *
- * @return A XSFloat representing the closest long of the number stored.
- */
- public NumericType round() {
- BigDecimal value = new BigDecimal(float_value());
- BigDecimal round = value.setScale(0, BigDecimal.ROUND_HALF_UP);
- return new XSFloat(round.floatValue());
- }
-
- /**
- * Returns the closest integer of the number stored.
- *
- * @return A XSFloat representing the closest long of the number stored.
- */
- public NumericType round_half_to_even() {
- return round_half_to_even(0);
- }
-
- /**
- * Returns the closest integer of the number stored with the specified precision.
- *
- * @param precision An integer precision
- * @return A XSFloat representing the closest long of the number stored.
- */
- public NumericType round_half_to_even(int precision) {
- BigDecimal value = new BigDecimal(_value.floatValue());
- BigDecimal round = value.setScale(precision, BigDecimal.ROUND_HALF_EVEN);
- return new XSFloat(round.floatValue());
- }
-
- protected AnyType convertArg(AnyType arg) throws DynamicError {
- ResultSequence rs = ResultSequenceFactory.create_new(arg);
- rs = constructor(rs);
- AnyType carg = rs.first();
- return carg;
- }
-
- private ResultSequence convertResultSequence(ResultSequence arg)
- throws DynamicError {
- ResultSequence carg = arg;
- Iterator it = carg.iterator();
- while (it.hasNext()) {
- AnyType type = (AnyType) it.next();
- if (type.string_type().equals("xs:untypedAtomic") ||
- type.string_type().equals("xs:string")) {
- throw DynamicError.throw_type_error();
- }
- }
-
- carg = constructor(carg);
- return carg;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSGDay.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSGDay.java
deleted file mode 100644
index eb78045..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSGDay.java
+++ /dev/null
@@ -1,322 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * David Carver (STAR) - bug 262765 - Correct parsing of Date to get day correctly.
- * David Carver (STAR) - bug 282223 - fixed issue with casting.
- * David Carver - bug 280547 - fix dates for comparison
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.CmpEq;
-
-import java.util.Calendar;
-import java.util.GregorianCalendar;
-import java.util.TimeZone;
-
-/**
- * A representation of the Day datatype
- */
-public class XSGDay extends CalendarType implements CmpEq {
-
- private static final String XS_G_DAY = "xs:gDay";
- private Calendar _calendar;
- private boolean _timezoned;
- private XSDuration _tz;
-
- /**
- * Initializes a representation of the supplied day
- *
- * @param cal
- * Calendar representation of the day to be stored
- * @param tz
- * Timezone associated with this day
- */
- public XSGDay(Calendar cal, XSDuration tz) {
- _calendar = cal;
- if (tz != null) {
- _timezoned = true;
- _tz = tz;
- }
- }
-
- /**
- * Initialises a representation of the current day
- */
- public XSGDay() {
- this(new GregorianCalendar(TimeZone.getTimeZone("GMT")), null);
- }
-
- /**
- * Retrieves the datatype's name
- *
- * @return "gDay" which is the datatype's name
- */
- public String type_name() {
- return "gDay";
- }
-
- /**
- * Parses a String representation of a day and constructs a new XSGDay
- * representation of it.
- *
- * @param str
- * The String representation of the day (and optional timezone)
- * @return The XSGDay representation of the supplied date
- */
- public static XSGDay parse_gDay(String str) {
-
- String startdate = "1972-12-";
- String starttime = "T00:00:00";
-
- int index = str.lastIndexOf('+', str.length());
-
- if (index == -1)
- index = str.lastIndexOf('-');
- if (index == -1)
- index = str.lastIndexOf('Z', str.length());
- if (index != -1) {
- int zIndex = str.lastIndexOf('Z', str.length());
- if (zIndex == -1) {
- if (index > 4)
- zIndex = index;
- }
- if (zIndex == -1) {
- zIndex = str.lastIndexOf('+');
- }
-
- String[] split = str.split("-");
- startdate += split[3].replaceAll("Z", "");
-
- if (str.indexOf('T') != -1) {
- if (split.length > 4) {
- String[] timesplit = split[4].split(":");
- if (timesplit.length < 3) {
- starttime = "T";
- StringBuffer buf = new StringBuffer(starttime);
- for (int cnt = 0; cnt < timesplit.length; cnt++) {
- buf.append(timesplit[cnt] + ":");
- }
- buf.append("00");
- starttime = buf.toString();
- } else {
- starttime += timesplit[0] + ":" + timesplit[1] + ":" + timesplit[2];
- }
- }
- }
- startdate = startdate.trim();
- startdate += starttime;
-
- if (zIndex != -1) {
-
- startdate += str.substring(zIndex);
- }
- } else {
- startdate += str + starttime;
- }
-
- XSDateTime dt = XSDateTime.parseDateTime(startdate);
- if (dt == null)
- return null;
-
- return new XSGDay(dt.calendar(), dt.tz());
- }
-
- /**
- * Creates a new ResultSequence consisting of the extractable gDay in the
- * supplied ResultSequence
- *
- * @param arg
- * The ResultSequence from which the gDay is to be extracted
- * @return New ResultSequence consisting of the supplied day
- * @throws DynamicError
- */
- public ResultSequence constructor(ResultSequence arg) throws DynamicError {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg.empty())
- return rs;
-
- AnyAtomicType aat = (AnyAtomicType) arg.first();
- if (aat instanceof NumericType || aat instanceof XSDuration ||
- aat instanceof XSTime || isGDataType(aat) ||
- aat instanceof XSBoolean || aat instanceof XSBase64Binary ||
- aat instanceof XSHexBinary || aat instanceof XSAnyURI) {
- throw DynamicError.invalidType();
- }
-
- if (!isCastable(aat)) {
- throw DynamicError.cant_cast(null);
- }
-
- XSGDay val = castGDay(aat);
-
- if (val == null)
- throw DynamicError.cant_cast(null);
-
- rs.add(val);
-
- return rs;
- }
-
- private boolean isCastable(AnyAtomicType aat) {
- if (aat instanceof XSString || aat instanceof XSUntypedAtomic) {
- return true;
- }
-
- if (aat instanceof XSTime) {
- return false;
- }
-
- if (aat instanceof XSDate || aat instanceof XSDateTime ||
- aat instanceof XSGDay) {
- return true;
- }
-
- return false;
- }
-
- protected boolean isGDataType(AnyAtomicType aat) {
- String type = aat.string_type();
- if (type.equals("xs:gMonthDay") ||
- type.equals("xs:gMonth") ||
- type.equals("xs:gYear") ||
- type.equals("xs:gYearMonth")) {
- return true;
- }
- return false;
- }
-
-
- private XSGDay castGDay(AnyAtomicType aat) {
- if (aat instanceof XSGDay) {
- XSGDay gday = (XSGDay) aat;
- return new XSGDay(gday.calendar(), gday.tz());
- }
-
- if (aat instanceof XSDate) {
- XSDate date = (XSDate) aat;
- return new XSGDay(date.calendar(), date.tz());
- }
-
- if (aat instanceof XSDateTime) {
- XSDateTime dateTime = (XSDateTime) aat;
- return new XSGDay(dateTime.calendar(), dateTime.tz());
- }
- return parse_gDay(aat.string_value());
- }
-
- /**
- * Retrieves the actual day as an integer
- *
- * @return The actual day as an integer
- */
- public int day() {
- return _calendar.get(Calendar.DAY_OF_MONTH);
- }
-
- /**
- * Check for whether a timezone was specified at creation
- *
- * @return True if a timezone was specified. False otherwise
- */
- public boolean timezoned() {
- return _timezoned;
- }
-
- /**
- * Retrieves a String representation of the stored day
- *
- * @return String representation of the stored day
- */
- public String string_value() {
- String ret = "---";
-
- Calendar adjustFortimezone = calendar();
-
- ret += XSDateTime.pad_int(adjustFortimezone.get(Calendar.DAY_OF_MONTH), 2);
-
- if (timezoned()) {
- int hrs = tz().hours();
- int min = tz().minutes();
- double secs = tz().seconds();
- if (hrs == 0 && min == 0 && secs == 0) {
- ret += "Z";
- }
- else {
- String tZoneStr = "";
- if (tz().negative()) {
- tZoneStr += "-";
- }
- else {
- tZoneStr += "+";
- }
- tZoneStr += XSDateTime.pad_int(hrs, 2);
- tZoneStr += ":";
- tZoneStr += XSDateTime.pad_int(min, 2);
-
- ret += tZoneStr;
- }
- }
-
- return ret;
- }
-
- /**
- * Retrieves the datatype's full pathname
- *
- * @return "xs:gDay" which is the datatype's full pathname
- */
- public String string_type() {
- return XS_G_DAY;
- }
-
- /**
- * Retrieves the Calendar representation of the day stored
- *
- * @return Calendar representation of the day stored
- */
- public Calendar calendar() {
- return _calendar;
- }
-
- /**
- * Equality comparison between this and the supplied representation. This
- * representation must be of type XSGDay
- *
- * @param arg
- * The XSGDay to compare with
- * @return True if the two representations are of the same day. False
- * otherwise
- * @throws DynamicError
- */
- public boolean eq(AnyType arg, DynamicContext context) throws DynamicError {
- XSGDay val = (XSGDay) NumericType.get_single_type(arg, XSGDay.class);
- Calendar thiscal = normalizeCalendar(calendar(), tz());
- Calendar thatcal = normalizeCalendar(val.calendar(), val.tz());
-
- return thiscal.equals(thatcal);
- }
-
- /**
- * Retrieves the timezone associated with the date stored
- *
- * @return the timezone associated with the date stored
- * @since 1.1
- */
- public XSDuration tz() {
- return _tz;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSGMonth.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSGMonth.java
deleted file mode 100644
index a62aefa..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSGMonth.java
+++ /dev/null
@@ -1,318 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * David Carver (STAR) - bug 262765 - Fixed parsing of gMonth values
- * David Carver - bug 280547 - fix dates for comparison
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.CmpEq;
-
-import java.util.Calendar;
-import java.util.GregorianCalendar;
-import java.util.TimeZone;
-
-/**
- * A representation of the gMonth datatype
- */
-public class XSGMonth extends CalendarType implements CmpEq {
-
- private static final String XS_G_MONTH = "xs:gMonth";
- private Calendar _calendar;
- private boolean _timezoned;
- private XSDuration _tz;
-
- /**
- * Initializes a representation of the supplied month
- *
- * @param cal
- * Calendar representation of the month to be stored
- * @param tz
- * Timezone associated with this month
- */
- public XSGMonth(Calendar cal, XSDuration tz) {
- _calendar = cal;
- if (tz != null) {
- _timezoned = true;
- _tz = tz;
- }
- }
-
- /**
- * Initialises a representation of the current month
- */
- public XSGMonth() {
- this(new GregorianCalendar(TimeZone.getTimeZone("GMT")), null);
- }
-
- /**
- * Retrieves the datatype's name
- *
- * @return "gMonth" which is the datatype's name
- */
- public String type_name() {
- return "gMonth";
- }
-
- /**
- * Parses a String representation of a month and constructs a new XSGMonth
- * representation of it.
- *
- * @param str
- * The String representation of the month (and optional timezone)
- * @return The XSGMonth representation of the supplied date
- */
- public static XSGMonth parse_gMonth(String str) {
-
- String startdate = "1972-";
- String starttime = "T00:00:00";
-
- int index = str.lastIndexOf('+', str.length());
-
- if (index == -1)
- index = str.lastIndexOf('-');
- if (index == -1)
- index = str.lastIndexOf('Z', str.length());
- if (index != -1) {
- int zIndex = str.lastIndexOf('Z', str.length());
- if (zIndex == -1) {
- if (index > 3) {
- zIndex = index;
- }
- }
-
- String[] split = str.split("-");
- startdate += split[2].replaceAll("Z", "") + "-01";
-
- if (str.indexOf('T') != -1) {
- if (split.length > 3) {
- String[] timesplit = split[3].split(":");
- if (timesplit.length < 3) {
- starttime = "T";
- StringBuffer buf = new StringBuffer(starttime);
- for (int cnt = 0; cnt < timesplit.length; cnt++) {
- buf.append(timesplit[cnt] + ":");
- }
- buf.append("00");
- starttime = buf.toString();
- } else {
- starttime += timesplit[0] + ":" + timesplit[1] + ":" + timesplit[2];
- }
- }
- }
- startdate = startdate.trim();
- startdate += starttime;
-
- if (zIndex != -1) {
- startdate += str.substring(zIndex);
- }
- } else {
- startdate += str + starttime;
- }
-
- XSDateTime dt = XSDateTime.parseDateTime(startdate);
- if (dt == null)
- return null;
-
- return new XSGMonth(dt.calendar(), dt.tz());
- }
-
- /**
- * Creates a new ResultSequence consisting of the extractable gMonth in the
- * supplied ResultSequence
- *
- * @param arg
- * The ResultSequence from which the gMonth is to be extracted
- * @return New ResultSequence consisting of the supplied month
- * @throws DynamicError
- */
- public ResultSequence constructor(ResultSequence arg) throws DynamicError {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg.empty())
- return rs;
-
- AnyAtomicType aat = (AnyAtomicType) arg.first();
- if (aat instanceof NumericType || aat instanceof XSDuration ||
- aat instanceof XSTime || isGDataType(aat) ||
- aat instanceof XSBoolean || aat instanceof XSBase64Binary ||
- aat instanceof XSHexBinary || aat instanceof XSAnyURI) {
- throw DynamicError.invalidType();
- }
-
- if (!isCastable(aat)) {
- throw DynamicError.cant_cast(null);
- }
-
- XSGMonth val = castGMonth(aat);
-
- if (val == null)
- throw DynamicError.cant_cast(null);
-
- rs.add(val);
-
- return rs;
- }
-
- protected boolean isGDataType(AnyAtomicType aat) {
- String type = aat.string_type();
- if (type.equals("xs:gMonthDay") ||
- type.equals("xs:gDay") ||
- type.equals("xs:gYear") ||
- type.equals("xs:gYearMonth")) {
- return true;
- }
- return false;
- }
-
- private boolean isCastable(AnyAtomicType aat) {
- if (aat instanceof XSString || aat instanceof XSUntypedAtomic) {
- return true;
- }
-
- if (aat instanceof XSTime) {
- return false;
- }
-
- if (aat instanceof XSDate || aat instanceof XSDateTime ||
- aat instanceof XSGMonth) {
- return true;
- }
-
- return false;
- }
-
- private XSGMonth castGMonth(AnyAtomicType aat) {
- if (aat instanceof XSGMonth) {
- XSGMonth gm = (XSGMonth) aat;
- return new XSGMonth(gm.calendar(), gm.tz());
- }
-
- if (aat instanceof XSDate) {
- XSDate date = (XSDate) aat;
- return new XSGMonth(date.calendar(), date.tz());
- }
-
- if (aat instanceof XSDateTime) {
- XSDateTime dateTime = (XSDateTime) aat;
- return new XSGMonth(dateTime.calendar(), dateTime.tz());
- }
-
- return parse_gMonth(aat.string_value());
- }
-
- /**
- * Retrieves the actual month as an integer
- *
- * @return The actual month as an integer
- */
- public int month() {
- return _calendar.get(Calendar.MONTH) + 1;
- }
-
- /**
- * Check for whether a timezone was specified at creation
- *
- * @return True if a timezone was specified. False otherwise
- */
- public boolean timezoned() {
- return _timezoned;
- }
-
- /**
- * Retrieves a String representation of the stored month
- *
- * @return String representation of the stored month
- */
- public String string_value() {
- String ret = "--";
-
- ret += XSDateTime.pad_int(month(), 2);
-
- if (timezoned()) {
-
- int hrs = tz().hours();
- int min = tz().minutes();
- double secs = tz().seconds();
- if (hrs == 0 && min == 0 && secs == 0) {
- ret += "Z";
- }
- else {
- String tZoneStr = "";
- if (tz().negative()) {
- tZoneStr += "-";
- }
- else {
- tZoneStr += "+";
- }
- tZoneStr += XSDateTime.pad_int(hrs, 2);
- tZoneStr += ":";
- tZoneStr += XSDateTime.pad_int(min, 2);
-
- ret += tZoneStr;
- }
- }
-
- return ret;
- }
-
- /**
- * Retrieves the datatype's full pathname
- *
- * @return "xs:gMonth" which is the datatype's full pathname
- */
- public String string_type() {
- return XS_G_MONTH;
- }
-
- /**
- * Retrieves the Calendar representation of the month stored
- *
- * @return Calendar representation of the month stored
- */
- public Calendar calendar() {
- return _calendar;
- }
-
- /**
- * Equality comparison between this and the supplied representation. This
- * representation must be of type XSGMonth
- *
- * @param arg
- * The XSGMonth to compare with
- * @return True if the two representations are of the same month. False
- * otherwise
- * @throws DynamicError
- */
- public boolean eq(AnyType arg, DynamicContext context) throws DynamicError {
- XSGMonth val = (XSGMonth) NumericType.get_single_type(arg,
- XSGMonth.class);
- Calendar thiscal = normalizeCalendar(calendar(), tz());
- Calendar thatcal = normalizeCalendar(val.calendar(), val.tz());
-
- return thiscal.equals(thatcal);
- }
-
- /**
- * Retrieves the timezone associated with the date stored
- *
- * @return the timezone associated with the date stored
- * @since 1.1
- */
- public XSDuration tz() {
- return _tz;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSGMonthDay.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSGMonthDay.java
deleted file mode 100644
index 2c0ed9c..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSGMonthDay.java
+++ /dev/null
@@ -1,336 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * David Carver (STAR) - bug 262765 - Fix parsing of gMonthDay to valid date
- * David Carver (STAR) - bug 282223 - fix timezone adjustment creation.
- * fixed casting issue.
- * David Carver - bug 280547 - fix dates for comparison
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.CmpEq;
-
-import java.util.Calendar;
-import java.util.GregorianCalendar;
-import java.util.TimeZone;
-
-/**
- * A representation of the MonthDay datatype
- */
-public class XSGMonthDay extends CalendarType implements CmpEq {
-
- private static final String XS_G_MONTH_DAY = "xs:gMonthDay";
- private Calendar _calendar;
- private boolean _timezoned;
- private XSDuration _tz;
-
-
- /**
- * Initialises a representation of the supplied month and day
- *
- * @param cal
- * Calendar representation of the month and day to be stored
- * @param tz
- * Timezone associated with this month and day
- */
- public XSGMonthDay(Calendar cal, XSDuration tz) {
- _calendar = cal;
- if (tz != null) {
- _timezoned = true;
- _tz = tz;
- }
- }
-
- /**
- * Initialises a representation of the current month and day
- */
- public XSGMonthDay() {
- this(new GregorianCalendar(TimeZone.getTimeZone("GMT")), null);
- }
-
- /**
- * Retrieves the datatype's name
- *
- * @return "gMonthDay" which is the datatype's name
- */
- public String type_name() {
- return "gMonthDay";
- }
-
- /**
- * Parses a String representation of a month and day and constructs a new
- * XSGMonthDay representation of it.
- *
- * @param str
- * The String representation of the month and day (and optional
- * timezone)
- * @return The XSGMonthDay representation of the supplied date
- */
- public static XSGMonthDay parse_gMonthDay(String str) {
-
- String startdate = "1972-";
- String starttime = "T00:00:00";
-
- int index = str.lastIndexOf('+', str.length());
-
- if (index == -1)
- index = str.lastIndexOf('-');
- if (index == -1)
- index = str.lastIndexOf('Z', str.length());
- if (index != -1) {
- int zIndex = str.lastIndexOf('Z', str.length());
- if (zIndex == -1) {
- if (index > 5)
- zIndex = index;
- }
- if (zIndex == -1) {
- zIndex = str.lastIndexOf('+');
- }
-
-
- String[] split = str.split("-");
- startdate += split[2].replaceAll("Z", "") + "-" + split[3].replaceAll("Z", "").substring(0, 2);
-
- if (split.length > 4) {
- String[] timesplit = split[4].split(":");
- if (timesplit.length < 3) {
- starttime = "T";
- StringBuffer buf = new StringBuffer(starttime);
- for (int cnt = 0; cnt < timesplit.length; cnt++) {
- buf.append(timesplit[cnt] + ":");
- }
- buf.append("00");
- starttime = buf.toString();
- } else {
- starttime += timesplit[0] + ":" + timesplit[1] + ":" + timesplit[2];
- }
- }
-
- startdate = startdate.trim();
- startdate += starttime;
-
-
- if (zIndex != -1) {
- startdate += str.substring(zIndex);
- }
- } else {
- startdate += starttime;
- }
-
- XSDateTime dt = XSDateTime.parseDateTime(startdate);
- if (dt == null)
- return null;
-
- return new XSGMonthDay(dt.calendar(), dt.tz());
- }
-
- /**
- * Creates a new ResultSequence consisting of the extractable gMonthDay in
- * the supplied ResultSequence
- *
- * @param arg
- * The ResultSequence from which the gMonthDay is to be extracted
- * @return New ResultSequence consisting of the supplied month and day
- * @throws DynamicError
- */
- public ResultSequence constructor(ResultSequence arg) throws DynamicError {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg.empty())
- return rs;
-
- AnyAtomicType aat = (AnyAtomicType) arg.first();
- if (aat instanceof NumericType || aat instanceof XSDuration ||
- aat instanceof XSTime || isGDataType(aat) ||
- aat instanceof XSBoolean || aat instanceof XSBase64Binary ||
- aat instanceof XSHexBinary || aat instanceof XSAnyURI) {
- throw DynamicError.invalidType();
- }
-
- if (!isCastable(aat)) {
- throw DynamicError.cant_cast(null);
- }
-
- XSGMonthDay val = castGMonthDay(aat);
-
- if (val == null)
- throw DynamicError.cant_cast(null);
-
- rs.add(val);
-
- return rs;
- }
-
- protected boolean isGDataType(AnyAtomicType aat) {
- String type = aat.string_type();
- if (type.equals("xs:gDay") ||
- type.equals("xs:gMonth") ||
- type.equals("xs:gYear") ||
- type.equals("xs:gYearMonth")) {
- return true;
- }
- return false;
- }
-
- private boolean isCastable(AnyAtomicType aat) {
- if (aat instanceof XSString || aat instanceof XSUntypedAtomic) {
- return true;
- }
-
- if (aat instanceof XSTime) {
- return false;
- }
-
- if (aat instanceof XSDate || aat instanceof XSDateTime ||
- aat instanceof XSGMonthDay) {
- return true;
- }
-
- return false;
- }
-
- private XSGMonthDay castGMonthDay(AnyAtomicType aat) {
- if (aat instanceof XSGMonthDay) {
- XSGMonthDay gmd = (XSGMonthDay) aat;
- return new XSGMonthDay(gmd.calendar(), gmd.tz());
- }
-
- if (aat instanceof XSDate) {
- XSDate date = (XSDate) aat;
- return new XSGMonthDay(date.calendar(), date.tz());
- }
-
- if (aat instanceof XSDateTime) {
- XSDateTime dateTime = (XSDateTime) aat;
- return new XSGMonthDay(dateTime.calendar(), dateTime.tz());
- }
-
- return parse_gMonthDay(aat.string_value());
- }
-
- /**
- * Retrieves the actual month as an integer
- *
- * @return The actual month as an integer
- */
- public int month() {
- return _calendar.get(Calendar.MONTH) + 1;
- }
-
- /**
- * Retrieves the actual day as an integer
- *
- * @return The actual day as an integer
- */
- public int day() {
- return _calendar.get(Calendar.DAY_OF_MONTH);
- }
-
- /**
- * Check for whether a timezone was specified at creation
- *
- * @return True if a timezone was specified. False otherwise
- */
- public boolean timezoned() {
- return _timezoned;
- }
-
- /**
- * Retrieves a String representation of the stored month and day
- *
- * @return String representation of the stored month and day
- */
- public String string_value() {
- String ret = "--";
-
- Calendar adjustFortimezone = calendar();
-
- ret += XSDateTime.pad_int(month(), 2);
-
- ret += "-";
- ret += XSDateTime.pad_int(adjustFortimezone.get(Calendar.DAY_OF_MONTH), 2);
-
- if (timezoned()) {
-
- int hrs = tz().hours();
- int min = tz().minutes();
- double secs = tz().seconds();
- if (hrs == 0 && min == 0 && secs == 0) {
- ret += "Z";
- }
- else {
- String tZoneStr = "";
- if (tz().negative()) {
- tZoneStr += "-";
- }
- else {
- tZoneStr += "+";
- }
- tZoneStr += XSDateTime.pad_int(hrs, 2);
- tZoneStr += ":";
- tZoneStr += XSDateTime.pad_int(min, 2);
-
- ret += tZoneStr;
- }
- }
-
- return ret;
- }
-
- /**
- * Retrieves the datatype's full pathname
- *
- * @return "xs:gMonthDay" which is the datatype's full pathname
- */
- public String string_type() {
- return XS_G_MONTH_DAY;
- }
-
- /**
- * Retrieves the Calendar representation of the month and day stored
- *
- * @return Calendar representation of the month and day stored
- */
- public Calendar calendar() {
- return _calendar;
- }
-
- /**
- * Equality comparison between this and the supplied representation. This
- * representation must be of type XSGMonthDay
- *
- * @param arg
- * The XSGMonthDay to compare with
- * @return True if the two representations are of the same month and day.
- * False otherwise
- * @throws DynamicError
- */
- public boolean eq(AnyType arg, DynamicContext context) throws DynamicError {
- XSGMonthDay val = (XSGMonthDay) NumericType.get_single_type(arg,
- XSGMonthDay.class);
-
- return calendar().equals(val.calendar());
- }
-
- /**
- * Retrieves the timezone associated with the date stored
- *
- * @return the timezone associated with the date stored
- */
- public XSDuration tz() {
- return _tz;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSGYear.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSGYear.java
deleted file mode 100644
index 4d5d229..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSGYear.java
+++ /dev/null
@@ -1,293 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * David Carver (STAR) - bug 282223 - fix casting issues.
- * David Carver - bug 280547 - fix dates for comparison
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.CmpEq;
-
-import java.util.Calendar;
-import java.util.GregorianCalendar;
-import java.util.TimeZone;
-
-/**
- * A representation of the gMonth datatype
- */
-public class XSGYear extends CalendarType implements CmpEq {
-
- private static final String XS_G_YEAR = "xs:gYear";
- private Calendar _calendar;
- private boolean _timezoned;
- private XSDuration _tz;
-
-
- /**
- * Initialises a representation of the supplied month
- *
- * @param cal
- * Calendar representation of the month to be stored
- * @param tz
- * Timezone associated with this month
- */
- public XSGYear(Calendar cal, XSDuration tz) {
- _calendar = cal;
- if (tz != null) {
- _timezoned = true;
- _tz = tz;
- }
-
- }
-
- /**
- * Initialises a representation of the current year
- */
- public XSGYear() {
- this(new GregorianCalendar(TimeZone.getTimeZone("GMT")), null);
- }
-
- /**
- * Retrieves the datatype's name
- *
- * @return "gYear" which is the datatype's name
- */
- public String type_name() {
- return "gYear";
- }
-
- /**
- * Parses a String representation of a year and constructs a new XSGYear
- * representation of it.
- *
- * @param str
- * The String representation of the year (and optional timezone)
- * @return The XSGYear representation of the supplied date
- */
- public static XSGYear parse_gYear(String str) {
-
-
- String year = "";
- String monthDaytime = "-01-01T00:00:00.0";
-
-
- int index = str.indexOf('+', 1);
- if (index == -1)
- index = str.indexOf('-', 1);
- if (index == -1)
- index = str.indexOf('Z', 1);
- if (index != -1) {
- year = str.substring(0, index);
- year += monthDaytime;
- year += str.substring(index, str.length());
- } else {
- year = str + monthDaytime;
- }
-
- XSDateTime dt = XSDateTime.parseDateTime(year);
- if (dt == null)
- return null;
-
- return new XSGYear(dt.calendar(), dt.tz());
- }
-
- /**
- * Creates a new ResultSequence consisting of the extractable gYear in the
- * supplied ResultSequence
- *
- * @param arg
- * The ResultSequence from which the gYear is to be extracted
- * @return New ResultSequence consisting of the supplied year
- * @throws DynamicError
- */
- public ResultSequence constructor(ResultSequence arg) throws DynamicError {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg.empty())
- return rs;
-
- AnyAtomicType aat = (AnyAtomicType) arg.first();
- if (aat instanceof NumericType || aat instanceof XSDuration ||
- aat instanceof XSTime || isGDataType(aat) ||
- aat instanceof XSBoolean || aat instanceof XSBase64Binary ||
- aat instanceof XSHexBinary || aat instanceof XSAnyURI) {
- throw DynamicError.invalidType();
- }
-
- if (!isCastable(aat)) {
- throw DynamicError.cant_cast(null);
- }
-
- XSGYear val = castGYear(aat);
-
- if (val == null)
- throw DynamicError.cant_cast(null);
-
- rs.add(val);
-
- return rs;
- }
-
- protected boolean isGDataType(AnyAtomicType aat) {
- String type = aat.string_type();
- if (type.equals("xs:gMonthDay") ||
- type.equals("xs:gDay") ||
- type.equals("xs:gMonth") ||
- type.equals("xs:gYearMonth")) {
- return true;
- }
- return false;
- }
-
- private boolean isCastable(AnyAtomicType aat) {
- if (aat instanceof XSString || aat instanceof XSUntypedAtomic) {
- return true;
- }
-
- if (aat instanceof XSTime) {
- return false;
- }
-
- if (aat instanceof XSDate || aat instanceof XSDateTime ||
- aat instanceof XSGYear) {
- return true;
- }
-
- return false;
- }
-
- private XSGYear castGYear(AnyAtomicType aat) {
- if (aat instanceof XSGYear) {
- XSGYear gy = (XSGYear) aat;
- return new XSGYear(gy.calendar(), gy.tz());
- }
-
- if (aat instanceof XSDate) {
- XSDate date = (XSDate) aat;
- return new XSGYear(date.calendar(), date.tz());
- }
-
- if (aat instanceof XSDateTime) {
- XSDateTime dateTime = (XSDateTime) aat;
- return new XSGYear(dateTime.calendar(), dateTime.tz());
- }
-
- return parse_gYear(aat.string_value());
- }
-
- /**
- * Retrieves the actual year as an integer
- *
- * @return The actual year as an integer
- */
- public int year() {
- int y = _calendar.get(Calendar.YEAR);
- if (_calendar.get(Calendar.ERA) == GregorianCalendar.BC)
- y *= -1;
-
- return y;
- }
-
- /**
- * Check for whether a timezone was specified at creation
- *
- * @return True if a timezone was specified. False otherwise
- */
- public boolean timezoned() {
- return _timezoned;
- }
-
- /**
- * Retrieves a String representation of the stored year
- *
- * @return String representation of the stored year
- */
- public String string_value() {
- String ret = "";
-
- ret += XSDateTime.pad_int(year(), 4);
-
- if (timezoned()) {
-
- int hrs = tz().hours();
- int min = tz().minutes();
- double secs = tz().seconds();
- if (hrs == 0 && min == 0 && secs == 0) {
- ret += "Z";
- }
- else {
- String tZoneStr = "";
- if (tz().negative()) {
- tZoneStr += "-";
- }
- else {
- tZoneStr += "+";
- }
- tZoneStr += XSDateTime.pad_int(hrs, 2);
- tZoneStr += ":";
- tZoneStr += XSDateTime.pad_int(min, 2);
-
- ret += tZoneStr;
- }
- }
-
- return ret;
- }
-
- /**
- * Retrieves the datatype's full pathname
- *
- * @return "xs:gYear" which is the datatype's full pathname
- */
- public String string_type() {
- return XS_G_YEAR;
- }
-
- /**
- * Retrieves the Calendar representation of the year stored
- *
- * @return Calendar representation of the year stored
- */
- public Calendar calendar() {
- return _calendar;
- }
-
- /**
- * Equality comparison between this and the supplied representation. This
- * representation must be of type XSGYear
- *
- * @param arg
- * The XSGYear to compare with
- * @return True if the two representations are of the same year. False
- * otherwise
- * @throws DynamicError
- */
- public boolean eq(AnyType arg, DynamicContext context) throws DynamicError {
- XSGYear val = (XSGYear) NumericType.get_single_type(arg, XSGYear.class);
- Calendar thiscal = normalizeCalendar(calendar(), tz());
- Calendar thatcal = normalizeCalendar(val.calendar(), val.tz());
-
- return thiscal.equals(thatcal);
- }
-
- /**
- * Retrieves the timezone associated with the date stored
- *
- * @return the timezone associated with the date stored
- */
- public XSDuration tz() {
- return _tz;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSGYearMonth.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSGYearMonth.java
deleted file mode 100644
index 911b87d..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSGYearMonth.java
+++ /dev/null
@@ -1,319 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * David Carver (STAR) - bug 282223 - fixed casting issues.
- * David Carver - bug 280547 - fix dates for comparison
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.CmpEq;
-
-import java.util.Calendar;
-import java.util.GregorianCalendar;
-import java.util.TimeZone;
-
-/**
- * A representation of the YearMonth datatype
- */
-public class XSGYearMonth extends CalendarType implements CmpEq {
-
- private static final String XS_G_YEAR_MONTH = "xs:gYearMonth";
- private Calendar _calendar;
- private boolean _timezoned;
- private XSDuration _tz;
-
-
- /**
- * Initialises a representation of the supplied year and month
- *
- * @param cal
- * Calendar representation of the year and month to be stored
- * @param tz
- * Timezone associated with this year and month
- */
- public XSGYearMonth(Calendar cal, XSDuration tz) {
- _calendar = cal;
- if (tz != null) {
- _timezoned = true;
- _tz = tz;
- }
- }
-
- /**
- * Initialises a representation of the current year and month
- */
- public XSGYearMonth() {
- this(new GregorianCalendar(TimeZone.getTimeZone("GMT")), null);
- }
-
- /**
- * Retrieves the datatype's name
- *
- * @return "gYearMonth" which is the datatype's name
- */
- public String type_name() {
- return "gYearMonth";
- }
-
- /**
- * Parses a String representation of a year and month and constructs a new
- * XSGYearMonth representation of it.
- *
- * @param str
- * The String representation of the year and month (and optional
- * timezone)
- * @return The XSGYearMonth representation of the supplied date
- */
- public static XSGYearMonth parse_gYearMonth(String str) {
-
- String yearMonth = "";
- String dayTime = "-01T00:00:00.0";
-
- int index = str.indexOf('+', 1);
- if (index == -1) {
- index = str.indexOf('-', 1);
- if (index == -1)
- return null;
- index = str.indexOf('-', index + 1);
- }
- if (index == -1)
- index = str.indexOf('Z', 1);
- if (index != -1) {
- yearMonth = str.substring(0, index);
- yearMonth += dayTime;
- yearMonth += str.substring(index, str.length());
- } else {
- yearMonth = str + dayTime;
- }
-
- XSDateTime dt = XSDateTime.parseDateTime(yearMonth);
- if (dt == null)
- return null;
-
- return new XSGYearMonth(dt.calendar(), dt.tz());
- }
-
- /**
- * Creates a new ResultSequence consisting of the extractable gYearMonth in
- * the supplied ResultSequence
- *
- * @param arg
- * The ResultSequence from which the gYearMonth is to be
- * extracted
- * @return New ResultSequence consisting of the supplied year and month
- * @throws DynamicError
- */
- public ResultSequence constructor(ResultSequence arg) throws DynamicError {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg.empty())
- return rs;
-
- AnyAtomicType aat = (AnyAtomicType) arg.first();
- if (aat instanceof NumericType || aat instanceof XSDuration ||
- aat instanceof XSTime || isGDataType(aat) ||
- aat instanceof XSBoolean || aat instanceof XSBase64Binary ||
- aat instanceof XSHexBinary || aat instanceof XSAnyURI) {
- throw DynamicError.invalidType();
- }
-
- if (!isCastable(aat)) {
- throw DynamicError.cant_cast(null);
- }
-
- XSGYearMonth val = castGYearMonth(aat);
-
- if (val == null)
- throw DynamicError.cant_cast(null);
-
- rs.add(val);
-
- return rs;
- }
-
- protected boolean isGDataType(AnyAtomicType aat) {
- String type = aat.string_type();
- if (type.equals("xs:gMonthDay") ||
- type.equals("xs:gDay") ||
- type.equals("xs:gMonth") ||
- type.equals("xs:gYear")) {
- return true;
- }
- return false;
- }
-
- private boolean isCastable(AnyAtomicType aat) {
-
- if (aat instanceof XSString || aat instanceof XSUntypedAtomic) {
- return true;
- }
-
- if (aat instanceof XSGYearMonth) {
- return true;
- }
-
- if (aat instanceof XSDate) {
- return true;
- }
-
- if (aat instanceof XSTime) {
- return false;
- }
-
- if (aat instanceof XSDateTime) {
- return true;
- }
-
- return false;
-
- }
-
- private XSGYearMonth castGYearMonth(AnyAtomicType aat) {
- if (aat instanceof XSGYearMonth) {
- XSGYearMonth gym = (XSGYearMonth) aat;
- return new XSGYearMonth(gym.calendar(), gym.tz());
- }
-
- if (aat instanceof XSDate) {
- XSDate date = (XSDate) aat;
- return new XSGYearMonth(date.calendar(), date.tz());
- }
-
- if (aat instanceof XSDateTime) {
- XSDateTime dateTime = (XSDateTime) aat;
- return new XSGYearMonth(dateTime.calendar(), dateTime.tz());
- }
-
- return parse_gYearMonth(aat.string_value());
- }
-
- /**
- * Retrieves the actual year as an integer
- *
- * @return The actual year as an integer
- */
- public int year() {
- int y = _calendar.get(Calendar.YEAR);
- if (_calendar.get(Calendar.ERA) == GregorianCalendar.BC)
- y *= -1;
-
- return y;
- }
-
- /**
- * Retrieves the actual month as an integer
- *
- * @return The actual month as an integer
- */
- public int month() {
- return _calendar.get(Calendar.MONTH) + 1;
- }
-
- /**
- * Check for whether a timezone was specified at creation
- *
- * @return True if a timezone was specified. False otherwise
- */
- public boolean timezoned() {
- return _timezoned;
- }
-
- /**
- * Retrieves a String representation of the stored year and month
- *
- * @return String representation of the stored year and month
- */
- public String string_value() {
- String ret = "";
-
- ret += XSDateTime.pad_int(year(), 4);
-
- ret += "-";
- ret += XSDateTime.pad_int(month(), 2);
-
- if (timezoned()) {
-
- int hrs = tz().hours();
- int min = tz().minutes();
- double secs = tz().seconds();
- if (hrs == 0 && min == 0 && secs == 0) {
- ret += "Z";
- }
- else {
- String tZoneStr = "";
- if (tz().negative()) {
- tZoneStr += "-";
- }
- else {
- tZoneStr += "+";
- }
- tZoneStr += XSDateTime.pad_int(hrs, 2);
- tZoneStr += ":";
- tZoneStr += XSDateTime.pad_int(min, 2);
-
- ret += tZoneStr;
- }
- }
-
- return ret;
- }
-
- /**
- * Retrieves the datatype's full pathname
- *
- * @return "xs:gYearMonth" which is the datatype's full pathname
- */
- public String string_type() {
- return XS_G_YEAR_MONTH;
- }
-
- /**
- * Retrieves the Calendar representation of the year and month stored
- *
- * @return Calendar representation of the year and month stored
- */
- public Calendar calendar() {
- return _calendar;
- }
-
- /**
- * Equality comparison between this and the supplied representation. This
- * representation must be of type XSGYearMonth
- *
- * @param arg
- * The XSGYearMonth to compare with
- * @return True if the two representations are of the same year and month.
- * False otherwise
- * @throws DynamicError
- */
- public boolean eq(AnyType arg, DynamicContext context) throws DynamicError {
- XSGYearMonth val = (XSGYearMonth) NumericType.get_single_type(arg,
- XSGYearMonth.class);
- Calendar thiscal = normalizeCalendar(calendar(), tz());
- Calendar thatcal = normalizeCalendar(val.calendar(), val.tz());
-
- return thiscal.equals(thatcal);
- }
-
- /**
- * Retrieves the timezone associated with the date stored
- *
- * @return the timezone associated with the date stored
- */
- public XSDuration tz() {
- return _tz;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSHexBinary.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSHexBinary.java
deleted file mode 100644
index 89b29a6..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSHexBinary.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Mukul Gandhi, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Mukul Gandhi - bug 281054 - initial API and implementation
- * David Carver (STAR) - bug 228223 - fixed casting issue. Needed to encode the value.
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.apache.xerces.impl.dv.util.Base64;
-import org.apache.xerces.impl.dv.util.HexBin;
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.CmpEq;
-
-/**
- * A representation of the xs:hexBinary datatype
- */
-public class XSHexBinary extends CtrType implements CmpEq {
-
- private static final String XS_HEX_BINARY = "xs:hexBinary";
- private String _value;
-
- /**
- * Initialises using the supplied String
- *
- * @param x
- * The String to initialise to
- */
- public XSHexBinary(String x) {
- _value = x;
- }
-
- /**
- * Initialises to null
- */
- public XSHexBinary() {
- this(null);
- }
-
- /**
- * Retrieves the datatype's full pathname
- *
- * @return "xs:hexBinary" which is the datatype's full pathname
- */
- public String string_type() {
- return XS_HEX_BINARY;
- }
-
- /**
- * Retrieves the datatype's name
- *
- * @return "hexBinary" which is the datatype's name
- */
- public String type_name() {
- return "hexBinary";
- }
-
- /**
- * Retrieves a String representation of the base64Binary stored. This method is
- * functionally identical to value()
- *
- * @return The hexBinary stored
- */
- public String string_value() {
- return _value.toUpperCase();
- }
-
- /**
- * Retrieves a String representation of the hexBinary stored. This method is
- * functionally identical to string_value()
- *
- * @return The hexBinary stored
- */
- public String value() {
- return _value;
- }
-
- /**
- * Creates a new ResultSequence consisting of the hexBinary value
- *
- * @param arg
- * The ResultSequence from which to construct hexBinary value
- * @return New ResultSequence representing hexBinary value
- * @throws DynamicError
- */
- public ResultSequence constructor(ResultSequence arg) throws DynamicError {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg.empty())
- return rs;
-
- AnyAtomicType aat = (AnyAtomicType) arg.first();
- if (aat instanceof NumericType || aat instanceof XSDuration ||
- aat instanceof CalendarType || aat instanceof XSBoolean ||
- aat instanceof XSAnyURI) {
- throw DynamicError.invalidType();
- }
-
- String str_value = aat.string_value();
-
- if (!(aat instanceof XSHexBinary ||
- aat instanceof XSString ||
- aat instanceof XSUntypedAtomic ||
- aat instanceof XSBase64Binary)) {
- throw DynamicError.cant_cast(null);
- }
-
- if (aat instanceof XSUntypedAtomic || aat instanceof XSString) {
- String[] nonHexValues = null;
- try {
- nonHexValues = str_value.split("[0-9a-fA-F]");
- } catch (Exception ex) {
- throw DynamicError.throw_type_error();
- }
-
- String[] binValues = null;
- try {
- binValues = str_value.split("[0-1]");
- } catch (Exception ex) {
- throw DynamicError.throw_type_error();
- }
-
- if (nonHexValues.length > 0 || binValues.length == 0) {
- throw DynamicError.invalidForCastConstructor();
- }
- }
-
-
- byte[] decodedValue = null;
-
- if (aat instanceof XSBase64Binary) {
- decodedValue = Base64.decode(str_value);
- decodedValue = HexBin.encode(decodedValue).getBytes();
- } else {
- decodedValue = str_value.getBytes();
- }
-
- if (decodedValue != null) {
- rs.add(new XSHexBinary(new String(decodedValue)));
- }
- else {
- // invalid hexBinary string
- throw DynamicError.throw_type_error();
- }
-
- return rs;
- }
-
-
-
- /**
- * Equality comparison between this and the supplied representation which
- * must be of type hexBinary
- *
- * @param arg
- * The representation to compare with
- * @return True if the two representation are same. False otherwise.
- *
- * @throws DynamicError
- */
- public boolean eq(AnyType arg, DynamicContext context) throws DynamicError {
- String valToCompare = arg.string_value();
-
- byte[] value1 = HexBin.decode(_value);
- byte[] value2 = HexBin.decode(valToCompare);
- if (value2 == null) {
- return false;
- }
-
- int len = value1.length;
- if (len != value2.length) {
- return false;
- }
-
- for (int i = 0; i < len; i++) {
- if (value1[i] != value2[i]) {
- return false;
- }
- }
-
- return true;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSID.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSID.java
deleted file mode 100644
index a344ab7..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSID.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Standards for Technology in Automotive Retail and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * David Carver (STAR) bug 228223 - initial API and implementation
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-
-/*
- * Implements the xs:ID data type.
- *
- * @since 1.1
- */
-public class XSID extends XSNCName {
-
- private static final String XS_ID = "xs:ID";
-
- public XSID(String x) {
- super(x);
- }
-
- public XSID() {
- super();
- }
-
- public String string_type() {
- return XS_ID;
- }
-
- public String type_name() {
- return "ID";
- }
-
- public ResultSequence constructor(ResultSequence arg) throws DynamicError {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg.empty())
- return rs;
-
- AnyAtomicType aat = (AnyAtomicType) arg.first();
-
- rs.add(new XSID(aat.string_value()));
-
- return rs;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSIDREF.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSIDREF.java
deleted file mode 100644
index a8560ca..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSIDREF.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Standards for Technology in Automotive Retail and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * David Carver (STAR) bug 228223 - initial API and implementation
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-
-/*
- * Implements the xs:IDREF data type.
- *
- * @since 1.1
- */
-public class XSIDREF extends XSNCName {
-
- private static final String XS_IDREF = "xs:IDREF";
-
- public XSIDREF(String x) {
- super(x);
- }
-
- public XSIDREF() {
- super();
- }
-
- public String string_type() {
- return XS_IDREF;
- }
-
- public String type_name() {
- return "IDREF";
- }
-
- public ResultSequence constructor(ResultSequence arg) throws DynamicError {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg.empty())
- return rs;
-
- AnyAtomicType aat = (AnyAtomicType) arg.first();
-
- rs.add(new XSIDREF(aat.string_value()));
-
- return rs;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSInt.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSInt.java
deleted file mode 100644
index 038ae17..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSInt.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Mukul Gandhi, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Mukul Gandhi - bug 275105 - implementation of xs:int data type
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-
-import java.math.BigInteger;
-
-public class XSInt extends XSLong {
-
- private static final String XS_INT = "xs:int";
-
- /**
- * Initializes a representation of 0
- */
- public XSInt() {
- this(BigInteger.valueOf(0));
- }
-
- /**
- * Initializes a representation of the supplied int value
- *
- * @param x
- * Int to be stored
- */
- public XSInt(BigInteger x) {
- super(x);
- }
-
- /**
- * Retrieves the datatype's full pathname
- *
- * @return "xs:int" which is the datatype's full pathname
- */
- public String string_type() {
- return XS_INT;
- }
-
- /**
- * Retrieves the datatype's name
- *
- * @return "int" which is the datatype's name
- */
- public String type_name() {
- return "int";
- }
-
- /**
- * Creates a new ResultSequence consisting of the extractable 'int' in the
- * supplied ResultSequence
- *
- * @param arg
- * The ResultSequence from which the int is to be extracted
- * @return New ResultSequence consisting of the 'int' supplied
- * @throws DynamicError
- */
- public ResultSequence constructor(ResultSequence arg) throws DynamicError {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg.empty())
- return rs;
-
- // the function conversion rules apply here too. Get the argument
- // and convert it's string value to an int.
- AnyType aat = arg.first();
-
- try {
- BigInteger bigInt = new BigInteger(aat.string_value());
-
- // doing the range checking
- BigInteger min = BigInteger.valueOf(-2147483648L);
- BigInteger max = BigInteger.valueOf(2147483647L);
-
- if (bigInt.compareTo(min) < 0 || bigInt.compareTo(max) > 0) {
- // invalid input
- DynamicError.throw_type_error();
- }
-
- rs.add(new XSInt(bigInt));
-
- return rs;
- } catch (NumberFormatException e) {
- throw DynamicError.cant_cast(null);
- }
-
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSInteger.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSInteger.java
deleted file mode 100644
index 8d31d5e..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSInteger.java
+++ /dev/null
@@ -1,362 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 274805 - improvements to xs:integer data type. Using Java
- * BigInteger class to enhance numerical range to -INF -> +INF.
- * David Carver (STAR) - bug 262765 - fix comparision to zero.
- * David Carver (STAR) - bug 282223 - fix casting issues.
- * Jesper Steen Moller - bug 262765 - fix type tests
- * Jesper Steen Moller - bug 281028 - Added constructor from string
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.util.Iterator;
-
-/**
- * A representation of the Integer datatype
- */
-public class XSInteger extends XSDecimal {
-
- private static final String XS_INTEGER = "xs:integer";
- private BigInteger _value;
-
- /**
- * Initializes a representation of 0
- */
- public XSInteger() {
- this(BigInteger.valueOf(0));
- }
-
- /**
- * Initializes a representation of the supplied integer
- *
- * @param x
- * Integer to be stored
- */
- public XSInteger(BigInteger x) {
- super(new BigDecimal(x));
- _value = x;
- }
-
- /**
- * Initializes a representation of the supplied integer
- *
- * @param x
- * Integer to be stored
- */
- public XSInteger(String x) {
- super(new BigDecimal(x));
- _value = new BigInteger(x);
- }
-
- /**
- * Retrieves the datatype's full pathname
- *
- * @return "xs:integer" which is the datatype's full pathname
- */
- public String string_type() {
- return XS_INTEGER;
- }
-
- /**
- * Retrieves the datatype's name
- *
- * @return "integer" which is the datatype's name
- */
- public String type_name() {
- return "integer";
- }
-
- /**
- * Retrieves a String representation of the integer stored
- *
- * @return String representation of the integer stored
- */
- public String string_value() {
- return _value.toString();
- }
-
- /**
- * Check whether the integer represented is 0
- *
- * @return True is the integer represented is 0. False otherwise
- */
- public boolean zero() {
- return (_value.compareTo(BigInteger.ZERO) == 0);
- }
-
- /**
- * Creates a new ResultSequence consisting of the extractable integer in the
- * supplied ResultSequence
- *
- * @param arg
- * The ResultSequence from which the integer is to be extracted
- * @return New ResultSequence consisting of the integer supplied
- * @throws DynamicError
- */
- public ResultSequence constructor(ResultSequence arg) throws DynamicError {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg.empty())
- return rs;
-
- // the function conversion rules apply here too. Get the argument
- // and convert it's string value to an integer.
- AnyType aat = arg.first();
-
- if (aat instanceof XSDuration || aat instanceof CalendarType ||
- aat instanceof XSBase64Binary || aat instanceof XSHexBinary ||
- aat instanceof XSAnyURI) {
- throw DynamicError.invalidType();
- }
-
- if (!isCastable(aat)) {
- throw DynamicError.cant_cast(null);
- }
-
-
- try {
- BigInteger bigInt = castInteger(aat);
- rs.add(new XSInteger(bigInt));
- return rs;
- } catch (NumberFormatException e) {
- throw DynamicError.invalidLexicalValue();
- }
-
- }
-
- private BigInteger castInteger(AnyType aat) {
- if (aat instanceof XSBoolean) {
- if (aat.string_value().equals("true")) {
- return BigInteger.ONE;
- } else {
- return BigInteger.ZERO;
- }
- }
-
- if (aat instanceof XSDecimal || aat instanceof XSFloat ||
- aat instanceof XSDouble) {
- BigDecimal bigDec = new BigDecimal(aat.string_value());
- return bigDec.toBigInteger();
- }
-
- return new BigInteger(aat.string_value());
- }
-
- private boolean isCastable(AnyType aat) throws DynamicError {
- if (aat instanceof XSString || aat instanceof XSUntypedAtomic ||
- aat instanceof NodeType) {
- if (isLexicalValue(aat.string_value())) {
- return true;
- } else {
- return false;
- }
- }
- if (aat instanceof XSBoolean || aat instanceof NumericType) {
- return true;
- }
- return false;
- }
-
- protected boolean isLexicalValue(String value) {
-
- try {
- new BigInteger(value);
- } catch (NumberFormatException ex) {
- return false;
- }
-
- return true;
- }
-
- /**
- * Retrieves the actual integer value stored
- *
- * @return The actual integer value stored
- */
- public BigInteger int_value() {
- return _value;
- }
-
- /**
- * Sets the integer stored to that supplied
- *
- * @param x
- * Integer to be stored
- */
- public void set_int(BigInteger x) {
- _value = x;
- set_double(x.intValue());
- }
-
- /**
- * Mathematical addition operator between this XSInteger and the supplied
- * ResultSequence.
- *
- * @param arg
- * The ResultSequence to perform an addition with
- * @return A XSInteger consisting of the result of the mathematical
- * addition.
- */
- public ResultSequence plus(ResultSequence arg) throws DynamicError {
- ResultSequence carg = convertResultSequence(arg);
- AnyType at = get_single_arg(carg);
- if (!(at instanceof XSInteger))
- DynamicError.throw_type_error();
-
- XSInteger val = (XSInteger)at;
-
- return ResultSequenceFactory.create_new(new
- XSInteger(int_value().add(val.int_value())));
-
- }
-
-
- private ResultSequence convertResultSequence(ResultSequence arg)
- throws DynamicError {
- ResultSequence carg = arg;
- Iterator it = carg.iterator();
- while (it.hasNext()) {
- AnyType type = (AnyType) it.next();
- if (type.string_type().equals("xs:untypedAtomic") ||
- type.string_type().equals("xs:string")) {
- throw DynamicError.invalidType();
- }
- }
- carg = constructor(carg);
- return carg;
- }
-
- /**
- * Mathematical subtraction operator between this XSInteger and the supplied
- * ResultSequence.
- *
- * @param arg
- * The ResultSequence to perform a subtraction with
- * @return A XSInteger consisting of the result of the mathematical
- * subtraction.
- */
- public ResultSequence minus(ResultSequence arg) throws DynamicError {
- ResultSequence carg = convertResultSequence(arg);
- XSInteger val = (XSInteger) get_single_type(carg, XSInteger.class);
-
- return ResultSequenceFactory.create_new(new
- XSInteger(int_value().subtract(val.int_value())));
- }
-
- /**
- * Mathematical multiplication operator between this XSInteger and the
- * supplied ResultSequence.
- *
- * @param arg
- * The ResultSequence to perform a multiplication with
- * @return A XSInteger consisting of the result of the mathematical
- * multiplication.
- */
- public ResultSequence times(ResultSequence arg) throws DynamicError {
- ResultSequence carg = convertResultSequence(arg);
-
- XSInteger val = (XSInteger) get_single_type(carg, XSInteger.class);
-
- return ResultSequenceFactory.create_new(new
- XSInteger(int_value().multiply(val.int_value())));
- }
-
- /**
- * Mathematical modulus operator between this XSInteger and the supplied
- * ResultSequence.
- *
- * @param arg
- * The ResultSequence to perform a modulus with
- * @return A XSInteger consisting of the result of the mathematical modulus.
- */
- public ResultSequence mod(ResultSequence arg) throws DynamicError {
- ResultSequence carg = convertResultSequence(arg);
-
- XSInteger val = (XSInteger) get_single_type(carg, XSInteger.class);
- BigInteger result = int_value().remainder(val.int_value());
-
- return ResultSequenceFactory.create_new(new XSInteger(result));
- }
-
- /**
- * Negates the integer stored
- *
- * @return New XSInteger representing the negation of the integer stored
- */
- public ResultSequence unary_minus() {
- return ResultSequenceFactory
- .create_new(new XSInteger(int_value().multiply(BigInteger.valueOf(-1))));
- }
-
- /**
- * Absolutes the integer stored
- *
- * @return New XSInteger representing the absolute of the integer stored
- */
- public NumericType abs() {
- return new XSInteger(int_value().abs());
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.wst.xml.xpath2.processor.internal.types.XSDecimal#gt(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType)
- */
- public boolean gt(AnyType arg, DynamicContext context) throws DynamicError {
- AnyType carg = convertArg(arg);
- XSInteger val = (XSInteger) get_single_type(carg, XSInteger.class);
-
- int compareResult = int_value().compareTo(val.int_value());
-
- return compareResult > 0;
- }
-
- protected AnyType convertArg(AnyType arg) throws DynamicError {
- ResultSequence rs = ResultSequenceFactory.create_new(arg);
- rs = constructor(rs);
- AnyType carg = rs.first();
- return carg;
- }
-
- /*
- * (non-Javadoc)
- * @see org.eclipse.wst.xml.xpath2.processor.internal.types.XSDecimal#lt(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType)
- */
- public boolean lt(AnyType arg, DynamicContext context) throws DynamicError {
- AnyType carg = convertArg(arg);
- XSInteger val = (XSInteger) get_single_type(carg, XSInteger.class);
-
- int compareResult = int_value().compareTo(val.int_value());
-
- return compareResult < 0;
- }
-
- public ResultSequence div(ResultSequence arg) throws DynamicError {
- ResultSequence carg = convertResultSequence(arg);
-
- XSDecimal val = (XSDecimal) get_single_type(carg, XSDecimal.class);
-
- if (val.zero()) {
- throw DynamicError.div_zero(null);
- }
-
- BigDecimal result = getValue().divide(val.getValue(), 18, BigDecimal.ROUND_HALF_EVEN);
- return ResultSequenceFactory.create_new(new XSDecimal(result));
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSLong.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSLong.java
deleted file mode 100644
index edee538..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSLong.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Mukul Gandhi, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Mukul Gandhi - bug 274952 - Initial API and implementation, of xs:long data
- * type.
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-
-import java.math.BigInteger;
-
-public class XSLong extends XSInteger {
-
- private static final String XS_LONG = "xs:long";
-
- /**
- * Initializes a representation of 0
- */
- public XSLong() {
- this(BigInteger.valueOf(0));
- }
-
- /**
- * Initializes a representation of the supplied long value
- *
- * @param x
- * Long to be stored
- */
- public XSLong(BigInteger x) {
- super(x);
- }
-
- /**
- * Retrieves the datatype's full pathname
- *
- * @return "xs:long" which is the datatype's full pathname
- */
- public String string_type() {
- return XS_LONG;
- }
-
- /**
- * Retrieves the datatype's name
- *
- * @return "long" which is the datatype's name
- */
- public String type_name() {
- return "long";
- }
-
- /**
- * Creates a new ResultSequence consisting of the extractable long in the
- * supplied ResultSequence
- *
- * @param arg
- * The ResultSequence from which the long is to be extracted
- * @return New ResultSequence consisting of the 'long' supplied
- * @throws DynamicError
- */
- public ResultSequence constructor(ResultSequence arg) throws DynamicError {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg.empty())
- return rs;
-
- // the function conversion rules apply here too. Get the argument
- // and convert it's string value to a long.
- AnyType aat = arg.first();
-
- try {
- BigInteger bigInt = new BigInteger(aat.string_value());
-
- // doing the range checking
- BigInteger min = BigInteger.valueOf(-9223372036854775808L);
- BigInteger max = BigInteger.valueOf(9223372036854775807L);
-
- if (bigInt.compareTo(min) < 0 || bigInt.compareTo(max) > 0) {
- // invalid input
- DynamicError.throw_type_error();
- }
-
- rs.add(new XSLong(bigInt));
-
- return rs;
- } catch (NumberFormatException e) {
- throw DynamicError.cant_cast(null);
- }
-
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSNCName.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSNCName.java
deleted file mode 100644
index 5a569a6..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSNCName.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-
-/**
- * A representation of the NCName datatype
- */
-public class XSNCName extends XSString {
- private static final String XS_NC_NAME = "xs:NCName";
-
- /**
- * Initialises using the supplied String
- *
- * @param x
- * String to be stored
- */
- public XSNCName(String x) {
- super(x);
- }
-
- /**
- * Initialises to null
- */
- public XSNCName() {
- this(null);
- }
-
- /**
- * Retrieves the datatype's full pathname
- *
- * @return "xs:NCName" which is the datatype's full pathname
- */
- public String string_type() {
- return XS_NC_NAME;
- }
-
- /**
- * Retrieves the datatype's name
- *
- * @return "NCName" which is the datatype's name
- */
- public String type_name() {
- return "NCName";
- }
-
- /**
- * Creates a new ResultSequence consisting of the extractable NCName within
- * the supplied ResultSequence
- *
- * @param arg
- * The ResultSequence from which to extract the NCName
- * @return New ResultSequence consisting of the NCName supplied
- * @throws DynamicError
- */
- public ResultSequence constructor(ResultSequence arg) throws DynamicError {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg.empty())
- return rs;
-
- AnyAtomicType aat = (AnyAtomicType) arg.first();
-
- rs.add(new XSNCName(aat.string_value()));
-
- return rs;
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSNegativeInteger.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSNegativeInteger.java
deleted file mode 100644
index 4e623ff..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSNegativeInteger.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Mukul Gandhi, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Mukul Gandhi - bug 277602 - Initial API and implementation, of xs:negativeInteger
- * data type.
- * David Carver (STAR) - bug 262765 - fixed abs value tests.
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-
-import java.math.BigInteger;
-
-public class XSNegativeInteger extends XSNonPositiveInteger {
-
- private static final String XS_NEGATIVE_INTEGER = "xs:negativeInteger";
-
- /**
- * Initializes a representation of -1
- */
- public XSNegativeInteger() {
- this(BigInteger.valueOf(-1));
- }
-
- /**
- * Initializes a representation of the supplied negativeInteger value
- *
- * @param x
- * negativeInteger to be stored
- */
- public XSNegativeInteger(BigInteger x) {
- super(x);
- }
-
- /**
- * Retrieves the datatype's full pathname
- *
- * @return "xs:negativeInteger" which is the datatype's full pathname
- */
- public String string_type() {
- return XS_NEGATIVE_INTEGER;
- }
-
- /**
- * Retrieves the datatype's name
- *
- * @return "negativeInteger" which is the datatype's name
- */
- public String type_name() {
- return "negativeInteger";
- }
-
- /**
- * Creates a new ResultSequence consisting of the extractable negativeInteger
- * in the supplied ResultSequence
- *
- * @param arg
- * The ResultSequence from which the negativeInteger is to be extracted
- * @return New ResultSequence consisting of the 'negativeInteger' supplied
- * @throws DynamicError
- */
- public ResultSequence constructor(ResultSequence arg) throws DynamicError {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg.empty())
- return rs;
-
- // the function conversion rules apply here too. Get the argument
- // and convert it's string value to a nonPositiveInteger.
- AnyType aat = arg.first();
-
- try {
- BigInteger bigInt = new BigInteger(aat.string_value());
-
- // doing the range checking
- // min value is, -INF
- // max value is -1
- BigInteger max = BigInteger.valueOf(-1L);
-
- if (bigInt.compareTo(max) > 0) {
- // invalid input
- throw DynamicError.cant_cast(null);
- }
-
- rs.add(new XSNegativeInteger(bigInt));
-
- return rs;
- } catch (NumberFormatException e) {
- throw DynamicError.cant_cast(null);
- }
-
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSNonNegativeInteger.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSNonNegativeInteger.java
deleted file mode 100644
index a4d210a..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSNonNegativeInteger.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Mukul Gandhi, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Mukul Gandhi - bug 277609 - Initial API and implementation, of xs:nonNegativeInteger
- * data type.
- * David Carver (STAR) - bug 262765 - fixed abs value tests.
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-
-import java.math.BigInteger;
-
-public class XSNonNegativeInteger extends XSInteger {
-
- private static final String XS_NON_NEGATIVE_INTEGER = "xs:nonNegativeInteger";
-
- /**
- * Initializes a representation of 0
- */
- public XSNonNegativeInteger() {
- this(BigInteger.valueOf(0));
- }
-
- /**
- * Initializes a representation of the supplied nonNegativeInteger value
- *
- * @param x
- * nonNegativeInteger to be stored
- */
- public XSNonNegativeInteger(BigInteger x) {
- super(x);
- }
-
- /**
- * Retrieves the datatype's full pathname
- *
- * @return "xs:nonNegativeInteger" which is the datatype's full pathname
- */
- public String string_type() {
- return XS_NON_NEGATIVE_INTEGER;
- }
-
- /**
- * Retrieves the datatype's name
- *
- * @return "nonNegativeInteger" which is the datatype's name
- */
- public String type_name() {
- return "nonNegativeInteger";
- }
-
- /**
- * Creates a new ResultSequence consisting of the extractable nonNegativeInteger
- * in the supplied ResultSequence
- *
- * @param arg
- * The ResultSequence from which the nonNegativeInteger is to be extracted
- * @return New ResultSequence consisting of the 'nonNegativeInteger' supplied
- * @throws DynamicError
- */
- public ResultSequence constructor(ResultSequence arg) throws DynamicError {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg.empty())
- return rs;
-
- // the function conversion rules apply here too. Get the argument
- // and convert it's string value to a nonNegativeInteger.
- AnyType aat = arg.first();
-
- try {
- BigInteger bigInt = new BigInteger(aat.string_value());
-
- // doing the range checking
- // min value is, 0
- // max value is INF
- BigInteger min = BigInteger.valueOf(0L);
-
- if (bigInt.compareTo(min) < 0) {
- // invalid input
- throw DynamicError.cant_cast(null);
- }
-
- rs.add(new XSNonNegativeInteger(bigInt));
-
- return rs;
- } catch (NumberFormatException e) {
- throw DynamicError.cant_cast(null);
- }
-
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSNonPositiveInteger.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSNonPositiveInteger.java
deleted file mode 100644
index 94e79d6..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSNonPositiveInteger.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Mukul Gandhi, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Mukul Gandhi - bug 277599 - Initial API and implementation, of xs:nonPositiveInteger
- * data type.
- * David Carver (STAR) - bug 262765 - fixed abs value tests.
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-
-import java.math.BigInteger;
-
-public class XSNonPositiveInteger extends XSInteger {
-
- private static final String XS_NON_POSITIVE_INTEGER = "xs:nonPositiveInteger";
-
- /**
- * Initializes a representation of 0
- */
- public XSNonPositiveInteger() {
- this(BigInteger.valueOf(0));
- }
-
- /**
- * Initializes a representation of the supplied nonPositiveInteger value
- *
- * @param x
- * nonPositiveInteger to be stored
- */
- public XSNonPositiveInteger(BigInteger x) {
- super(x);
- }
-
- /**
- * Retrieves the datatype's full pathname
- *
- * @return "xs:nonPositiveInteger" which is the datatype's full pathname
- */
- public String string_type() {
- return XS_NON_POSITIVE_INTEGER;
- }
-
- /**
- * Retrieves the datatype's name
- *
- * @return "nonPositiveInteger" which is the datatype's name
- */
- public String type_name() {
- return "nonPositiveInteger";
- }
-
- /**
- * Creates a new ResultSequence consisting of the extractable nonPositiveInteger
- * in the supplied ResultSequence
- *
- * @param arg
- * The ResultSequence from which the nonPositiveInteger is to be extracted
- * @return New ResultSequence consisting of the 'nonPositiveInteger' supplied
- * @throws DynamicError
- */
- public ResultSequence constructor(ResultSequence arg) throws DynamicError {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg.empty())
- return rs;
-
- // the function conversion rules apply here too. Get the argument
- // and convert it's string value to a nonPositiveInteger.
- AnyType aat = arg.first();
-
- try {
- BigInteger bigInt = new BigInteger(aat.string_value());
-
- // doing the range checking
- // min value is, -INF
- // max value is 0
- BigInteger max = BigInteger.valueOf(0L);
-
- if (bigInt.compareTo(max) > 0) {
- // invalid input
- throw DynamicError.cant_cast(null);
- }
-
- rs.add(new XSNonPositiveInteger(bigInt));
-
- return rs;
- } catch (NumberFormatException e) {
- throw DynamicError.cant_cast(null);
- }
-
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSNormalizedString.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSNormalizedString.java
deleted file mode 100644
index 58c45ee..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSNormalizedString.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Mukul Gandhi, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Mukul Gandhi - bug 309585 - implementation of xs:normalizedString data type
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-
-/**
- * A representation of the xs:normalizedString datatype
- */
-public class XSNormalizedString extends XSString {
-
- private static final String XS_NORMALIZEDSTRING = "xs:normalizedString";
-
- /**
- * Initialises using the supplied String
- *
- * @param x
- * The String to initialise to
- */
- public XSNormalizedString(String x) {
- super(x);
- }
-
- /**
- * Initialises to null
- */
- public XSNormalizedString() {
- this(null);
- }
-
- /**
- * Retrieves the datatype's full pathname
- *
- * @return "xs:normalizedString" which is the datatype's full pathname
- */
- public String string_type() {
- return XS_NORMALIZEDSTRING;
- }
-
- /**
- * Retrieves the datatype's name
- *
- * @return "normalizedString" which is the datatype's name
- */
- public String type_name() {
- return "normalizedString";
- }
-
- /**
- * Creates a new ResultSequence consisting of the extractable String in the
- * supplied ResultSequence
- *
- * @param arg
- * The ResultSequence from which to extract the String
- * @return New ResultSequence consisting of the supplied String
- * @throws DynamicError
- */
- public ResultSequence constructor(ResultSequence arg) throws DynamicError {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg.empty())
- return rs;
-
- AnyType aat = arg.first();
-
- String srcString = aat.string_value();
-
- // the xs:normalizedString value cannot contain, 'carriage return',
- // 'line feed' and 'tab' characters.
- if ((srcString.indexOf("\r") != -1) ||
- (srcString.indexOf("\n") != -1) ||
- (srcString.indexOf("\t") != -1)) {
- // invalid input
- DynamicError.throw_type_error();
- }
-
- rs.add(new XSNormalizedString(srcString));
-
- return rs;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSNotation.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSNotation.java
deleted file mode 100644
index b7050ee..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSNotation.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Standards for Technology in Automotive Retail and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * David Carver (STAR) bug 282223 - initial API and implementation
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-
-public class XSNotation extends CtrType {
-
- private static final String XS_NOTATION = "xs:NOTATION";
-
- public String string_type() {
- return XS_NOTATION;
- }
-
- public String string_value() {
- return null;
- }
-
- public ResultSequence constructor(ResultSequence arg) throws DynamicError {
- if (arg.empty())
- DynamicError.throw_type_error();
- throw new DynamicError("XPST0080", "Can't Cast to NOTATION");
- }
-
- public String type_name() {
- return "NOTATION";
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSPositiveInteger.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSPositiveInteger.java
deleted file mode 100644
index e586fb3..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSPositiveInteger.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Mukul Gandhi, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Mukul Gandhi - bug 277632 - Initial API and implementation, of xs:positiveInteger
- * data type.
- * David Carver (STAR) - bug 262765 - fixed abs value tests.
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-
-import java.math.BigInteger;
-
-public class XSPositiveInteger extends XSNonNegativeInteger {
-
- private static final String XS_POSITIVE_INTEGER = "xs:positiveInteger";
-
- /**
- * Initializes a representation of 1
- */
- public XSPositiveInteger() {
- this(BigInteger.valueOf(1));
- }
-
- /**
- * Initializes a representation of the supplied positiveInteger value
- *
- * @param x
- * positiveInteger to be stored
- */
- public XSPositiveInteger(BigInteger x) {
- super(x);
- }
-
- /**
- * Retrieves the datatype's full pathname
- *
- * @return "xs:positiveInteger" which is the datatype's full pathname
- */
- public String string_type() {
- return XS_POSITIVE_INTEGER;
- }
-
- /**
- * Retrieves the datatype's name
- *
- * @return "positiveInteger" which is the datatype's name
- */
- public String type_name() {
- return "positiveInteger";
- }
-
- /**
- * Creates a new ResultSequence consisting of the extractable positiveInteger
- * in the supplied ResultSequence
- *
- * @param arg
- * The ResultSequence from which the positiveInteger is to be extracted
- * @return New ResultSequence consisting of the 'positiveInteger' supplied
- * @throws DynamicError
- */
- public ResultSequence constructor(ResultSequence arg) throws DynamicError {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg.empty())
- return rs;
-
- // the function conversion rules apply here too. Get the argument
- // and convert it's string value to a positiveInteger.
- AnyType aat = arg.first();
-
- try {
- BigInteger bigInt = new BigInteger(aat.string_value());
-
- // doing the range checking
- // min value is 1
- // max value is INF
- BigInteger min = BigInteger.valueOf(1);
-
- if (bigInt.compareTo(min) < 0) {
- // invalid input
- throw DynamicError.cant_cast(null);
- }
-
- rs.add(new XSPositiveInteger(bigInt));
-
- return rs;
- } catch (NumberFormatException e) {
- throw DynamicError.cant_cast(null);
- }
-
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSShort.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSShort.java
deleted file mode 100644
index b2afc48..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSShort.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Mukul Gandhi, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Mukul Gandhi - bug 277608 - implementation of xs:short data type
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-
-import java.math.BigInteger;
-
-public class XSShort extends XSInt {
-
- private static final String XS_SHORT = "xs:short";
-
- /**
- * Initializes a representation of 0
- */
- public XSShort() {
- this(BigInteger.valueOf(0));
- }
-
- /**
- * Initializes a representation of the supplied short value
- *
- * @param x
- * Short to be stored
- */
- public XSShort(BigInteger x) {
- super(x);
- }
-
- /**
- * Retrieves the datatype's full pathname
- *
- * @return "xs:short" which is the datatype's full pathname
- */
- public String string_type() {
- return XS_SHORT;
- }
-
- /**
- * Retrieves the datatype's name
- *
- * @return "short" which is the datatype's name
- */
- public String type_name() {
- return "short";
- }
-
- /**
- * Creates a new ResultSequence consisting of the extractable 'short' in the
- * supplied ResultSequence
- *
- * @param arg
- * The ResultSequence from which the short is to be extracted
- * @return New ResultSequence consisting of the 'short' supplied
- * @throws DynamicError
- */
- public ResultSequence constructor(ResultSequence arg) throws DynamicError {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg.empty())
- return rs;
-
- // the function conversion rules apply here too. Get the argument
- // and convert it's string value to a short.
- AnyType aat = arg.first();
-
- try {
- BigInteger bigInt = new BigInteger(aat.string_value());
-
- // doing the range checking
- BigInteger min = BigInteger.valueOf(-32768L);
- BigInteger max = BigInteger.valueOf(32767L);
-
- if (bigInt.compareTo(min) < 0 || bigInt.compareTo(max) > 0) {
- // invalid input
- DynamicError.throw_type_error();
- }
-
- rs.add(new XSShort(bigInt));
-
- return rs;
- } catch (NumberFormatException e) {
- throw DynamicError.cant_cast(null);
- }
-
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSString.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSString.java
deleted file mode 100644
index 2283f7e..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSString.java
+++ /dev/null
@@ -1,187 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - improved comparison of xs:string with other XDM types
- * Jesper S Moller - bug 286061 correct handling of quoted string
- * Jesper S Moller - bug 280555 - Add pluggable collation support
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.CmpEq;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.CmpGt;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.CmpLt;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.FnCompare;
-
-import java.math.BigInteger;
-
-/**
- * A representation of the String datatype
- */
-public class XSString extends CtrType implements CmpEq, CmpGt, CmpLt {
-
- private static final String XS_STRING = "xs:string";
- private String _value;
-
- /**
- * Initialises using the supplied String
- *
- * @param x
- * The String to initialise to
- */
- public XSString(String x) {
- _value = x;
- }
-
- /**
- * Initialises to null
- */
- public XSString() {
- this(null);
- }
-
- /**
- * Retrieves the datatype's full pathname
- *
- * @return "xs:string" which is the datatype's full pathname
- */
- public String string_type() {
- return XS_STRING;
- }
-
- /**
- * Retrieves the datatype's name
- *
- * @return "string" which is the datatype's name
- */
- public String type_name() {
- return "string";
- }
-
- /**
- * Retrieves a String representation of the string stored. This method is
- * functionally identical to value()
- *
- * @return The String stored
- */
- public String string_value() {
- return _value;
- }
-
- /**
- * Retrieves a String representation of the string stored. This method is
- * functionally identical to string_value()
- *
- * @return The String stored
- */
- public String value() {
- return string_value();
- }
-
- /**
- * Creates a new ResultSequence consisting of the extractable String in the
- * supplied ResultSequence
- *
- * @param arg
- * The ResultSequence from which to extract the String
- * @return New ResultSequence consisting of the supplied String
- * @throws DynamicError
- */
- public ResultSequence constructor(ResultSequence arg) throws DynamicError {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg.empty())
- return rs;
-
- //AnyAtomicType aat = (AnyAtomicType) arg.first();
- AnyType aat = arg.first();
-
- rs.add(new XSString(aat.string_value()));
-
- return rs;
- }
-
- // comparisons
-
- // 666 indicates death [compare returned empty seq]
- private int do_compare(AnyType arg, DynamicContext dc) throws DynamicError {
-
- // XXX: This can't happen, I guess
- if (arg == null) return 666;
-
- XSString comparand = arg instanceof XSString ? (XSString)arg : new XSString(arg.string_value());
-
- BigInteger result = FnCompare.compare_string(dc.default_collation_name(), this, comparand, dc);
-
- return result.intValue();
- }
-
- /**
- * Equality comparison between this and the supplied representation which
- * must be of type String
- *
- * @param arg
- * The representation to compare with
- * @return True if the two representation are of the same String. False
- * otherwise
- * @throws DynamicError
- */
- public boolean eq(AnyType arg, DynamicContext context) throws DynamicError {
- int cmp = do_compare(arg, context);
-
- // XXX im not sure what to do here!!! because eq has to return
- // something i fink....
- if (cmp == 666)
- assert false;
-
- return cmp == 0;
- }
-
- /**
- * Comparison between this and the supplied representation which must be of
- * type String
- *
- * @param arg
- * The representation to compare with
- * @return True if this String is lexographically greater than that
- * supplied. False otherwise
- * @throws DynamicError
- */
- public boolean gt(AnyType arg, DynamicContext context) throws DynamicError {
- int cmp = do_compare(arg, context);
-
- assert cmp != 666;
-
- return cmp > 0;
- }
-
- /**
- * Comparison between this and the supplied representation which must be of
- * type String
- *
- * @param arg
- * The representation to compare with
- * @return True if this String is lexographically less than that supplied.
- * False otherwise
- * @throws DynamicError
- */
- public boolean lt(AnyType arg, DynamicContext context) throws DynamicError {
- int cmp = do_compare(arg, context);
-
- assert cmp != 666;
-
- return cmp < 0;
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSTime.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSTime.java
deleted file mode 100644
index 35cbef7..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSTime.java
+++ /dev/null
@@ -1,457 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 273760 - wrong namespace for functions and data types
- * David Carver - bug 282223 - implementation of xs:duration data type.
- * correction of casting to time.
- * David Carver - bug 280547 - fix dates for comparison
- * Jesper Steen Moller - bug 262765 - fix type tests
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.CmpEq;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.CmpGt;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.CmpLt;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.MathMinus;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.MathPlus;
-
-import java.util.Calendar;
-import java.util.GregorianCalendar;
-import java.util.TimeZone;
-
-import javax.xml.datatype.DatatypeConfigurationException;
-import javax.xml.datatype.DatatypeFactory;
-import javax.xml.datatype.Duration;
-import javax.xml.datatype.XMLGregorianCalendar;
-
-/**
- * A representation of the Time datatype
- */
-public class XSTime extends CalendarType implements CmpEq, CmpLt, CmpGt,
-
-MathMinus, MathPlus,
-
-Cloneable {
-
- private static final String XS_TIME = "xs:time";
- private Calendar _calendar;
- private boolean _timezoned;
- private XSDuration _tz;
-
- /**
- * Initialises to the supplied time and timezone
- *
- * @param cal
- * Calendar representation of the time to be stored
- * @param tz
- * The timezone (possibly null) associated with this time
- */
- public XSTime(Calendar cal, XSDuration tz) {
- _calendar = cal;
-
- _tz = tz;
- if (tz == null)
- _timezoned = false;
- else
- _timezoned = true;
- }
-
- /**
- * Initialises to the current time
- */
- public XSTime() {
- this(new GregorianCalendar(TimeZone.getTimeZone("GMT")), null);
- }
-
- /**
- * Creates a new copy of the time (and timezone) stored
- *
- * @return New XSTime representing the copy of the time and timezone
- * @throws CloneNotSupportedException
- */
- public Object clone() throws CloneNotSupportedException {
- Calendar c = (Calendar) calendar().clone();
- XSDuration t = tz();
-
- if (t != null)
- t = (XSDuration) t.clone();
-
- return new XSTime(c, t);
- }
-
- /**
- * Retrieves the datatype's name
- *
- * @return "time" which is the datatype's name
- */
- public String type_name() {
- return "time";
- }
-
- /**
- * Creates a new XSTime representing the String represented supplied time
- *
- * @param str
- * String represented time and timezone to be stored
- * @return New XSTime representing the supplied time
- */
- public static CalendarType parse_time(String str) {
-
- String startdate = "1983-11-29T";
-
- XSDateTime dt = XSDateTime.parseDateTime(startdate + str);
- if (dt == null)
- return null;
-
- return new XSTime(dt.calendar(), dt.tz());
- }
-
- /**
- * Creates a new ResultSequence consisting of the extractable time from the
- * supplied ResultSequence
- *
- * @param arg
- * The ResultSequence from which to extract the time
- * @return New ResultSequence consisting of the supplied time
- * @throws DynamicError
- */
- public ResultSequence constructor(ResultSequence arg) throws DynamicError {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg.empty())
- return rs;
-
- AnyAtomicType aat = (AnyAtomicType) arg.first();
- if (!isCastable(aat)) {
- throw DynamicError.invalidType();
- }
-
-
- CalendarType t = castTime(aat);
-
- if (t == null)
- throw DynamicError.cant_cast(null);
-
- rs.add(t);
-
- return rs;
- }
-
- private boolean isCastable(AnyAtomicType aat) {
- if (aat instanceof XSString || aat instanceof XSUntypedAtomic) {
- return true;
- }
-
- if (aat instanceof XSDateTime) {
- return true;
- }
-
- if (aat instanceof XSTime) {
- return true;
- }
- return false;
- }
-
- private CalendarType castTime(AnyAtomicType aat) {
- if (aat instanceof XSTime) {
- XSTime time = (XSTime) aat;
- return new XSTime(time.calendar(), time.tz());
- }
- if (aat instanceof XSDateTime) {
- XSDateTime dateTime = (XSDateTime) aat;
- return new XSTime(dateTime.calendar(), dateTime.tz());
- }
-
- return parse_time(aat.string_value());
- }
- /**
- * Retrieves the hour stored as an integer
- *
- * @return The hour stored
- */
- public int hour() {
- return _calendar.get(Calendar.HOUR_OF_DAY);
- }
-
- /**
- * Retrieves the minute stored as an integer
- *
- * @return The minute stored
- */
- public int minute() {
- return _calendar.get(Calendar.MINUTE);
- }
-
- /**
- * Retrieves the seconds stored as an integer
- *
- * @return The second stored
- */
- public double second() {
- double s = _calendar.get(Calendar.SECOND);
-
- double ms = _calendar.get(Calendar.MILLISECOND);
-
- ms /= 1000;
-
- s += ms;
- return s;
- }
-
- /**
- * Check for whether the time stored has a timezone associated with it
- *
- * @return True if the time has a timezone associated. False otherwise
- */
- public boolean timezoned() {
- return _timezoned;
- }
-
- /**
- * Retrieves a String representation of the time stored
- *
- * @return String representation of the time stored
- */
- public String string_value() {
- String ret = "";
-
- Calendar adjustFortimezone = calendar();
- ret += XSDateTime.pad_int(adjustFortimezone.get(Calendar.HOUR_OF_DAY), 2);
-
- ret += ":";
- ret += XSDateTime.pad_int(adjustFortimezone.get(Calendar.MINUTE), 2);
-
-
- ret += ":";
- int isecond = (int) second();
- double sec = second();
-
- if ((sec - (isecond)) == 0.0)
- ret += XSDateTime.pad_int(isecond, 2);
- else {
- if (sec < 10.0)
- ret += "0" + sec;
- else
- ret += sec;
- }
-
- if (timezoned()) {
- int hrs = _tz.hours();
- int min = _tz.minutes();
- double secs = _tz.seconds();
- if (hrs == 0 && min == 0 && secs == 0) {
- ret += "Z";
- }
- else {
- String tZoneStr = "";
- if (_tz.negative()) {
- tZoneStr += "-";
- }
- else {
- tZoneStr += "+";
- }
- tZoneStr += XSDateTime.pad_int(hrs, 2);
- tZoneStr += ":";
- tZoneStr += XSDateTime.pad_int(min, 2);
-
- ret += tZoneStr;
- }
- }
-
- return ret;
- }
-
- /**
- * Retrieves the datatype's full pathname
- *
- * @return "xs:time" which is the datatype's full pathname
- */
- public String string_type() {
- return XS_TIME;
- }
-
- /**
- * Retrieves a Calendar representation of time stored
- *
- * @return Calendar representation of the time stored
- */
- public Calendar calendar() {
- return _calendar;
- }
-
- /**
- * Retrieves the timezone associated with the time stored as a duration of
- * time
- *
- * @return The duration of time between the time stored and the actual time
- * after the timezone is taken into account
- */
- public XSDuration tz() {
- return _tz;
- }
-
- /**
- * Retrieves the time in milliseconds since the epoch
- *
- * @return time stored in milliseconds since the epoch
- */
- public double value() {
- return calendar().getTimeInMillis() / 1000.0;
- }
-
- /**
- * Equality comparison between this and the supplied XSTime representation
- *
- * @param arg
- * The XSTime to compare with
- * @return True if both XSTime's represent the same time. False otherwise
- * @throws DynamicError
- */
- public boolean eq(AnyType arg, DynamicContext context) throws DynamicError {
- XSTime val = (XSTime) NumericType.get_single_type(arg, XSTime.class);
- Calendar thiscal = normalizeCalendar(calendar(), tz());
- Calendar thatcal = normalizeCalendar(val.calendar(), val.tz());
-
- return thiscal.equals(thatcal);
- }
-
- /**
- * Comparison between this and the supplied XSTime representation
- *
- * @param arg
- * The XSTime to compare with
- * @return True if the supplied time represnts a point in time after that
- * represented by the time stored. False otherwise
- */
- public boolean lt(AnyType arg, DynamicContext context) throws DynamicError {
- XSTime val = (XSTime) NumericType.get_single_type(arg, XSTime.class);
- Calendar thiscal = normalizeCalendar(calendar(), tz());
- Calendar thatcal = normalizeCalendar(val.calendar(), val.tz());
- return thiscal.before(thatcal);
- }
-
- /**
- * Comparison between this and the supplied XSTime representation
- *
- * @param arg
- * The XSTime to compare with
- * @return True if the supplied time represnts a point in time before that
- * represented by the time stored. False otherwise
- * @throws DynamicError
- */
- public boolean gt(AnyType arg, DynamicContext context) throws DynamicError {
- XSTime val = (XSTime) NumericType.get_single_type(arg, XSTime.class);
- Calendar thiscal = normalizeCalendar(calendar(), tz());
- Calendar thatcal = normalizeCalendar(val.calendar(), val.tz());
-
- return thiscal.after(thatcal);
- }
-
- /**
- * Mathematical subtraction between this time stored and the supplied
- * representation. This supplied representation must be of either type
- * XSTime (in which case the result is the duration of time between these
- * two times) or a XSDayTimeDuration (in which case the result is the time
- * when this duration is subtracted from the time stored).
- *
- * @param arg
- * The representation to subtract (either XSTim or
- * XDTDayTimeDuration)
- * @return A ResultSequence representing the result of the subtraction
- */
- public ResultSequence minus(ResultSequence arg) throws DynamicError {
- if (arg.size() != 1)
- DynamicError.throw_type_error();
-
- AnyType at = arg.first();
-
- if (!(at instanceof XSTime) && !(at instanceof XSDayTimeDuration)) {
- throw DynamicError.throw_type_error();
- }
-
- if (at instanceof XSTime) {
- return minusXSTimeDuration(at);
- }
-
- if (at instanceof XSDayTimeDuration) {
- return minusXSDayTimeDuration(at);
- }
- return null; // unreach
- }
-
- private ResultSequence minusXSDayTimeDuration(AnyType at) {
- XSDuration val = (XSDuration) at;
-
- XSTime res = null;
- try {
- res = (XSTime) clone();
- } catch (CloneNotSupportedException err) {
- return null;
- }
-
- try {
- XMLGregorianCalendar xmlCal = DatatypeFactory.newInstance().newXMLGregorianCalendar((GregorianCalendar)calendar());
- Duration dtduration = DatatypeFactory.newInstance().newDuration(val.string_value());
- xmlCal.add(dtduration.negate());
- res = new XSTime(xmlCal.toGregorianCalendar(), res.tz());
- } catch (DatatypeConfigurationException ex) {
-
- }
-
- return ResultSequenceFactory.create_new(res);
- }
-
- private ResultSequence minusXSTimeDuration(AnyType at) {
- XSTime val = (XSTime) at;
- Duration dtduration = null;
- try {
- Calendar thisCal = normalizeCalendar(calendar(), tz());
- Calendar thatCal = normalizeCalendar(val.calendar(), val.tz());
- long duration = thisCal.getTimeInMillis() - thatCal.getTimeInMillis();
- dtduration = DatatypeFactory.newInstance().newDuration(duration);
- return ResultSequenceFactory.create_new(XSDayTimeDuration.parseDTDuration(dtduration.toString()));
- } catch (DatatypeConfigurationException ex) {
- return null;
- }
- }
-
- /**
- * Mathematical addition between this time stored and the supplied time
- * duration.
- *
- * @param arg
- * A XDTDayTimeDuration representation of the duration of time to
- * add
- * @return A XSTime representing the result of this addition.
- * @throws DynamicError
- */
- public ResultSequence plus(ResultSequence arg) throws DynamicError {
- XSDuration val = (XSDuration) NumericType
- .get_single_type(arg, XSDayTimeDuration.class);
-
- try {
- double ms = val.time_value() * 1000.0;
-
- XSTime res = (XSTime) clone();
-
- res.calendar().add(Calendar.MILLISECOND, (int) ms);
-
- return ResultSequenceFactory.create_new(res);
- } catch (CloneNotSupportedException err) {
- assert false;
- return null;
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSUnsignedByte.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSUnsignedByte.java
deleted file mode 100644
index 2eae7f8..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSUnsignedByte.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Mukul Gandhi, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Mukul Gandhi - bug 277650 - Initial API and implementation, of xs:unsignedByte
- * data type.
- * David Carver (STAR) - bug 262765 - fixed abs value tests.
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-
-import java.math.BigInteger;
-
-public class XSUnsignedByte extends XSUnsignedShort {
-
- private static final String XS_UNSIGNED_BYTE = "xs:unsignedByte";
-
- /**
- * Initializes a representation of 0
- */
- public XSUnsignedByte() {
- this(BigInteger.valueOf(0));
- }
-
- /**
- * Initializes a representation of the supplied unsignedByte value
- *
- * @param x
- * unsignedByte to be stored
- */
- public XSUnsignedByte(BigInteger x) {
- super(x);
- }
-
- /**
- * Retrieves the datatype's full pathname
- *
- * @return "xs:unsignedByte" which is the datatype's full pathname
- */
- public String string_type() {
- return XS_UNSIGNED_BYTE;
- }
-
- /**
- * Retrieves the datatype's name
- *
- * @return "unsignedByte" which is the datatype's name
- */
- public String type_name() {
- return "unsignedByte";
- }
-
- /**
- * Creates a new ResultSequence consisting of the extractable unsignedByte
- * in the supplied ResultSequence
- *
- * @param arg
- * The ResultSequence from which the unsignedByte is to be extracted
- * @return New ResultSequence consisting of the 'unsignedByte' supplied
- * @throws DynamicError
- */
- public ResultSequence constructor(ResultSequence arg) throws DynamicError {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg.empty())
- return rs;
-
- // the function conversion rules apply here too. Get the argument
- // and convert it's string value to a unsignedByte.
- AnyType aat = arg.first();
-
- try {
- BigInteger bigInt = new BigInteger(aat.string_value());
-
- // doing the range checking
- // min value is 0
- // max value is 255
- BigInteger min = BigInteger.valueOf(0);
- BigInteger max = BigInteger.valueOf(255L);
-
- if (bigInt.compareTo(min) < 0 || bigInt.compareTo(max) > 0) {
- // invalid input
- throw DynamicError.cant_cast(null);
- }
-
- rs.add(new XSUnsignedByte(bigInt));
-
- return rs;
- } catch (NumberFormatException e) {
- throw DynamicError.cant_cast(null);
- }
-
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSUnsignedInt.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSUnsignedInt.java
deleted file mode 100644
index a078caa..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSUnsignedInt.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Mukul Gandhi, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Mukul Gandhi - bug 277642 - Initial API and implementation, of xs:unsignedInt
- * data type.
- * David Carver (STAR) - bug 262765 - fixed abs value tests.
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-
-import java.math.BigInteger;
-
-public class XSUnsignedInt extends XSUnsignedLong {
-
- private static final String XS_UNSIGNED_INT = "xs:unsignedInt";
-
- /**
- * Initializes a representation of 0
- */
- public XSUnsignedInt() {
- this(BigInteger.valueOf(0));
- }
-
- /**
- * Initializes a representation of the supplied unsignedInt value
- *
- * @param x
- * unsignedInt to be stored
- */
- public XSUnsignedInt(BigInteger x) {
- super(x);
- }
-
- /**
- * Retrieves the datatype's full pathname
- *
- * @return "xs:unsignedInt" which is the datatype's full pathname
- */
- public String string_type() {
- return XS_UNSIGNED_INT;
- }
-
- /**
- * Retrieves the datatype's name
- *
- * @return "unsignedInt" which is the datatype's name
- */
- public String type_name() {
- return "unsignedInt";
- }
-
- /**
- * Creates a new ResultSequence consisting of the extractable unsignedInt
- * in the supplied ResultSequence
- *
- * @param arg
- * The ResultSequence from which the unsignedInt is to be extracted
- * @return New ResultSequence consisting of the 'unsignedInt' supplied
- * @throws DynamicError
- */
- public ResultSequence constructor(ResultSequence arg) throws DynamicError {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg.empty())
- return rs;
-
- // the function conversion rules apply here too. Get the argument
- // and convert it's string value to a unsignedInt.
- AnyType aat = arg.first();
-
- try {
- BigInteger bigInt = new BigInteger(aat.string_value());
-
- // doing the range checking
- // min value is 0
- // max value is 4294967295
- BigInteger min = BigInteger.valueOf(0);
- BigInteger max = BigInteger.valueOf(4294967295L);
-
- if (bigInt.compareTo(min) < 0 || bigInt.compareTo(max) > 0) {
- // invalid input
- throw DynamicError.cant_cast(null);
- }
-
- rs.add(new XSUnsignedInt(bigInt));
-
- return rs;
- } catch (NumberFormatException e) {
- throw DynamicError.cant_cast(null);
- }
-
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSUnsignedLong.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSUnsignedLong.java
deleted file mode 100644
index d16e0b6..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSUnsignedLong.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Mukul Gandhi, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Mukul Gandhi - bug 277629 - Initial API and implementation, of xs:unsignedLong
- * data type.
- * David Carver (STAR) - bug 262765 - fixed abs value tests.
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-
-import java.math.BigInteger;
-
-public class XSUnsignedLong extends XSNonNegativeInteger {
-
- private static final String XS_UNSIGNED_LONG = "xs:unsignedLong";
-
- /**
- * Initializes a representation of 0
- */
- public XSUnsignedLong() {
- this(BigInteger.valueOf(0));
- }
-
- /**
- * Initializes a representation of the supplied unsignedLong value
- *
- * @param x
- * unsignedLong to be stored
- */
- public XSUnsignedLong(BigInteger x) {
- super(x);
- }
-
- /**
- * Retrieves the datatype's full pathname
- *
- * @return "xs:unsignedLong" which is the datatype's full pathname
- */
- public String string_type() {
- return XS_UNSIGNED_LONG;
- }
-
- /**
- * Retrieves the datatype's name
- *
- * @return "unsignedLong" which is the datatype's name
- */
- public String type_name() {
- return "unsignedLong";
- }
-
- /**
- * Creates a new ResultSequence consisting of the extractable unsignedLong
- * in the supplied ResultSequence
- *
- * @param arg
- * The ResultSequence from which the unsignedLong is to be extracted
- * @return New ResultSequence consisting of the 'unsignedLong' supplied
- * @throws DynamicError
- */
- public ResultSequence constructor(ResultSequence arg) throws DynamicError {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg.empty())
- return rs;
-
- // the function conversion rules apply here too. Get the argument
- // and convert it's string value to a unsignedLong.
- AnyType aat = arg.first();
-
- try {
- BigInteger bigInt = new BigInteger(aat.string_value());
-
- // doing the range checking
- // min value is 0
- // max value is 18446744073709551615
- BigInteger min = BigInteger.valueOf(0);
- BigInteger max = new BigInteger("18446744073709551615");
-
- if (bigInt.compareTo(min) < 0 || bigInt.compareTo(max) > 0) {
- // invalid input
- throw DynamicError.cant_cast(null);
- }
-
- rs.add(new XSUnsignedLong(bigInt));
-
- return rs;
- } catch (NumberFormatException e) {
- throw DynamicError.cant_cast(null);
- }
-
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSUnsignedShort.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSUnsignedShort.java
deleted file mode 100644
index 5480202..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSUnsignedShort.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Mukul Gandhi, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Mukul Gandhi - bug 277645 - Initial API and implementation, of xs:unsignedShort
- * data type.
- * David Carver (STAR) - bug 262765 - fixed abs value tests.
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-
-import java.math.BigInteger;
-
-public class XSUnsignedShort extends XSUnsignedInt {
-
- private static final String XS_UNSIGNED_SHORT = "xs:unsignedShort";
-
- /**
- * Initializes a representation of 0
- */
- public XSUnsignedShort() {
- this(BigInteger.valueOf(0));
- }
-
- /**
- * Initializes a representation of the supplied unsignedShort value
- *
- * @param x
- * unsignedShort to be stored
- */
- public XSUnsignedShort(BigInteger x) {
- super(x);
- }
-
- /**
- * Retrieves the datatype's full pathname
- *
- * @return "xs:unsignedShort" which is the datatype's full pathname
- */
- public String string_type() {
- return XS_UNSIGNED_SHORT;
- }
-
- /**
- * Retrieves the datatype's name
- *
- * @return "unsignedShort" which is the datatype's name
- */
- public String type_name() {
- return "unsignedShort";
- }
-
- /**
- * Creates a new ResultSequence consisting of the extractable unsignedShort
- * in the supplied ResultSequence
- *
- * @param arg
- * The ResultSequence from which the unsignedShort is to be extracted
- * @return New ResultSequence consisting of the 'unsignedShort' supplied
- * @throws DynamicError
- */
- public ResultSequence constructor(ResultSequence arg) throws DynamicError {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg.empty())
- return rs;
-
- // the function conversion rules apply here too. Get the argument
- // and convert it's string value to a unsignedShort.
- AnyType aat = arg.first();
-
- try {
- BigInteger bigInt = new BigInteger(aat.string_value());
-
- // doing the range checking
- // min value is 0
- // max value is 65535
- BigInteger min = BigInteger.valueOf(0);
- BigInteger max = BigInteger.valueOf(65535L);
-
- if (bigInt.compareTo(min) < 0 || bigInt.compareTo(max) > 0) {
- // invalid input
- throw DynamicError.cant_cast(null);
- }
-
- rs.add(new XSUnsignedShort(bigInt));
-
- return rs;
- } catch (NumberFormatException e) {
- throw DynamicError.cant_cast(null);
- }
-
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSUntypedAtomic.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSUntypedAtomic.java
deleted file mode 100644
index f22d130..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSUntypedAtomic.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * David Carver - bug 262765 - corrected implementation of XSUntypedAtomic
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-
-/**
- * A representation of the UntypedAtomic datatype which is used to represent
- * untyped atomic nodes.
- */
-public class XSUntypedAtomic extends CtrType {
- private static final String XS_UNTYPED_ATOMIC = "xs:untypedAtomic";
- private String _value;
-
-
- public XSUntypedAtomic() {
- this(null);
- }
-
- /**
- * Initialises using the supplied String
- *
- * @param x
- * The String representation of the value of the untyped atomic
- * node
- */
- public XSUntypedAtomic(String x) {
- _value = x;
- }
-
- /**
- * Retrieves the datatype's full pathname
- *
- * @return "xs:untypedAtomic" which is the datatype's full pathname
- */
- public String string_type() {
- return XS_UNTYPED_ATOMIC;
- }
-
- /**
- * Retrieves a String representation of the value of this untyped atomic
- * node
- *
- * @return String representation of the value of this untyped atomic node
- */
- public String string_value() {
- return _value;
- }
-
- public ResultSequence constructor(ResultSequence arg) throws DynamicError {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg.empty())
- return rs;
-
- AnyAtomicType aat = (AnyAtomicType) arg.first();
-
- rs.add(new XSUntypedAtomic(aat.string_value()));
-
- return rs;
- }
-
- public String type_name() {
- return "untypedAtomic";
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSYearMonthDuration.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSYearMonthDuration.java
deleted file mode 100644
index 96dcac4..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/XSYearMonthDuration.java
+++ /dev/null
@@ -1,454 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2005, 2010 Andrea Bittau, University College London, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Andrea Bittau - initial API and implementation from the PsychoPath XPath 2.0
- * Mukul Gandhi - bug 273760 - wrong namespace for functions and data types
- * Mukul Gandhi - bug 279373 - improvements to multiply operation on xs:yearMonthDuration
- * data type.
- * David Carver - bug 282223 - implementation of xs:duration data type.
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.types;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicContext;
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.CmpEq;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.CmpGt;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.CmpLt;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.MathDiv;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.MathMinus;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.MathPlus;
-import org.eclipse.wst.xml.xpath2.processor.internal.function.MathTimes;
-
-import java.math.BigDecimal;
-
-/**
- * A representation of the YearMonthDuration datatype
- */
-public class XSYearMonthDuration extends XSDuration implements CmpEq, CmpLt,
- CmpGt, MathPlus, MathMinus, MathTimes, MathDiv {
-
-
- private static final String XS_YEAR_MONTH_DURATION = "xs:yearMonthDuration";
-
- /**
- * Initialises using the supplied parameters. If the number of months
- * supplied is more than 12, the number of years is adjusted accordingly.
- *
- * @param year
- * Number of years in this duration of time
- * @param month
- * Number of months in this duration of time
- * @param negative
- * True if this duration of time represents a backwards passage
- * through time. False otherwise
- */
- public XSYearMonthDuration(int year, int month, boolean negative) {
- super(year, month, 0, 0, 0, 0, negative);
- }
-
- /**
- * Initialises to the given number of months
- *
- * @param months
- * Number of months in the duration of time
- */
- public XSYearMonthDuration(int months) {
- this(0, Math.abs(months), months < 0);
- }
-
- /**
- * Initialises to a duration of no time (0years and 0months)
- */
- public XSYearMonthDuration() {
- this(0, 0, false);
- }
-
- /**
- * Creates a new XSYearMonthDuration by parsing the supplied String
- * represented duration of time
- *
- * @param str
- * String represented duration of time
- * @return New XSYearMonthDuration representing the duration of time
- * supplied
- */
- public static XSDuration parseYMDuration(String str) {
- boolean negative = false;
- int year = 0;
- int month = 0;
-
- int state = 0; // 0 beginning
- // 1 year
- // 2 month
- // 3 done
- // 4 expecting P
- // 5 expecting Y or M
- // 6 expecting M or end
- // 7 expecting end
-
- String digits = "";
- for (int i = 0; i < str.length(); i++) {
- char x = str.charAt(i);
-
- switch (state) {
- // beginning
- case 0:
- if (x == '-') {
- negative = true;
- state = 4;
- } else if (x == 'P')
- state = 5;
- else
- return null;
- break;
-
- case 4:
- if (x == 'P')
- state = 5;
- else
- return null;
- break;
-
- case 5:
- if ('0' <= x && x <= '9')
- digits += x;
- else if (x == 'Y') {
- if (digits.length() == 0)
- return null;
- year = Integer.parseInt(digits);
- digits = "";
- state = 6;
- } else if (x == 'M') {
- if (digits.length() == 0)
- return null;
- month = Integer.parseInt(digits);
- state = 7;
- } else
- return null;
- break;
-
- case 6:
- if ('0' <= x && x <= '9')
- digits += x;
- else if (x == 'M') {
- if (digits.length() == 0)
- return null;
- month = Integer.parseInt(digits);
- state = 7;
-
- } else
- return null;
- break;
-
- case 7:
- return null;
-
- default:
- assert false;
- return null;
-
- }
- }
-
- return new XSYearMonthDuration(year, month, negative);
- }
-
- /**
- * Retrives the datatype's name
- *
- * @return "yearMonthDuration" which is the datatype's name
- */
- public String type_name() {
- return "yearMonthDuration";
- }
-
- /**
- * Creates a new ResultSequence consisting of the extractable time duration
- * from the supplied ResultSequence
- *
- * @param arg
- * The ResultSequence from which to extract
- * @return New ResultSequence consisting of the time duration extracted
- * @throws DynamicError
- */
- public ResultSequence constructor(ResultSequence arg) throws DynamicError {
- ResultSequence rs = ResultSequenceFactory.create_new();
-
- if (arg.empty())
- return rs;
-
- AnyAtomicType aat = (AnyAtomicType) arg.first();
- if (aat instanceof NumericType || aat instanceof CalendarType ||
- aat instanceof XSBoolean || aat instanceof XSBase64Binary ||
- aat instanceof XSHexBinary || aat instanceof XSAnyURI) {
- throw DynamicError.invalidType();
- }
-
- if (!isCastable(aat)) {
- throw DynamicError.cant_cast(null);
- }
-
-
- XSDuration ymd = castYearMonthDuration(aat);
-
- if (ymd == null)
- throw DynamicError.cant_cast(null);
-
- rs.add(ymd);
-
- return rs;
- }
-
- private XSDuration castYearMonthDuration(AnyAtomicType aat) {
- if (aat instanceof XSDuration) {
- XSDuration duration = (XSDuration) aat;
- return new XSYearMonthDuration(duration.year(), duration.month(), duration.negative());
- }
-
- return parseYMDuration(aat.string_value());
- }
-
- /**
- * Retrieves whether this duration represents a backward passage through
- * time
- *
- * @return True if this duration represents a backward passage through time.
- * False otherwise
- */
- public boolean negative() {
- return _negative;
- }
-
- /**
- * Retrieves a String representation of the duration of time stored
- *
- * @return String representation of the duration of time stored
- */
- public String string_value() {
- String strval = "";
-
- if (negative())
- strval += "-";
-
- strval += "P";
-
- int years = year();
- if (years != 0)
- strval += years + "Y";
-
- int months = month();
- if (months == 0) {
- if (years == 0)
- strval += months + "M";
- } else
- strval += months + "M";
-
- return strval;
- }
-
- /**
- * Retrieves the datatype's full pathname
- *
- * @return "xs:yearMonthDuration" which is the datatype's full pathname
- */
- public String string_type() {
- return XS_YEAR_MONTH_DURATION;
- }
-
- /**
- * Retrieves the duration of time stored as the number of months within it
- *
- * @return Number of months making up this duration of time
- */
- public int monthValue() {
- int ret = year() * 12 + month();
-
- if (negative())
- ret *= -1;
-
- return ret;
- }
-
- /**
- * Equality comparison between this and the supplied duration of time.
- *
- * @param arg
- * The duration of time to compare with
- * @return True if they both represent the duration of time. False otherwise
- * @throws DynamicError
- */
- public boolean eq(AnyType arg, DynamicContext context) throws DynamicError {
- if (arg instanceof XSDayTimeDuration) {
- XSDayTimeDuration dayTimeDuration = (XSDayTimeDuration)arg;
- return (monthValue() == 0 && dayTimeDuration.value() == 0.0);
- } else if (arg instanceof XSYearMonthDuration) {
- XSYearMonthDuration yearMonthDuration = (XSYearMonthDuration)arg;
- return monthValue() == yearMonthDuration.monthValue();
- }
- XSDuration val = (XSDuration) NumericType
- .get_single_type(arg, XSDuration.class);
- return super.eq(val, context);
- }
-
- /**
- * Comparison between this and the supplied duration of time.
- *
- * @param arg
- * The duration of time to compare with
- * @return True if the supplied time represents a larger duration than that
- * stored. False otherwise
- * @throws DynamicError
- */
- public boolean lt(AnyType arg, DynamicContext context) throws DynamicError {
- XSYearMonthDuration val = (XSYearMonthDuration) NumericType
- .get_single_type(arg, XSYearMonthDuration.class);
-
- return monthValue() < val.monthValue();
- }
-
- /**
- * Comparison between this and the supplied duration of time.
- *
- * @param arg
- * The duration of time to compare with
- * @return True if the supplied time represents a smaller duration than that
- * stored. False otherwise
- * @throws DynamicError
- */
- public boolean gt(AnyType arg, DynamicContext context) throws DynamicError {
- XSYearMonthDuration val = (XSYearMonthDuration) NumericType
- .get_single_type(arg, XSYearMonthDuration.class);
-
- return monthValue() > val.monthValue();
- }
-
- /**
- * Mathematical addition between this duration stored and the supplied
- * duration of time (of type XSYearMonthDuration)
- *
- * @param arg
- * The duration of time to add
- * @return New XSYearMonthDuration representing the resulting duration
- * after the addition
- * @throws DynamicError
- */
- public ResultSequence plus(ResultSequence arg) throws DynamicError {
- XSYearMonthDuration val = (XSYearMonthDuration) NumericType
- .get_single_type(arg, XSYearMonthDuration.class);
-
- int res = monthValue() + val.monthValue();
-
- return ResultSequenceFactory.create_new(new XSYearMonthDuration(res));
- }
-
- /**
- * Mathematical subtraction between this duration stored and the supplied
- * duration of time (of type XSYearMonthDuration)
- *
- * @param arg
- * The duration of time to subtract
- * @return New XSYearMonthDuration representing the resulting duration
- * after the subtraction
- * @throws DynamicError
- */
- public ResultSequence minus(ResultSequence arg) throws DynamicError {
- XSYearMonthDuration val = (XSYearMonthDuration) NumericType
- .get_single_type(arg, XSYearMonthDuration.class);
-
- int res = monthValue() - val.monthValue();
-
- return ResultSequenceFactory.create_new(new XSYearMonthDuration(res));
- }
-
- /**
- * Mathematical multiplication between this duration stored and the supplied
- * duration of time (of type XSYearMonthDuration)
- *
- * @param arg
- * The duration of time to multiply by
- * @return New XSYearMonthDuration representing the resulting duration
- * after the multiplication
- * @throws DynamicError
- */
- public ResultSequence times(ResultSequence arg) throws DynamicError {
- ResultSequence convertedRS = arg;
- if (arg.size() == 1) {
- AnyType argValue = arg.first();
- if (argValue instanceof XSDecimal) {
- convertedRS = ResultSequenceFactory.create_new(new XSDouble(argValue.string_value()));
- }
- }
-
- XSDouble val = (XSDouble) NumericType.get_single_type(convertedRS,
- XSDouble.class);
-
- if (val.nan()) {
- throw DynamicError.nan();
- }
-
- if (val.infinite()) {
- throw DynamicError.overflowDateTime();
- }
-
- int res = (int) Math.round(monthValue() * val.double_value());
-
- return ResultSequenceFactory.create_new(new XSYearMonthDuration(res));
- }
-
- /**
- * Mathematical division between this duration stored and the supplied
- * duration of time (of type XSYearMonthDuration)
- *
- * @param arg
- * The duration of time to divide by
- * @return New XSYearMonthDuration representing the resulting duration
- * after the division
- * @throws DynamicError
- */
- public ResultSequence div(ResultSequence arg) throws DynamicError {
- if (arg.size() != 1)
- DynamicError.throw_type_error();
-
- AnyType at = arg.first();
-
- if (at instanceof XSDouble) {
- XSDouble dt = (XSDouble) at;
-
- int ret = 0;
-
- if (!dt.zero())
- ret = (int) Math.round(monthValue() / dt.double_value());
-
- return ResultSequenceFactory.create_new(new XSYearMonthDuration(
- ret));
- } else if (at instanceof XSDecimal) {
- XSDecimal dt = (XSDecimal) at;
-
- int ret = 0;
-
- if (!dt.zero())
- ret = (int) Math.round(monthValue() / dt.getValue().doubleValue());
-
- return ResultSequenceFactory.create_new(new XSYearMonthDuration(
- ret));
- } else if (at instanceof XSYearMonthDuration) {
- XSYearMonthDuration md = (XSYearMonthDuration) at;
-
- double res = (double) monthValue() / md.monthValue();
-
- return ResultSequenceFactory.create_new(new XSDecimal(new BigDecimal(res)));
- } else {
- DynamicError.throw_type_error();
- return null; // unreach
- }
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/userdefined/UserDefinedCtrLibrary.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/userdefined/UserDefinedCtrLibrary.java
deleted file mode 100644
index 9c8065f..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/userdefined/UserDefinedCtrLibrary.java
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Standards for Technology in Automotive Retail and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * David Carver (STAR) - initial API and implementation
- *******************************************************************************/
-package org.eclipse.wst.xml.xpath2.processor.internal.types.userdefined;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.function.ConstructorFL;
-
-public class UserDefinedCtrLibrary extends ConstructorFL {
-
- public UserDefinedCtrLibrary(String ns) {
- super(ns);
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/utils/CodePointIterator.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/utils/CodePointIterator.java
deleted file mode 100644
index 20cce88..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/utils/CodePointIterator.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009 Jesper Steen Moeller and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Jesper Steen Moeller - bug 282096 - initial API and implementation
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.utils;
-
-public interface CodePointIterator extends Cloneable
-{
- /**
- * Sentinel value returned from iterator when the end is reached.
- * The value is -1 which will never be a valid codepoint.
- */
- public static final int DONE = -1;
-
- /**
- * Resets the position to 0 and returns the first code point.
- * @return the first code point in the text, or DONE if the text is empty
- */
- public int first();
-
- /**
- * Sets the position to the last possible position (or 0 if the text is empty)
- * and returns the code point at that position.
- * @return the last code point in the text, or DONE if the text is empty
- * @see #getEndIndex()
- */
- public int last();
-
- /**
- * Gets the code point at the current position (as returned by getIndex()).
- * @return the code point at the current position or DONE if the current
- * position is off the end of the text.
- * @see #getIndex()
- */
- public int current();
-
- /**
- * Increments the iterator's code point index by one and returns the code point
- * at the new index. If the resulting index is at the end of the string, the
- * index is not incremented, and DONE is returned.
- * @return the code point at the new position or DONE if the new
- * position is after the text range.
- */
- public int next();
-
- /**
- * Decrements the iterator's index by one and returns the character
- * at the new index. If the current index is 0, the index
- * remains at 0 and a value of DONE is returned.
- *
- * @return the code point at the new position (or DONE if the current
- * position is 0)
- */
- public int previous();
-
- /**
- * Returns the current index (as a codepoint, not a string index).
- * @return the current index.
- */
- public int getIndex();
-
- /**
- * Create a copy of this code point iterator
- * @return A copy of this
- */
- public Object clone();
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/utils/ComparableTypePromoter.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/utils/ComparableTypePromoter.java
deleted file mode 100644
index 278ba26..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/utils/ComparableTypePromoter.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2010 Jesper Steen Moller, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Jesper Steen Moller - initial API and implementation
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.utils;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSAnyURI;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDate;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDateTime;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSString;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSTime;
-
-public class ComparableTypePromoter extends ScalarTypePromoter {
-
- protected boolean checkCombination(Class newType) {
-
- Class targetType = getTargetType();
- if (newType == XSString.class || newType == XSTime.class || targetType == XSString.class || targetType == XSTime.class) {
- return targetType == newType;
- }
- if (newType == XSDate.class && targetType == XSDateTime.class) return true; // leave alone
- if (newType == XSDateTime.class && targetType != XSDateTime.class) {
- if (targetType == XSDate.class) {
- setTargetType(XSDateTime.class);
- } else return false;
- }
-
- return super.checkCombination(newType);
- }
-
- protected Class substitute(Class typeToConsider) {
- if (typeToConsider == XSAnyURI.class || typeToConsider == XSString.class) {
- return XSString.class;
- }
- if (typeToConsider == XSDateTime.class || typeToConsider == XSDate.class || typeToConsider == XSTime.class) {
- return typeToConsider;
- }
-
- return super.substitute(typeToConsider);
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/utils/LiteralUtils.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/utils/LiteralUtils.java
deleted file mode 100644
index c90dcc7..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/utils/LiteralUtils.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2010 Jesper Steen Mller and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Jesper Steen Moller - initial API and implementation
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.utils;
-
-/**
- * String literal utilities
- *
- *
- */
-public class LiteralUtils {
-
- /**
- * Unquotes a quoted string, changing double quotes into single quotes as well.
- * Examples (string delimited by > and <):
- * >"A"< becomes >A<
- * >'B'< becomes >B<
- * >"A""B"< becomes >A"B<
- * >"A""B"< becomes >A"B<
- * >'A''''B'< becomes >A''B<
- * >"A''''B"< becomes >A''''B<
- * @param quotedString A quoted string possibly containing escaped quotes
- * @return unquoted and unescaped string
- */
- public static String unquote(String quotedString) {
- int inputLength = quotedString.length();
- char quoteChar = quotedString.charAt(0);
- if (quotedString.indexOf(quoteChar, 1) == inputLength-1) {
- // The trivial case where there's no quotes in the middle of the string.
- return quotedString.substring(1, inputLength-1);
- }
-
- StringBuffer sb = new StringBuffer();
- for (int i = 1; i < inputLength-1; ++i) {
- char ch = quotedString.charAt(i);
- sb.append(ch);
- if (ch == quoteChar) ++i; // Skip past second quote char (ensured by the lexer)
- }
- return sb.toString();
- }
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/utils/NumericTypePromoter.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/utils/NumericTypePromoter.java
deleted file mode 100644
index 39a774b..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/utils/NumericTypePromoter.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2010 Jesper Steen Moller, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Jesper Steen Moller - initial API and implementation
- * Jesper Steen Moller - bug 281028 - avg/min/max/sum work
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.utils;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDecimal;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDouble;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSFloat;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSInteger;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSUntypedAtomic;
-
-public class NumericTypePromoter extends TypePromoter {
-
- protected boolean checkCombination(Class newType) {
- // Note: Double or float will override everything
- if (newType == XSDouble.class || getTargetType() == XSDouble.class) {
- setTargetType(XSDouble.class);
- } else if (newType == XSFloat.class || getTargetType() == XSFloat.class) {
- setTargetType(XSFloat.class);
- // If we're still with integers, stick with it
- } else if (newType == XSInteger.class && getTargetType() == XSInteger.class) {
- setTargetType(XSInteger.class);
- } else {
- // Otherwise, switch to decimals
- setTargetType(XSDecimal.class);
- }
- return true;
- }
-
- public AnyAtomicType doPromote(AnyAtomicType value) throws DynamicError {
- if (getTargetType() == XSFloat.class) {
- return new XSFloat(value.string_value());
- } else if (getTargetType() == XSDouble.class) {
- return new XSDouble(value.string_value());
- } else if (getTargetType() == XSInteger.class) {
- return new XSInteger(value.string_value());
- } else if (getTargetType() == XSDecimal.class) {
- return new XSDecimal(value.string_value());
- }
- return null;
- }
-
- protected Class substitute(Class typeToConsider) {
- if (typeToConsider == XSUntypedAtomic.class) return XSDouble.class;
- if (isDerivedFrom(typeToConsider, XSFloat.class)) return XSFloat.class;
- if (isDerivedFrom(typeToConsider, XSDouble.class)) return XSDouble.class;
- if (isDerivedFrom(typeToConsider, XSInteger.class)) return XSInteger.class;
- if (isDerivedFrom(typeToConsider, XSDecimal.class)) return XSDecimal.class;
- return null;
- }
-
- private boolean isDerivedFrom(Class typeToConsider, Class superType) {
- return superType.isAssignableFrom(typeToConsider);
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/utils/ScalarTypePromoter.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/utils/ScalarTypePromoter.java
deleted file mode 100644
index 4909d30..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/utils/ScalarTypePromoter.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2010 Jesper Steen Moller, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Jesper Steen Moller - initial API and implementation
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.utils;
-
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSDayTimeDuration;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.XSYearMonthDuration;
-
-public class ScalarTypePromoter extends NumericTypePromoter {
-
- protected boolean checkCombination(Class newType) {
-
- Class targetType = getTargetType();
- if (targetType == XSDayTimeDuration.class || targetType == XSYearMonthDuration.class) {
- return targetType == newType;
- }
- return super.checkCombination(newType);
- }
-
- protected Class substitute(Class typeToConsider) {
- if (typeToConsider == XSDayTimeDuration.class || typeToConsider == XSYearMonthDuration.class) {
- return typeToConsider;
- }
-
- return super.substitute(typeToConsider);
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/utils/StringCodePointIterator.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/utils/StringCodePointIterator.java
deleted file mode 100644
index 340c51f..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/utils/StringCodePointIterator.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2010 Jesper Steen Moeller and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Jesper Steen Moeller - bug 282096 - initial API and implementation
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.utils;
-
-import com.ibm.icu.lang.UCharacter;
-
-public final class StringCodePointIterator implements CodePointIterator
-{
- private String text;
- private int end;
- // invariant: 0 <= pos <= end
- private int pos;
- private int cpPos;
-
- /**
- * Constructs an iterator with an initial index of 0.
- */
- public StringCodePointIterator(String text)
- {
- if (text == null)
- throw new NullPointerException();
-
- this.text = text;
- this.end = text.length();
- if (end > 0 && UCharacter.isHighSurrogate(text.charAt(end-1)))
- throw new IllegalArgumentException("Invalid UTF-16 sequence ending with a high surrogate");
-
- this.pos = 0;
- this.cpPos = 0;
- }
-
- /**
- * Reset this iterator to point to a new string. This package-visible
- * method is used by other java.text classes that want to avoid allocating
- * new StringCodePointIterator objects every time their setText method
- * is called.
- *
- * @param text The String to be iterated over
- * @since 1.2
- */
- public void setText(String text) {
- if (text == null)
- throw new NullPointerException();
- this.text = text;
- this.end = text.length();
- this.pos = 0;
- this.cpPos = 0;
- }
-
- /**
- * Implements CodePointIterator.first() for String.
- * @see CodePointIterator#first
- */
- public int first()
- {
- pos = 0;
- cpPos = 0;
- return current();
- }
-
- /**
- * Implements CodePointIterator.last() for String.
- * @see CodePointIterator#last
- */
- public int last()
- {
- pos = end;
- cpPos = UCharacter.codePointCount(text, 0, pos);
- return previous();
- }
-
- /**
- * Implements CodePointIterator.current() for String.
- * @see CodePointIterator#current
- */
- public int current()
- {
- if (pos < end) {
- char ch1 = text.charAt(pos);
- if (UCharacter.isHighSurrogate(ch1))
- return UCharacter.toCodePoint(ch1, text.charAt(pos+1));
-
- return ch1;
- }
- else {
- return DONE;
- }
- }
-
- /**
- * Implements CodePointIterator.next() for String.
- * @see CodePointIterator#next
- */
- public int next()
- {
- if (pos < end - 1) {
- pos++;
- if (UCharacter.isLowSurrogate(text.charAt(pos))) pos++;
- cpPos++;
- return current();
- }
- else {
- pos = end;
- return DONE;
- }
- }
-
- /**
- * Implements CodePointIterator.previous() for String.
- * @see CodePointIterator#previous
- */
- public int previous()
- {
- if (pos > 0) {
- pos--;
- if (UCharacter.isLowSurrogate(text.charAt(pos))) pos--;
- cpPos--;
- return current();
- }
- else {
- return DONE;
- }
- }
-
- /**
- * Implements CodePointIterator.getIndex() for String.
- * @see CodePointIterator#getIndex
- */
- public int getIndex()
- {
- return cpPos;
- }
-
- /**
- * Compares the equality of two StringCodePointIterator objects.
- * @param obj the StringCodePointIterator object to be compared with.
- * @return true if the given obj is the same as this
- * StringCodePointIterator object; false otherwise.
- */
- public boolean equals(Object obj)
- {
- if (this == obj)
- return true;
- if (!(obj instanceof StringCodePointIterator))
- return false;
-
- StringCodePointIterator that = (StringCodePointIterator) obj;
-
- if (hashCode() != that.hashCode())
- return false;
- if (!text.equals(that.text))
- return false;
- if (pos != that.pos || end != that.end)
- return false;
- return true;
- }
-
- /**
- * Computes a hashcode for this iterator.
- * @return A hash code
- */
- public int hashCode()
- {
- return text.hashCode() ^ pos ^ end;
- }
-
- /**
- * Creates a copy of this iterator.
- * @return A copy of this
- */
- public Object clone()
- {
- try {
- StringCodePointIterator other
- = (StringCodePointIterator) super.clone();
- return other;
- }
- catch (CloneNotSupportedException e) {
- throw new InternalError();
- }
- }
-
-}
diff --git a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/utils/TypePromoter.java b/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/utils/TypePromoter.java
deleted file mode 100644
index e42091c..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/utils/TypePromoter.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2009, 2010 Jesper Steen Moller, and others
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Jesper Steen Moller - initial API and implementation
- * Jesper Steen Moller - bug 281028 - avg/min/max/sum work
- * Mukul Gandhi - bug 280798 - PsychoPath support for JDK 1.4
- *******************************************************************************/
-
-package org.eclipse.wst.xml.xpath2.processor.internal.utils;
-
-import org.eclipse.wst.xml.xpath2.processor.DynamicError;
-import org.eclipse.wst.xml.xpath2.processor.ResultSequence;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType;
-import org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- * Generic type promoter for handling subtype substitution and type promotions for functions and operators.
- */
-public abstract class TypePromoter {
- private Class targetType = null;
-
- abstract public AnyAtomicType doPromote(AnyAtomicType value) throws DynamicError;
-
- public final AnyAtomicType promote(AnyType value) throws DynamicError {
- // This is a short cut, really
- if (value.getClass() == getTargetType()) return (AnyAtomicType)value;
-
- return doPromote(atomize(value));
- }
-
- /**
- * @param typeToConsider The
- * @return The supertype to treat it as (i.e. if a xs:nonNegativeInteger is treated as xs:number)
- */
- abstract protected Class substitute(Class typeToConsider);
-
- abstract protected boolean checkCombination(Class newType);
-
- public void considerType(Class typeToConsider) throws DynamicError {
- Class baseType = substitute(typeToConsider);
-
- if (baseType == null) {
- throw DynamicError.argument_type_error(typeToConsider);
- }
-
- if (targetType == null) {
- targetType = baseType;
- } else {
- if (! checkCombination(baseType)) {
- throw DynamicError.argument_type_error(typeToConsider);
- }
- }
- }
-
- public void considerTypes(Collection typesToConsider) throws DynamicError {
- for (Iterator iter = typesToConsider.iterator(); iter.hasNext();) {
- considerType((Class)iter.next());
- }
- }
-
- public void considerSequence(ResultSequence sequenceToConsider) throws DynamicError {
- for (int i = 0; i < sequenceToConsider.size(); ++i) {
- AnyType item = sequenceToConsider.get(i);
- considerValue(item);
- }
- }
-
- public Class getTargetType() {
- return targetType;
- }
-
- protected void setTargetType(Class class1) {
- this.targetType = class1;
- }
-
- public AnyAtomicType atomize(AnyType at) {
- if (at instanceof NodeType) {
- return (AnyAtomicType)((NodeType)at).typed_value().first();
- }
- else {
- return (AnyAtomicType)at;
- }
- }
-
- public void considerValue(AnyType at) throws DynamicError {
- considerType(atomize(at).getClass());
- }
-
-
-} \ No newline at end of file
diff --git a/bundles/org.eclipse.wst.xml.xpath2/.project b/bundles/org.eclipse.wst.xml.xpath2/.project
deleted file mode 100644
index 7d15555..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2/.project
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.wst.xml.xpath2</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- </natures>
-</projectDescription>
diff --git a/bundles/org.eclipse.wst.xml.xpath2/META-INF/MANIFEST.MF b/bundles/org.eclipse.wst.xml.xpath2/META-INF/MANIFEST.MF
deleted file mode 100644
index 4d18f26..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,7 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %Bundle-Name.0
-Bundle-SymbolicName: org.eclipse.wst.xml.xpath2
-Bundle-Version: 1.1.0.qualifier
-Bundle-Vendor: %Bundle-Vendor.0
-Bundle-Localization: plugin
diff --git a/bundles/org.eclipse.wst.xml.xpath2/about.html b/bundles/org.eclipse.wst.xml.xpath2/about.html
deleted file mode 100644
index 2199df3..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>June, 2008</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in
-("Content"). Unless otherwise indicated below, the Content is provided to you
-under the terms and conditions of the Eclipse Public License Version 1.0
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>.
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the
-Content is being redistributed by another party ("Redistributor") and different
-terms and conditions may apply to your use of any object code in the Content.
-Check the Redistributors license that was provided with the Content. If no such
-license exists, contact the Redistributor. Unless otherwise indicated below, the
-terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/bundles/org.eclipse.wst.xml.xpath2/about.ini b/bundles/org.eclipse.wst.xml.xpath2/about.ini
deleted file mode 100644
index 3090c89..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2/about.ini
+++ /dev/null
@@ -1,11 +0,0 @@
-# about.ini
-# contains information about a feature
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# "%key" are externalized strings defined in about.properties
-# This file does not need to be translated.
-
-# Property "aboutText" contains blurb for "About" dialog (translated)
-aboutText=%blurb
-
-# Property "featureImage" contains path to feature image (32x32)
-featureImage=icons/WTP_icon_x32_v2.png
diff --git a/bundles/org.eclipse.wst.xml.xpath2/about.mappings b/bundles/org.eclipse.wst.xml.xpath2/about.mappings
deleted file mode 100644
index a28390a..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2/about.mappings
+++ /dev/null
@@ -1,6 +0,0 @@
-# about.mappings
-# contains fill-ins for about.properties
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# This file does not need to be translated.
-
-0=@build@
diff --git a/bundles/org.eclipse.wst.xml.xpath2/about.properties b/bundles/org.eclipse.wst.xml.xpath2/about.properties
deleted file mode 100644
index 15f32ab..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2/about.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-# about.properties
-# contains externalized strings for about.ini
-# java.io.Properties file (ISO 8859-1 with "\" escapes)
-# fill-ins are supplied by about.mappings
-# This file should be translated.
-#
-# Do not translate any values surrounded by {}
-
-blurb=Eclipse XSL Developer Tools\n\
-\n\
-Version: {featureVersion}\n\
-Build id: {0}\n\
-\n\
-(c) Copyright\n\
- Doug Satchwell (Chase Technology Ltd),\n\
- David Carver (Standards for Technology in Automotive Retail)\n\
- and others 2008. All rights reserved.\n\
-\n\
-Visit http://www.eclipse.org/webtools
-
diff --git a/bundles/org.eclipse.wst.xml.xpath2/build.properties b/bundles/org.eclipse.wst.xml.xpath2/build.properties
deleted file mode 100644
index 2f68529..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-bin.includes = META-INF/,\
- about.html,\
- about.ini,\
- about.mappings,\
- about.properties,\
- icons/,\
- plugin.properties
diff --git a/bundles/org.eclipse.wst.xml.xpath2/icons/WTP_icon_x32_v2.png b/bundles/org.eclipse.wst.xml.xpath2/icons/WTP_icon_x32_v2.png
deleted file mode 100644
index 6f09c2a..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2/icons/WTP_icon_x32_v2.png
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.wst.xml.xpath2/plugin.properties b/bundles/org.eclipse.wst.xml.xpath2/plugin.properties
deleted file mode 100644
index 748e830..0000000
--- a/bundles/org.eclipse.wst.xml.xpath2/plugin.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-#Properties file for org.eclipse.wst.xsl
-Bundle-Vendor.0 = Eclipse Web Tools Platform
-Bundle-Name.0 = Eclipse XPath 2 Developers Tools \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/.classpath b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/.classpath
deleted file mode 100644
index fd545ef..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/.classpath
+++ /dev/null
@@ -1,6 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.4"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/.cvsignore b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/.cvsignore
deleted file mode 100644
index a6535f3..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-test.xml
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/.project b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/.project
deleted file mode 100644
index 8e1061b..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/.project
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.wst.xml.xpath2.processor.doc.user</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.wst.validation.validationbuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- </natures>
-</projectDescription>
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/.settings/org.eclipse.jdt.core.prefs b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 2b7f98f..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,7 +0,0 @@
-#Sat Aug 15 02:24:36 GMT 2009
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
-org.eclipse.jdt.core.compiler.compliance=1.4
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning
-org.eclipse.jdt.core.compiler.source=1.3
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/META-INF/MANIFEST.MF b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/META-INF/MANIFEST.MF
deleted file mode 100644
index c6f3063..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,9 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.wst.xml.xpath2.processor.doc.user;singleton:=true
-Bundle-Version: 1.0.0.qualifier
-Bundle-Vendor: %vendorName
-Require-Bundle: org.eclipse.core.runtime
-Bundle-RequiredExecutionEnvironment: J2SE-1.4
-Bundle-Localization: plugin
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/about.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/about.html
deleted file mode 100644
index ed30003..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>August, 2008</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in
-("Content"). Unless otherwise indicated below, the Content is provided to you
-under the terms and conditions of the Eclipse Public License Version 1.0
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>.
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the
-Content is being redistributed by another party ("Redistributor") and different
-terms and conditions may apply to your use of any object code in the Content.
-Check the Redistributors license that was provided with the Content. If no such
-license exists, contact the Redistributor. Unless otherwise indicated below, the
-terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/build.properties b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/build.properties
deleted file mode 100644
index 4d8e738..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/build.properties
+++ /dev/null
@@ -1,13 +0,0 @@
-bin.includes = plugin.xml,\
- META-INF/,\
- .,\
- html/,\
- toc.xml,\
- about.html,\
- plugin.properties
-src.includes = buildDoc.xml,\
- docbook/,\
- html/,\
- toc.xml,\
- mediawiki/,\
- about.html
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/buildDoc.xml b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/buildDoc.xml
deleted file mode 100644
index a249fe0..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/buildDoc.xml
+++ /dev/null
@@ -1,92 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ======================================================================
- Aug 15, 2009 2:27:05 AM
-
- XPath 2.0 Processor Documentation Generator
- This will take a snapshot of the files on the wiki, that are in wiki text and generate the
- docbook documents
-
- dcarver
- ====================================================================== -->
-<project name="XPath 2.0 Processor Documentation Generator" default="getwikitext">
- <description>
- This will take a snapshot of the files on the wiki, that are in wiki text and generate the
- </description>
-
- <property name="current-loc" location="." />
- <property name="workspace" location=".." />
- <property name="htmldir" value="${current-loc}/html" />
- <property name="docbookdir" value="${workspace}/DocBookXSL/eclipse" />
- <property name="docbooksource" value="${current-loc}/docbook"/>
- <property name="xalan" value="org.apache.xalan.processor.TransformerFactoryImpl" />
-
- <!-- XSLT Chunking Properties -->
- <property name="base.dir" value="${htmldir}"/>
-
- <!-- =================================
- target: default
- ================================= -->
- <target name="getwikitext">
- <get dest="mediawiki/usermanual/usermanual.mediawiki" src="http://wiki.eclipse.org/index.php?title=PsychoPathXPathProcessor/UserManual&amp;action=raw" />
- </target>
-
- <!-- - - - - - - - - - - - - - - - - -
- target: depends
- - - - - - - - - - - - - - - - - - -->
- <target name="convert" depends="getwikitext">
- <property name="wikitext.standalone" location="lib/plugins" />
- <!-- path to wikitext standalone package -->
-
- <path id="wikitext.classpath">
- <fileset dir="${wikitext.standalone}">
- <include name="org.eclipse.mylyn.wikitext.*core*.jar" />
- </fileset>
- </path>
-
- <taskdef classpathref="wikitext.classpath" resource="org/eclipse/mylyn/wikitext/core/util/anttask/wikitext-tasks.properties" />
-
- <wikitext-to-docbook markupLanguage="MediaWiki">
- <fileset dir="mediawiki">
- <include name="**/*.mediawiki" />
- </fileset>
- </wikitext-to-docbook>
-
-<!-- <wikitext-to-eclipse-help markupLanguage="MediaWiki"
- multipleOutputFiles="true"
- navigationImages="true"
- helpPrefix="html">
- <fileset dir="${basedir}">
- <include name="mediawiki/**/*.mediawiki"/>
- </fileset>
- <stylesheet url="styles/help.css"/>
- <stylesheet url="styles/main.css"/>
- </wikitext-to-eclipse-help>
--->
-
- </target>
-
- <target name="create-doc">
-
- <xslt force="true" style="${docbookdir}/eclipse33.xsl" in="${docbooksource}/usermanual.xml" out="test.xml">
- <factory name="${xalan}" />
- <param name="manifest" expression="1"/>
- <param name="base.dir" expression="${htmldir}/"/>
- <param name="create.plugin.xml" expression="0"/>
- <param name="chunker.output.indent" expression="yes"/>
- <param name="navig.showtitles" expression="0"/>
- <param name="suppress.navigation" expression="1"/>
- <param name="generate.toc" expression="book toc,title
-chapter toc,title
-section title" />
- <param name="chapter.autolabel" expression="0"/>
- <param name="section.autolabel" expression="0"/>
- <param name="html.stylesheet" expression="book.css ../book.css"/>
- <param name="chunk.section.depth" expression="3"/>
- <param name="toc.section.depth" expression="5"/>
- <param name="toc.list.type" expression="ul"/>
- </xslt>
-
- <replace file="${current-loc}/toc.xml" token="${current-loc}/" value=""/>
- </target>
-
-</project>
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/docbook/usermanual.xml b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/docbook/usermanual.xml
deleted file mode 100644
index 1caf578..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/docbook/usermanual.xml
+++ /dev/null
@@ -1,1292 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
-"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">
-<book>
- <title>XPath 2.0 Processor User Manual</title>
-
- <chapter id="Introduction">
- <title>Introduction</title>
-
- <para>What is PsychohPath? PsychoPath is a XPath 2.0 XML Schema Aware
- processor. It is nearly fully compliant to the XPath 2.0 test suite. It is
- a library that does not require eclipse to be used. Known adopters of
- PsychoPath include the Xerces-J project for XML Schemas 1.1 assertion
- support.</para>
-
- <para>PsychoPath is the only known open-source java XPath 2.0 processor
- that is fully schema aware. SAXON HE only supports the core functionality.
- XML Schema awarness provides tighter static checking, and can be used to
- help determine if certain operations can or should occur on an XML node.
- For a detailed description of the PsychoPath's design please see the
- <ulink url="/PsychoPathXPathProcessor/Design">design</ulink>
- document.</para>
-
- <section id="Getting_PsychoPath">
- <title>Getting PsychoPath</title>
-
- <para>Currently there is no standalone build of PsychoPath. However, you
- can download the <ulink
- url="http://download.eclipse.org/webtools/downloads/drops/R3.1/R-3.1-20090616035105/">WTP
- WST 3.1</ulink> zip file, and use the
- org.eclipse.wst.xml.xpath2.processor.jar file. This jar has no
- dependencies on eclipse, and will work as a standard jar file. If you
- are using an OSGI container, then this is treated as a standard OSGI
- bundle.</para>
-
- <tip>
- <title>PsychoPath 1.1M1</title>
-
- <para>PsychoPath 1.1M1 is also available to <ulink
- url="http://download.eclipse.org/webtools/downloads/drops/R3.2/S-3.2M1b-20090814143519/">download</ulink>.
- 1.1M1 passes 96% of the XPath 2.0 test suite.</para>
- </tip>
-
- <para>Additional dependencies you currently need are:</para>
-
- <itemizedlist>
- <listitem>
- <para>IBM ICU 4.0 or greater</para>
- </listitem>
-
- <listitem>
- <para>Xerces 2.8.0 or greater</para>
- </listitem>
-
- <listitem>
- <para>JavaCup 0.10 or greater.</para>
- </listitem>
- </itemizedlist>
-
- <para>If using eclipse, these are all available from the Orbit project.
- Others can find the necessary jars from their respective project
- pages.</para>
- </section>
- </chapter>
-
- <chapter id="How_to_feed_Psychopath_XPath_expressions">
- <title>Using PsychoPath XPath 2.0 API</title>
-
- <para>Since PsychoPath has been implemented as an external library and not
- as a complete program, in order to use it, it needs to be accessed from
- inside another program. To process XPath 2.0 expressions using PsychoPath
- from another programs one needs to go through the following
- process:</para>
-
- <orderedlist>
- <listitem>
- <para>Load the XML document</para>
- </listitem>
-
- <listitem>
- <para>Optionally validate the XML document</para>
- </listitem>
-
- <listitem>
- <para>Initialize static and dynamic context in respect to the document
- root</para>
- </listitem>
-
- <listitem>
- <para>Parse the XPath 2.0 expression</para>
- </listitem>
-
- <listitem>
- <para>Statically verify the XPath 2.0 expression</para>
- </listitem>
-
- <listitem>
- <para>Evaluate the XPath 2.0 expression in respect to the XML
- document</para>
- </listitem>
- </orderedlist>
-
- <para>To give a better idea of how this process actually works, we’ll go
- through an example of processing and evaluating the string expression
- “Hello World!”. In this example the XML document that we load is called
- “XPexample.xml”.</para>
-
- <section id="Non-Schema_Aware">
- <title>Non-Schema Aware</title>
-
- <programlisting>/**
- * First load and optionally validate the XML document
-*/
-// Create an InputStream from the XML document
-InputStream is = new FileInputStream(“XPexample.xml”);
-
-// Initializing the Xerces DOM loader.
-DOMLoader loader = new XercesLoader();
-
-// Optionally set flag to validate XML document loader.setvalidating(validate);
-// Loads the XML document and stores the DOM root
-Document doc = loader.load(is);
-
-/**
- * Dynamic contexts must be initialised to defaults
- * dependent on the XML Schema.
-*/
-
-// Extracting the schema from DOM root of Xpexpression.xml.
-ElementPSVI rootPSVI = (ElementPSVI)doc.getDocumentElement();
-XSModel schema = rootPSVI.getSchemaInformation();
-
-// Initialising the DynamicContext.
-DynamicContext dc = new DefaultDynamicContext(schema, doc);
-
-// Register the namespaces of the XPath 2.0 predefined datatypes
-dc.addnamespace(“xs”,”[http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema]”);
-
-// Register the XPath 2.0 standard functions
-dc.addfunctionlibrary(new FnFunctionLibrary());
-dc.addfunctionlibrary(new XSCtrLibrary());
-
-/**
- * Parsing the XPath 2.0 expression into an AST representation
- */
-// Initialises PsychoPath’s supplied parser.
-XPathParser xpp = new JflexCupParser();
-
-// Parses the XPath expression.
-XPath xp = xpp.parse(xpath);
-/**
- * Static check the AST to verift structural validity of
- * XPath 2.0 expression
- */
-
-// Initializing StaticChecker.
-StaticChecker namecheck = new StaticNameResolver(sc);
-
-// Static Checking the Xpath expression ’Hello World!’ namecheck.check(xp);
-/**
- * Evaluate the XPath 2.0 expression
- */
-
-// Initializing the evaluator with DynamicContext and the name
-// of the XML document XPexample.xml as parameters.
-Evaluator eval = new DefaultEvaluator(dc, doc);
-
-// Evaluates the XPath 2.0 expression, storing the result
-// in the ResultSequence
-ResultSequence rs = eval.evaluate(xp);
-</programlisting>
- </section>
-
- <section id="Schema_Aware">
- <title>Schema Aware</title>
-
- <para></para>
-
- <programlisting>/**
- * First load and optionally validate the XML document
-*/
-
- SchemaFactory schemaFactory = new XMLSchemaFactory();
- URL schemaURL = new File("XPexample.xsd").toURL();
- Schema jaxpschema = schemaFactory.newSchema(schemaURL);
-
-// Create an InputStream from the XML document
-InputStream is = new FileInputStream(“XPexample.xml”);
-
-// Initializing the Xerces DOM loader.
-DOMLoader loader = new XercesLoader(jaxpschema);
-
-// Optionally set flag to validate XML document loader.setvalidating(validate);
-// Loads the XML document and stores the DOM root
-Document doc = loader.load(is);
-
-/**
- * Dynamic contexts must be initialised to defaults
- * dependent on the XML Schema.
-*/
-
-// Initialising the DynamicContext.
-DynamicContext dc = new DefaultDynamicContext(jaxpschema, doc);
-
-// Register the namespaces of the XPath 2.0 predefined datatypes
-dc.addnamespace(“xs”,”[http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema]”);
-
-// Register the XPath 2.0 standard functions
-dc.addfunctionlibrary(new FnFunctionLibrary());
-dc.addfunctionlibrary(new XSCtrLibrary());
-
-/**
- * Parsing the XPath 2.0 expression into an AST representation
- */
-// Initialises PsychoPath’s supplied parser.
-XPathParser xpp = new JflexCupParser();
-
-// Parses the XPath expression.
-XPath xp = xpp.parse(xpath);
-
-/**
- * Static check the AST to verift structural validity of
- * XPath 2.0 expression
- */
-
-// Initilising StaticChecker.
-StaticChecker namecheck = new StaticNameResolver(sc);
-
-// Static Checking the Xpath expression ’Hello World!’ namecheck.check(xp);
-/**
- * Evaluate the XPath 2.0 expression
- */
-
-// Initialising the evaluator with DynamicContext and the name
-// of the XML document XPexample.xml as parameters.
-Evaluator eval = new DefaultEvaluator(dc, doc);
-
-// Evaluates the XPath 2.0 expression, storing the result
-// in the ResultSequence
-ResultSequence rs = eval.evaluate(xp);
-</programlisting>
-
- <para>XPath 2.0 defines everything to be a sequence of items, including
- the arguments to expressions and the result of operations. Thus, the
- overall result of an XPath expression evaluation is also a sequence of
- items. PsychoPath uses the class ResultSequence as a Collections wrapper
- to store these sequences and therefore, the result of an evaluation is
- of this type also. The ResultSequence consists of zero or more items; an
- item may be a node or a simple-value. “Hello World!” is an example of a
- single value with length 1. A general sequence could be written as (“a”,
- “s”, “d”, “f”).</para>
-
- <para>Extraction of certain items from the ResultSequence class is
- described below, with details of the different operations that one might
- apply on the ResultSequence. Consider that ’rs’ is the ResultSequence,
- then:</para>
-
- <para></para>
-
- <programlisting>// Will return the number of elements in the sequence, in this
-// case of ’Hello World!’ expression size = 1.
-rs.size();
-
-// Will return the n’th element in the sequence, in this case of
-// ’Hello World!’, if n = 1, then it will return
-// XSString of “Hello World!”, but if n = 2, it will return
-// Empty Result.
-rs.get(n);
-
-//Will return true if the sequence is empty.
-rs.empty();
-
-// Will return the first element of the sequence,
-// in this example it will return XSString of “Hello World!”
-rs.first()
-</programlisting>
-
- <para>However, all the items extracted will be of the type’s base class
- AnyType and need to be casted into its actual subtype.</para>
-
- <para>Certain operations always return a particular type and using this
- knowledge, the extracted item can be immediately casted. In our example
- “Hello World!” returns a string (easily known as it is inside the quotes
- ’ ’ ), so this can safely be casted as such:</para>
-
- <para><programlisting>XSString xsstring = XSString)(rs.first());</programlisting>The
- actual result can now be extracted from this XSString in the following
- manner: <programlisting>String str = xsstring.value();</programlisting></para>
-
- <para>The details of how to cast extracted items from AnyType into their
- actual subtypes with examples is in the next section on How to use each
- production in the grammar.</para>
-
- <para>However, if the expected return type is unknown or multiple types
- are possible, the types hierarchy can be traversed in a breadth first
- manner making use of the Java instanceof operator to ascertain the
- actual type. </para>
- </section>
-
- <section id="How_to_use_the_XPath_2.0_grammar_with_PsychoPath">
- <title>How to use the XPath 2.0 grammar with PsychoPath</title>
-
- <para>In this section we will try to give you an overview of the XPath
- 2.0 grammar in general and how each production in the grammar should be
- used with PsychoPath. For the formal specifications, see the W3C
- web-site for XPath 2.0 specification <ulink
- url="http://www.w3.org/TR/xpath20">http://www.w3.org/TR/xpath20</ulink>.</para>
-
- <section id="Constants">
- <title>Constants</title>
-
- <para>String literals are written as “Hello” or ‘Hello’. In each case
- the opposite kind of quotation mark can be used within the string: ‘He
- said “Hello” ’ or “London is a big city”. To feed PsychoPath, “ ‘Hello
- World!’ ”or “ “Hello World!” ” can be used to feed it with strings.
- Remember that the ResultSequence returns AnyType so since a string is
- being expected as the result, first it has to be casted in the code
- like this: <programlisting>XSString xsstring = (XSString)(rs.first());</programlisting>
- Numeric constants follow the Java rules for decimal literals: for
- example, 4 or 4.67; a negative number can be written as -3.05. The
- numeric literal is taken as a double precision floating point number
- if it uses scientific notation (e.g. 1.0e7), as a fixed point decimal
- if it includes a decimal point, or as an integer otherwise. When
- extracting number literals from the ResultSequence, possible types to
- be returned include <emphasis role="italic">XSDecima''l (e.g. :
- xs:decimal: 4.67),''XSInteger ''(e.g. : xs:integer: 4) or
- ''XSDouble</emphasis> (e.g. : xs:double 1e0). All of which need to be
- cast in the same manner as stated before: from AnyType to their
- corresponding types.</para>
-
- <para>There are no boolean constants as such: <emphasis
- role="italic">true, false</emphasis> instead the function calls
- <emphasis role="bold">true()</emphasis> and <emphasis
- role="bold">false()</emphasis> are used.</para>
-
- <para>Constants of other data types can be written using constructors.
- These look like function calls but require a string literal as their
- argument. For example, <emphasis
- role="bold">xs:float(“10.7”)</emphasis> produces a single-precision
- floating point number.</para>
- </section>
-
- <section id="Path_expressions">
- <title>Path expressions</title>
-
- <para>A path expression is a sequence of steps separated by the
- <emphasis role="bold">/''' or '''//</emphasis> operator. For example,
- <emphasis role="bold">../@desc</emphasis> selects the desc attribute
- of the parent of the context node.</para>
-
- <para>In XPath 2.0, path expressions have been generalized so that any
- expression can be used as an operand of <emphasis
- role="bold">/</emphasis>, (both on the left and the right), as long as
- its value is a sequence of nodes. For example, it is possible to use a
- union expression (in parentheses) or a call to the id()
- function.</para>
-
- <para>In practice, it only makes sense to use expressions on the right
- of <emphasis role="bold">"/"</emphasis> if they depend on the context
- item. It is legal to write $x/$y provided both $x and $y are sequences
- of nodes, but the result is exactly the same as writing <emphasis
- role="bold"> <emphasis role="italic">./$y</emphasis>
- </emphasis>.</para>
-
- <para>Note that the expressions <emphasis role="bold">./$X</emphasis>
- or <emphasis role="bold">$X/.</emphasis> can be used to remove
- duplicates from <emphasis role="bold">$X</emphasis> and sort the
- results into document order.</para>
-
- <para>The operator <emphasis role="bold">//</emphasis> is an
- abbreviation for <emphasis
- role="bold">/descendant-or-self::node()</emphasis>. An expression of
- the form <emphasis role="bold">/E</emphasis> is shorthand for
- <emphasis role="bold">root(.)/E</emphasis>, and the expression
- <emphasis role="bold">/''' on its own is shorthand for
- '''root(.)</emphasis>.</para>
- </section>
-
- <section id="Axis_steps">
- <title>Axis steps</title>
-
- <para>The basic primitive for accessing a source document is the axis
- step. Axis steps may be combined into path expressions using the path
- operators "/" and "//", and they may be filtered using filter
- expressions in the same way as the result of any other
- expression.</para>
-
- <para>An axis step has the basic form axis::node-test, and selects
- nodes on a given axis that satisfy the node-test. The axes available
- are:</para>
-
- <orderedlist>
- <listitem>
- <para>element: age</para>
- </listitem>
-
- <listitem>
- <para>element: age</para>
- </listitem>
- </orderedlist>
-
- <para>The rest of the axes act in the same manner.</para>
- </section>
-
- <section id="Set_difference.2C_intersection_and_Union">
- <title>Set difference, intersection and Union</title>
-
- <para>The expression E1 except E2 selects all nodes that are in E1
- unless they are also in E2. Both expressions must return sequences of
- nodes. The results are returned in document order. For example, @*
- except @note returns all attributes except the note attribute. The
- expression E1 intersect E2 selects all nodes that are in both E1 and
- E2. Both expressions must return sequences of nodes. The results are
- returned in document order. The expression E1 union E2 selects all
- nodes that are in either E1 or E2 or both. Both expressions must
- return sequences of nodes. The results are returned in document order.
- A complete example of the above expression would be as follows.
- Consider an XML document which looks like this:</para>
-
- <programlisting>&lt;nodes&gt;
- &lt;a&gt;
- &lt;connecteda&gt;A&lt;/connecteda&gt;
- &lt;connecteda&gt;B&lt;/connecteda&gt;
- &lt;connecteda&gt;C&lt;/connecteda&gt;
- &lt;/a&gt;
- &lt;b&gt;
- &lt;connectedb&gt;B&lt;/connectedb&gt;
- &lt;connectedb&gt;C&lt;/connectedb&gt;
- &lt;connectedb&gt;D&lt;/connectedb&gt;
- &lt;/b&gt;
-&lt;/nodes&gt;
-</programlisting>
-
- <para>Then an example of each of the expressions would be:</para>
-
- <para><programlisting>data(/a/*) union data(/b/*)</programlisting></para>
-
- <para> <emphasis role="bold">result:</emphasis></para>
-
- <orderedlist>
- <listitem>
- <para>xs:string: A</para>
- </listitem>
-
- <listitem>
- <para>xs:string: B</para>
- </listitem>
-
- <listitem>
- <para>xs:string: C</para>
- </listitem>
-
- <listitem>
- <para>xs:string: D</para>
- </listitem>
- </orderedlist>
-
- <para><programlisting>data(/a/*) intersect data(/b/*)</programlisting></para>
-
- <para> <emphasis role="bold">result:</emphasis></para>
-
- <orderedlist>
- <listitem>
- <para>xs:string: B</para>
- </listitem>
-
- <listitem>
- <para>xs:string: C</para>
- </listitem>
- </orderedlist>
-
- <para><programlisting>data(/a/*) except data(/b/*)</programlisting></para>
-
- <para> <emphasis role="bold">result:</emphasis></para>
-
- <orderedlist>
- <listitem>
- <para>xs:string: D</para>
- </listitem>
- </orderedlist>
- </section>
-
- <section id="Arithmetic_Expressions">
- <title>Arithmetic Expressions</title>
-
- <section id="Unary">
- <title>Unary</title>
-
- <para>minus and plus: The unary minus operator changes the sign of a
- number. For example -1 is minus one, and -1e0 is the double value
- negative -1.</para>
- </section>
-
- <section id="Multiplication_and_Division:">
- <title>Multiplication and Division:</title>
-
- <para>The operator * multiplies two numbers. If the operands are of
- different types, XPath 2.0 specifications say that one of them is
- promoted to the type of the other. The result is the same type as
- the operands after promotion.</para>
-
- <para>The operator div divides two numbers. Dividing two integers
- produces a double; in other cases the result is the same type as the
- operands.</para>
-
- <para>The operator idiv performs integer division. For example, the
- result of 10 idiv 3 is 3.</para>
-
- <para>The mod operator returns the modulus (or remainder) after
- division.</para>
-
- <para>The operators * and div may also be used to multiply or divide
- a range by a number.</para>
-
- <para>For example, <emphasis role="italic">(1 idiv 1 to
- 3)</emphasis> returns the result: <emphasis
- role="italic">xs:integer: 1, xs:integer: 2, xs:integer:
- 3</emphasis></para>
- </section>
-
- <section id="Addition_and_Subtraction:">
- <title>Addition and Subtraction:</title>
-
- <para>The operators <emphasis role="bold">+</emphasis> and <emphasis
- role="italic">'-'</emphasis> perform addition and subtraction of
- numbers, in the usual way. Once again, if the operands are of
- different types, XPath 2.0 specifications say one of them is
- promoted but numeric type promotion is currently unsupported by
- PsychoPath. The result is of the same type as the operands.</para>
-
- <para>Examples of above would be:</para>
-
- <para><programlisting> -(5 + 7)</programlisting></para>
-
- <para> <emphasis role="bold">result:</emphasis></para>
-
- <orderedlist>
- <listitem>
- <para>xs:integer: -12</para>
- </listitem>
- </orderedlist>
-
- <para><programlisting>-xs:float(’1.23’)</programlisting></para>
-
- <para> <emphasis role="bold">result:</emphasis></para>
-
- <orderedlist>
- <listitem>
- <para>xs:float: -1.23</para>
- </listitem>
- </orderedlist>
-
- <para><programlisting>-xs:double(’1.23’)</programlisting></para>
-
- <para> <emphasis role="bold">result:</emphasis></para>
-
- <orderedlist>
- <listitem>
- <para>xs:double: -1.23</para>
- </listitem>
- </orderedlist>
-
- <para><programlisting>(+5 - +7)</programlisting></para>
-
- <para> <emphasis role="bold">result:</emphasis></para>
-
- <orderedlist>
- <listitem>
- <para>xs:integer: -2</para>
- </listitem>
- </orderedlist>
-
- <para><programlisting>(1 to 5 div 0 )</programlisting></para>
-
- <para> <emphasis role="bold">result:</emphasis></para>
-
- <itemizedlist>
- <listitem>
- <para>FAIL (division by zero!)</para>
- </listitem>
- </itemizedlist>
-
- <para><programlisting>5*6*10*5*96 div 20 div 3 div 1</programlisting></para>
-
- <para> <emphasis role="bold">result:</emphasis></para>
-
- <orderedlist>
- <listitem>
- <para>xs:decimal: 2400.0</para>
- </listitem>
- </orderedlist>
-
- <para><programlisting>31 mod 15</programlisting></para>
-
- <para> <emphasis role="bold">result:</emphasis></para>
-
- <orderedlist>
- <listitem>
- <para>xs:integer: 1</para>
- </listitem>
- </orderedlist>
- </section>
- </section>
-
- <section id="Range_expressions">
- <title>Range expressions</title>
-
- <para>The expression E1 to E2 returns a sequence of integers. For
- example, 1 to 5 returns the sequence 1, 2, 3, 4, 5. This is useful in
- for expressions, for example the first five nodes of a node sequence
- can be processed by writing for $i in 1 to 5 return (//x) <ulink
- url="$i">$i</ulink>. Another example:</para>
-
- <para><programlisting>(1+1 to 10)</programlisting></para>
-
- <para> <emphasis role="bold">result:</emphasis></para>
-
- <orderedlist>
- <listitem>
- <para>xs:integer: 2</para>
- </listitem>
-
- <listitem>
- <para>xs:integer: 3</para>
- </listitem>
-
- <listitem>
- <para>xs:integer: 4</para>
- </listitem>
-
- <listitem>
- <para>xs:integer: 5</para>
- </listitem>
-
- <listitem>
- <para>xs:integer: 6</para>
- </listitem>
-
- <listitem>
- <para>xs:integer: 7</para>
- </listitem>
-
- <listitem>
- <para>xs:integer: 8</para>
- </listitem>
-
- <listitem>
- <para>xs:integer: 9</para>
- </listitem>
-
- <listitem>
- <para>xs:integer: 10</para>
- </listitem>
- </orderedlist>
- </section>
-
- <section id="Comparisons">
- <title>Comparisons</title>
-
- <para>The simplest comparison operators are <emphasis
- role="bold">eq</emphasis>, <emphasis role="bold">ne</emphasis>,
- <emphasis role="bold">lt</emphasis>, <emphasis
- role="bold">le</emphasis>, <emphasis role="bold">gt</emphasis>,
- <emphasis role="bold">ge</emphasis>. These compare two atomic values
- of the same type, for example two integers, two dates, or two strings.
- (Collation hasn’t been implemented in current version of PsychoPath).
- If the operands are not atomic values, an error is raised.</para>
-
- <para>The operators <emphasis role="bold">=''', </emphasis>!='
- <emphasis role="italic">, '</emphasis>&lt;=' <emphasis role="italic">,
- '</emphasis>&gt; <emphasis role="bold">, '''&lt;</emphasis>, and
- <emphasis role="bold">&gt;=</emphasis> can compare arbitrary
- sequences. The result is true if any pair of items from the two
- sequences has the specified relationship, for example <emphasis
- role="italic">$A = $B</emphasis> is true if there is an item in
- <emphasis role="italic">$A</emphasis> that is equal to some item in
- <emphasis role="italic">$B</emphasis>.</para>
-
- <para>The operators <emphasis role="bold">is</emphasis> and <emphasis
- role="bold">isnot</emphasis> test whether the operands represent the
- same (identical) node. For example, <emphasis role="italic">title
- <ulink url="1">1</ulink> is * <ulink url="@note">@note</ulink> <ulink
- url="1">1</ulink> </emphasis> is true if the first title child is the
- first child element that has a <emphasis
- role="italic">@note</emphasis> attribute. If either operand is an
- empty sequence the result is an empty sequence (which will usually be
- treated as false).</para>
-
- <para>The operators <emphasis role="bold">&lt;&lt;</emphasis> and
- <emphasis role="bold">&gt;&gt;</emphasis> test whether one node
- precedes or follows another in document order. Consider this XML
- document:</para>
-
- <programlisting>&lt;book&gt;
- &lt;title&gt;Being a Dog Is a Full-Time Job&lt;/title&gt;
- &lt;author&gt;Charles M. Schulz&lt;/author&gt;
- &lt;character&gt;
- &lt;name&gt;Snoopy&lt;/name&gt;
- &lt;friend-of&gt;Peppermint Patty&lt;/friend-of&gt;
- &lt;since&gt;1950-10-04&lt;/since&gt;
- &lt;age&gt;2&lt;/age&gt;
- &lt;qualification&gt;extroverted beagle&lt;/qualification&gt;
- &lt;/character&gt;
- &lt;character&gt;
- &lt;name&gt;Peppermint Patty&lt;/name&gt;
- &lt;since&gt;1966-08-22&gt;/since&gt;
- &lt;age&gt;4&lt;/age&gt;
- &lt;qualification&gt;bold, brash and tomboyish&lt;/qualification&gt;
- &lt;/character&gt;
-&lt;/book&gt;
-</programlisting>
-
- <para>Example:</para>
-
- <para><programlisting>book/character name="Snoopy" &lt;&lt; book/character Patty" </programlisting></para>
-
- <para><emphasis role="bold">result:</emphasis></para>
-
- <orderedlist>
- <listitem>
- <para>xs:boolean: true</para>
- </listitem>
- </orderedlist>
-
- <para>book/character <ulink url="name=&quot;Peppermint">Patty"</ulink>
- &lt;&lt; book/character <ulink
- url="name=&quot;Snoopy&quot;">name="Snoopy"</ulink> <emphasis
- role="bold">result:</emphasis></para>
-
- <orderedlist>
- <listitem>
- <para>xs:boolean: false</para>
- </listitem>
- </orderedlist>
- </section>
-
- <section id="Conditional_Expressions">
- <title>Conditional Expressions</title>
-
- <para>XPath 2.0 allows a conditional expression of the form <emphasis
- role="italic">if ( E1 ) then E2 else E3</emphasis>. For example,
- <emphasis role="italic">if (@discount) then @discount else
- 0</emphasis> returns the value of the discount attribute if it is
- present, or zero otherwise.</para>
- </section>
-
- <section id="Quantified_Expressions">
- <title>Quantified Expressions</title>
-
- <para>The expression <emphasis role="italic">some $x in E1 satisfies
- E2</emphasis> returns true if there is an item in the sequence E1 for
- which the effective boolean value of E2 is true. Note that E2 must use
- the range variable <emphasis role="italic">$x</emphasis> to refer to
- the item being tested; it does not become the context item. For
- example, <emphasis role="italic">some $x in @* satisfies $x eq
- ""</emphasis> is true if the context item is an element that has at
- least one zero-length attribute value.</para>
-
- <para>Similarly, the expression <emphasis role="italic">every $x in E1
- satisfies E2</emphasis> returns true if every item in the sequence
- given by E1 satisfies the condition.</para>
- </section>
-
- <section id="And.2C_Or_Expressions">
- <title>And, Or Expressions</title>
-
- <para>The expression <emphasis role="italic">E1 and E2</emphasis>
- returns true if the effective boolean values of E1 and E2 are both
- true. The expression <emphasis role="italic">E1 or E2</emphasis>
- returns true if the effective boolean values of either or both of E1
- and E2 are true.</para>
-
- <para><programlisting> (for a truth table) 1 and 1</programlisting></para>
-
- <para><emphasis role="bold">result:</emphasis></para>
-
- <orderedlist>
- <listitem>
- <para>xs:boolean: true</para>
- </listitem>
- </orderedlist>
-
- <para><programlisting>1 and 0</programlisting></para>
-
- <para> <emphasis role="bold">result:</emphasis></para>
-
- <orderedlist>
- <listitem>
- <para>xs:boolean: false</para>
- </listitem>
- </orderedlist>
-
- <para><programlisting>1 or 0</programlisting></para>
-
- <para> <emphasis role="bold">result:</emphasis></para>
-
- <orderedlist>
- <listitem>
- <para>xs:boolean: true</para>
- </listitem>
- </orderedlist>
-
- <para><programlisting>0 or 1</programlisting></para>
-
- <para> <emphasis role="bold">result:</emphasis></para>
-
- <orderedlist>
- <listitem>
- <para>xs:boolean: true</para>
- </listitem>
- </orderedlist>
-
- <para></para>
- </section>
-
- <section id="SequenceType_Matching_Expressions">
- <title>SequenceType Matching Expressions</title>
-
- <para>The rules for SequenceType matching compare the actual type of a
- value with an expected type. These rules are a subset of the formal
- rules that match a value with an expected type defined in XQuery 1.0
- and XPath 2.0 Formal Semantics <ulink
- url="http://www.w3.org/TR/xpath20/#XQueryFormalSemantics">http://www.w3.org/TR/xpath20/#XQueryFormalSemantics</ulink>,
- because the Formal Semantics must be able to match a value with any
- XML Schema type, whereas the rules below only match values against
- those types expressible by the SequenceType syntax.</para>
-
- <para>Some of the rules for SequenceType matching require determining
- whether a given type name is the same as or derived from an expected
- type name. The given type name may be "known" (defined in the in-scope
- schema definitions), or "unknown" (not defined in the in-scope schema
- definitions). An unknown type name might be encountered, for example,
- if a source document has been validated using a schema that was not
- imported into the static context. In this case, an implementation is
- allowed (but is not required) to provide an implementation-dependent
- mechanism for determining whether the unknown type name is derived
- from the expected type name. For example, an implementation might
- maintain a data dictionary containing information about type
- hierarchies. consider the following XML document:</para>
-
- <programlisting>&lt;sorbo&gt;
- &lt;is&gt;elite&lt;/is&gt;
- &lt;!-- life sux --&gt;
-&lt;/sorbo&gt;
-</programlisting>
-
- <para>Then, the following are some example of SequenceType
- matchings:</para>
-
- <para><programlisting> element({*})</programlisting></para>
-
- <para> <emphasis role="bold">result:</emphasis></para>
-
- <orderedlist>
- <listitem>
- <para>element: sorbo</para>
- </listitem>
- </orderedlist>
-
- <para><programlisting>element(elite)</programlisting></para>
-
- <para> <emphasis role="bold">result:</emphasis></para>
-
- <orderedlist>
- <listitem>
- <para>Empty results</para>
- </listitem>
- </orderedlist>
-
- <para><programlisting>sorbo/comment()</programlisting></para>
-
- <para> <emphasis role="bold">result:</emphasis></para>
-
- <orderedlist>
- <listitem>
- <para>comment: life sux</para>
- </listitem>
- </orderedlist>
-
- <para><programlisting>data(/sorbo/comment())</programlisting></para>
-
- <para> <emphasis role="bold">result:</emphasis></para>
-
- <orderedlist>
- <listitem>
- <para>xs:string: life sux</para>
- </listitem>
- </orderedlist>
-
- <para><programlisting>sorbo/node()</programlisting></para>
-
- <para><emphasis role="bold">result:</emphasis></para>
-
- <orderedlist>
- <listitem>
- <para>text:</para>
- </listitem>
-
- <listitem>
- <para>element: is</para>
- </listitem>
-
- <listitem>
- <para>comment: life sux</para>
- </listitem>
-
- <listitem>
- <para>text:</para>
- </listitem>
- </orderedlist>
-
- <para></para>
- </section>
- </section>
- </chapter>
-
- <chapter id="How_to_use_XPath_2.0_functions_with_PsychoPath">
- <title>How to use XPath 2.0 functions with PsychoPath</title>
-
- <para>The aim of this section is to give the user an overview of the
- available XPath 2.0 functions that are implemented in PsychoPath. For the
- formal specifications, see the W3C web-site for XPath 2.0 functions and
- operators <ulink
- url="http://www.w3.org/TR/xpath-functions/">http://www.w3.org/TR/xpath-functions/</ulink>.</para>
-
- <section id="Accessors">
- <title>Accessors</title>
-
- <para>In order for PsychoPath to operate on instances of the XPath 2.0
- data model, the model must expose the properties of the items it
- contains. It does this by defining a family of accessor functions. These
- functions are not available to users or applications to call directly.
- Instead, they are descriptions of the information that an implementation
- of the model must expose to applications.</para>
-
- <para>data(‘string’)</para>
-
- <para>from within a Java application, in order to extract the result
- from the result sequence, one would have to use this code:</para>
-
- <para><programlisting>String n = ((XSString)rs.first()).stringvalue();
-println(n);</programlisting></para>
-
- <para>In order to get the result of ‘string’</para>
- </section>
-
- <section id="Constructor_Functions">
- <title>Constructor Functions</title>
-
- <para><programlisting>xs:dateTime("2002-02-01T10:00:00+06:00")</programlisting></para>
-
- <para>From within a Java application, in order to extract the result
- from the result sequence, one would have to use this code:</para>
-
- <para><programlisting>String n = ((XSDateTime)rs.first()).stringvalue(); println(n);</programlisting></para>
-
- <para>in order to get the result of ‘2002-02-01T04:00:00Z’</para>
- </section>
-
- <section id="Functions_on_Numeric_Values">
- <title>Functions on Numeric Values</title>
-
- <para><programlisting>ceiling(xs:float(‘10.4’))</programlisting></para>
-
- <para>from within a Java application, in order to extract the result
- from the result sequence, one would have to use this code:</para>
-
- <para><programlisting>float n = ((XSFloat)rs.first()).floatvalue();
-println(n);</programlisting></para>
-
- <para>In order to get the result of ‘11.0’</para>
- </section>
-
- <section id="Functions_to_Assemble_and_Disassemble_Strings">
- <title>Functions to Assemble and Disassemble Strings</title>
-
- <para><programlisting>codepoints-to-string(0111)</programlisting></para>
-
- <para>from within a Java application, in order to extract the result
- from the result sequence, one would have to use this code:</para>
-
- <para><programlisting>String n = ((XSString)rs.first()).stringvalue();
-println(n);&lt;/source&gt;</programlisting></para>
-
- <para>In order to get the result of ‘o’</para>
- </section>
-
- <section id="Compare_and_Other_Functions_on_String_Values">
- <title>Compare and Other Functions on String Values</title>
-
- <para><programlisting>concat(‘un’, ‘grateful’)</programlisting></para>
-
- <para>from within a Java application, in order to extract the result
- from the result sequence, one would have to use this code:</para>
-
- <para><programlisting>String n = ((XSString)rs.first()).stringvalue();
-println(n);</programlisting></para>
-
- <para>In order to get the result of ‘ungrateful’</para>
- </section>
-
- <section id="Functions_Based_on_Substring_Matching">
- <title>Functions Based on Substring Matching</title>
-
- <para><programlisting>contains("abc", "edf")</programlisting></para>
-
- <para>from within a Java application, in order to extract the result
- from the result sequence, one would have to use this code:</para>
-
- <para><programlisting>boolean n = ((XSBoolean)rs.first()).value();
-println(n);</programlisting></para>
-
- <para>In order to get the result of ‘false’</para>
- </section>
-
- <section id="String_Functions_that_Use_Pattern_Matching">
- <title>String Functions that Use Pattern Matching</title>
-
- <para><programlisting>matches(‘abcd’, ‘abcd’)</programlisting></para>
-
- <para>from within a Java application, in order to extract the result
- from the result sequence, one would have to use this code:</para>
-
- <para><programlisting>boolean n = ((XSBoolean)rs.first()).value();
-println(n);</programlisting></para>
-
- <para>In order to get the result of ‘true’</para>
- </section>
-
- <section id="Functions_on_Boolean_Values">
- <title>Functions on Boolean Values</title>
-
- <para><programlisting>not(true())</programlisting></para>
-
- <para>from within a Java application, in order to extract the result
- from the result sequence, one would have to use this code:</para>
-
- <para><programlisting>boolean n = ((XSBoolean)rs.first()).value();
-println(n);</programlisting></para>
-
- <para>in order to get the result of ‘false’</para>
- </section>
-
- <section id="Component_Extraction_Functions_on_Durations.2C_Dates_and_Times">
- <title>Component Extraction Functions on Durations, Dates and
- Times</title>
-
- <para><programlisting>timezone-from-time(xs:time("13:20:00+05:00"))</programlisting></para>
-
- <para>from within a Java application, in order to extract the result
- from the result sequence, one would have to use this code:</para>
-
- <para><programlisting>String n = ((XDTDayTimeDuration)rs.first()).stringvalue();
-println(n);</programlisting></para>
-
- <para>in order to get the result of ‘PT5H’</para>
- </section>
-
- <section id="Functions_Related_to_QNames">
- <title>Functions Related to QNames</title>
-
- <para><programlisting>local-name-from-QName(QName(‘ <ulink
- url="http://www.example.com/example">http://www.example.com/example</ulink>’, ‘person’))</programlisting></para>
-
- <para>from within a Java application, in order to extract the result
- from the result sequence, one would have to use this code:</para>
-
- <para><programlisting>String n = ((XSNCName)rs.first()).stringvalue();
-println(n);</programlisting></para>
-
- <para>in order to get the result of ‘person’</para>
- </section>
-
- <section id="Functions_on_Nodes">
- <title>Functions on Nodes</title>
-
- <para></para>
-
- <section id="General_Functions_on_Sequences">
- <title>General Functions on Sequences</title>
-
- <para><programlisting>remove((‘s’,‘o’,‘m’,‘e’,‘t’,‘h’,‘i’,‘n’,‘g’), 6)</programlisting></para>
-
- <para>from within a Java application, in order to extract the result
- from the result sequence, one would have to use this code:</para>
-
- <programlisting>for (Iterator iter = rs.iterator(); iter.hasNext();) {
- Object item = iter.next();
- String n = ((XSString)item).stringvalue();
- print(n + " ");
-} println("");
-</programlisting>
-
- <para>in order to get the result of ‘s o m e t i n g’</para>
- </section>
-
- <section id="Functions_That_Test_the_Cardinality_of_Sequences">
- <title>Functions That Test the Cardinality of Sequences</title>
-
- <para><programlisting>one-or-more((1,2,3,4,5))</programlisting></para>
-
- <para>from within a Java application, in order to extract the result
- from the result sequence, one would have to use this code:</para>
-
- <programlisting>for (Iterator iter = rs.iterator(); iter.hasNext();) {
- Object item = iter.next();
- int n = ((XSInteger)item).intvalue();
- print(n + " ");
-} println("");
-</programlisting>
-
- <para>in order to get the result of ‘1 2 3 4 5’</para>
- </section>
-
- <section id="Deep-Equal.2C_Aggregate_Functions.2C_and_Functions_that_Generate_Sequences">
- <title>Deep-Equal, Aggregate Functions, and Functions that Generate
- Sequences</title>
-
- <para><programlisting>avg((3,4,5))</programlisting></para>
-
- <para>from within a Java application, in order to extract the result
- from the result sequence, one would have to use this code:</para>
-
- <para><programlisting>double avg = ((XSDouble)rs.first()).doublevalue();
-println(avg);</programlisting></para>
-
- <para>in order to get the result of ‘4.0’</para>
- </section>
-
- <section id="Context_Functions">
- <title>Context Functions</title>
-
- <para><programlisting>(10 to 20) = 2</programlisting></para>
-
- <para>from within a Java application, in order to extract the result
- from the result sequence, one would have to use this code:</para>
-
- <para><programlisting>int pos = ((XSInteger)rs.first()).intvalue(); println(pos);</programlisting></para>
-
- <para>in order to get the result of ‘11’</para>
- </section>
- </section>
- </chapter>
-
- <chapter id="How_to_use_XPath_2.0_operators_with_PsychoPath">
- <title>How to use XPath 2.0 operators with PsychoPath</title>
-
- <para>The aim of this section is to give the user an overview of the
- available XPath 2.0 operators that are implemented in PsychoPath. For the
- formal specifications, see the W3C web-site for XPath 2.0 functions and
- operators <ulink
- url="http://www.w3.org/TR/xpath-functions/">http://www.w3.org/TR/xpath-functions/</ulink>.</para>
-
- <para></para>
-
- <section id="Operators_on_Numeric_Values">
- <title>Operators on Numeric Values</title>
-
- <para><programlisting>xs:integer(4) + xs:integer(3)</programlisting></para>
-
- <para>from within a Java application, in order to extract the result
- from the result sequence, one would have to use this code:</para>
-
- <para><programlisting>Integer n = ((XSInteger)rs.first()).integervalue();
-println(n);</programlisting></para>
-
- <para>in order to get the result of ‘7’</para>
- </section>
-
- <section id="Comparison_of_Numeric_Values">
- <title>Comparison of Numeric Values</title>
-
- <para><programlisting>xs:decimal(3.3) = xs:decimal(6.6)</programlisting></para>
-
- <para>from within a Java application, in order to extract the result
- from the result sequence, one would have to use this code:</para>
-
- <para><programlisting>boolean n = ((XSBoolean)rs.first()).value(); println(n);</programlisting></para>
-
- <para>in order to get the result of ‘false’</para>
- </section>
-
- <section id="Operators_on_Boolean_Values">
- <title>Operators on Boolean Values</title>
-
- <para><programlisting>xs:boolean(’true’) gt xs:boolean(’false’)</programlisting></para>
-
- <para>from within a Java application, in order to extract the result
- from the result sequence, one would have to use this code:</para>
-
- <para><programlisting>boolean n = ((XSBoolean)rs.first()).value(); println(n);</programlisting></para>
-
- <para>in order to get the result of ‘true’</para>
- </section>
-
- <section id="Comparisons_of_Duration.2C_Date_and_Time_Values">
- <title>Comparisons of Duration, Date and Time Values</title>
-
- <para><programlisting>xs:time("23:00:00+06:00") lt xs:time("12:00:00-06:00")</programlisting></para>
-
- <para>from within a Java application, in order to extract the result
- from the result sequence, one would have to use this code:</para>
-
- <para><programlisting>boolean n = ((XSBoolean)rs.first()).value();
-println(n);</programlisting></para>
-
- <para>in order to get the result of ‘true’</para>
- </section>
-
- <section id="Arithmetic_Functions_on_Durations">
- <title>Arithmetic Functions on Durations</title>
-
- <para><programlisting>multiply-dayTimeDuration(xs:dayTimeDuration("PT2H10M"), 2.1)</programlisting></para>
-
- <para>from within a Java application, in order to extract the result
- from the result sequence, one would have to use this code:</para>
-
- <para><programlisting>String n = ((XDTDayTimeDuration)rs.first()).stringvalue();
-println(n);</programlisting></para>
-
- <para>which returns a xdt:dayTimeDuration value corresponding to 4 hours
- and 33 minutes ‘PT4H33M’</para>
- </section>
-
- <section id="Arithmetic_Functions_Dates_and_Times">
- <title>Arithmetic Functions Dates and Times</title>
-
- <para><programlisting>add-yearMonthDuration-to-dateTime( xs:dateTime("2000-10-30T11:12:00"), xdt:yearMonthDuration("P1Y2M"))</programlisting></para>
-
- <para>from within a Java application, in order to extract the result
- from the result sequence, one would have to use this code:</para>
-
- <para><programlisting>String n = ((XSDateTime)rs.first()).stringvalue();
-println(n);</programlisting></para>
-
- <para>which returns an xs:dateTime value corresponding to the lexical
- representation ‘2001-12-30T11:12:00’</para>
- </section>
-
- <section id="Operators_Related_to_QNames_And_Nodes">
- <title>Operators Related to QNames And Nodes</title>
-
- <para><programlisting>xs:QName(’ao’) eq xs:QName(’ao’)</programlisting></para>
-
- <para>from within a Java application, in order to extract the result
- from the result sequence, one would have to use this code:</para>
-
- <para><programlisting>boolean n = ((XSBoolean)rs.first()).value();
-println(n);</programlisting></para>
-
- <para>which returns the result of ‘true’</para>
- </section>
-
- <section id="Union.2C_Intersection_and_Except">
- <title>Union, Intersection and Except</title>
-
- <para><programlisting>union($seq2, $seq3)</programlisting></para>
-
- <para>from within a Java application, in order to extract the result
- from the result sequence, one would have to use this code:</para>
-
- <programlisting>for (Iterator iter = rs.iterator(); iter.hasNext();) {
- Object item = iter.next();
- String n = ((XSString)item).stringvalue();
- print(n + ", ");
-}
-println("");
-</programlisting>
-
- <para> </para>
-
- <para>which returns the sequence consisting of $item1, $item2,
- $item3.</para>
-
- <para></para>
- </section>
-
- <section id="Operators_that_Generate_Sequences">
- <title>Operators that Generate Sequences</title>
-
- <para><programlisting>(1 to 3)</programlisting></para>
-
- <para>from within a Java application, in order to extract the result
- from the result sequence, one would have to use this code:</para>
-
- <para><programlisting>int n = (XSInteger)rs.first()).stringvalue();
-println(n);</programlisting></para>
-
- <para>which returns the sequence consisting of 1, 2, 3.</para>
- </section>
- </chapter>
-</book>
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/book.css b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/book.css
deleted file mode 100644
index f4c35e7..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/book.css
+++ /dev/null
@@ -1,222 +0,0 @@
-p.Code {
- display: block;
- text-align: left;
- text-indent: 0.00pt;
- margin-top: 0.000000pt;
- margin-bottom: 0.000000pt;
- margin-right: 0.000000pt;
- margin-left: 15pt;
- font-weight: normal;
- font-style: normal;
- color: #4444CC;
- text-decoration: none;
- vertical-align: baseline;
- text-transform: none;
- font-family: "Courier New", Courier, monospace;
-}
-
-H6.CaptionFigColumn {
- display: block;
- text-align: left;
- text-indent: 0.000000pt;
- margin-top: 3.000000pt;
- margin-bottom: 11.000000pt;
- margin-right: 0.000000pt;
- margin-left: 0.000000pt;
- font-size: 75%;
- font-weight: bold;
- font-style: Italic;
- color: #000000;
- text-decoration: none;
- vertical-align: baseline;
- text-transform: none;
-}
-
-p.Note {
- display: block;
- text-align: left;
- text-indent: 0pt;
- margin-top: 19.500000pt;
- margin-bottom: 19.500000pt;
- margin-right: 0.000000pt;
- margin-left: 30pt;
- font-size: 110%;
- font-weight: normal;
- font-style: Italic;
- color: #000000;
- text-decoration: none;
- vertical-align: baseline;
- text-transform: none;
-}
-
-EM.UILabel {
- font-weight: Bold;
- font-style: normal;
- text-decoration: none;
- vertical-align: baseline;
- text-transform: none;
-}
-
-EM.CodeName {
- font-weight: Bold;
- font-style: normal;
- text-decoration: none;
- vertical-align: baseline;
- text-transform: none;
- font-family: "Courier New", Courier, monospace;
-}
-
-UL.NavList {
- margin-left: 1.5em;
- padding-left: 0px;
- list-style-type: none;
-}
-
-body,html {
- border: 0px
-}
-
-/* following font face declarations need to be removed for DBCS */
-body,h1,h2,h3,h4,h5,h6,p,table,td,caption,th,ul,ol,dl,li,dd,dt {
- font-family: Arial, Helvetica, sans-serif;
- color: #000000
-}
-
-pre,code {
- font-family: "Courier New", Courier, monospace;
-}
-
-/* end font face declarations */
-@media print {
- html {
- font-size: 12pt
- }
-}
-
-body {
- font-size: 83%;
- background: #FFFFFF;
- margin-bottom: 1em
-}
-
-h1 {
- font-size: 180%;
- margin-top: 5px;
- margin-bottom: 1px
-}
-
-h2 {
- font-size: 140%;
- margin-top: 25px;
- margin-bottom: 3px
-}
-
-h3 {
- font-size: 110%;
- margin-top: 20px;
- margin-bottom: 3px
-}
-
-h4 {
- font-size: 100%;
- margin-top: 20px;
- margin-bottom: 3px;
- font-style: italic
-}
-
-p {
- margin-top: 10px;
- margin-bottom: 10px
-}
-
-pre {
- font-size: 93%;
- margin-left: 6;
- color: #4444CC
-}
-
-code {
- font-size: 93%;
-}
-
-table {
- font-size: 100%
-} /* needed for quirks mode */
-a:link {
- color: #0000FF
-}
-
-a:hover {
- color: #000080
-}
-
-a:visited {
- text-decoration: underline
-}
-
-ul {
- margin-top: 10px;
- margin-bottom: 10px;
-}
-
-li {
- margin-top: 5px;
- margin-bottom: 5px;
-}
-
-li p {
- margin-top: 5px;
- margin-bottom: 5px;
-}
-
-ol {
- margin-top: 10px;
- margin-bottom: 10px;
-}
-
-dl {
- margin-top: 10px;
- margin-bottom: 10px;
-}
-
-dt {
- margin-top: 5px;
- margin-bottom: 5px;
- font-weight: bold;
-}
-
-dd {
- margin-top: 5px;
- margin-bottom: 5px;
-}
-
-strong {
- font-weight: bold
-}
-
-em {
- font-style: italic
-}
-
-var {
- font-style: italic
-}
-
-div.revision {
- border-left-style: solid;
- border-left-width: thin;
- border-left-color: #7B68EE;
- padding-left: 5;
-}
-
-th {
- font-weight: bold;
-}
-
-pre.programlisting {
- background-color: silver;
- border: thin;
- border-style: dashed;
- color: black;
- padding-left: 5;
-} \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch01.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch01.html
deleted file mode 100644
index 3435cf1..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch01.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Introduction</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="prev" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="next" href="ch02.html" title="Using PsychoPath XPath 2.0 API"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="Introduction"></a>Introduction</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><ul><li><span class="section"><a href="ch01.html#Getting_PsychoPath">Getting PsychoPath</a></span></li></ul></div><p>What is PsychohPath? PsychoPath is a XPath 2.0 XML Schema Aware
- processor. It is nearly fully compliant to the XPath 2.0 test suite. It is
- a library that does not require eclipse to be used. Known adopters of
- PsychoPath include the Xerces-J project for XML Schemas 1.1 assertion
- support.</p><p>PsychoPath is the only known open-source java XPath 2.0 processor
- that is fully schema aware. SAXON HE only supports the core functionality.
- XML Schema awarness provides tighter static checking, and can be used to
- help determine if certain operations can or should occur on an XML node.
- For a detailed description of the PsychoPath's design please see the
- <a class="ulink" href="/PsychoPathXPathProcessor/Design" target="_top">design</a>
- document.</p><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Getting_PsychoPath"></a>Getting PsychoPath</h2></div></div></div><p>Currently there is no standalone build of PsychoPath. However, you
- can download the <a class="ulink" href="http://download.eclipse.org/webtools/downloads/drops/R3.1/R-3.1-20090616035105/" target="_top">WTP
- WST 3.1</a> zip file, and use the
- org.eclipse.wst.xml.xpath2.processor.jar file. This jar has no
- dependencies on eclipse, and will work as a standard jar file. If you
- are using an OSGI container, then this is treated as a standard OSGI
- bundle.</p><div class="tip" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">PsychoPath 1.1M1</h3><p>PsychoPath 1.1M1 is also available to <a class="ulink" href="http://download.eclipse.org/webtools/downloads/drops/R3.2/S-3.2M1b-20090814143519/" target="_top">download</a>.
- 1.1M1 passes 96% of the XPath 2.0 test suite.</p></div><p>Additional dependencies you currently need are:</p><div class="itemizedlist"><ul type="disc"><li><p>IBM ICU 4.0 or greater</p></li><li><p>Xerces 2.8.0 or greater</p></li><li><p>JavaCup 0.10 or greater.</p></li></ul></div><p>If using eclipse, these are all available from the Orbit project.
- Others can find the necessary jars from their respective project
- pages.</p></div></div></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02.html
deleted file mode 100644
index 7f1ac76..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02.html
+++ /dev/null
@@ -1,70 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Using PsychoPath XPath 2.0 API</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="prev" href="ch01.html" title="Introduction"><link rel="next" href="ch02s02.html" title="Schema Aware"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="How_to_feed_Psychopath_XPath_expressions"></a>Using PsychoPath XPath 2.0 API</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><ul><li><span class="section"><a href="ch02.html#Non-Schema_Aware">Non-Schema Aware</a></span></li><li><span class="section"><a href="ch02s02.html">Schema Aware</a></span></li><li><span class="section"><a href="ch02s03.html">How to use the XPath 2.0 grammar with PsychoPath</a></span><ul><li><span class="section"><a href="ch02s03.html#Constants">Constants</a></span></li><li><span class="section"><a href="ch02s03s02.html">Path expressions</a></span></li><li><span class="section"><a href="ch02s03s03.html">Axis steps</a></span></li><li><span class="section"><a href="ch02s03s04.html">Set difference, intersection and Union</a></span></li><li><span class="section"><a href="ch02s03s05.html">Arithmetic Expressions</a></span><ul><li><span class="section"><a href="ch02s03s05.html#Unary">Unary</a></span></li><li><span class="section"><a href="ch02s03s05s02.html">Multiplication and Division:</a></span></li><li><span class="section"><a href="ch02s03s05s03.html">Addition and Subtraction:</a></span></li></ul></li><li><span class="section"><a href="ch02s03s06.html">Range expressions</a></span></li><li><span class="section"><a href="ch02s03s07.html">Comparisons</a></span></li><li><span class="section"><a href="ch02s03s08.html">Conditional Expressions</a></span></li><li><span class="section"><a href="ch02s03s09.html">Quantified Expressions</a></span></li><li><span class="section"><a href="ch02s03s10.html">And, Or Expressions</a></span></li><li><span class="section"><a href="ch02s03s11.html">SequenceType Matching Expressions</a></span></li></ul></li></ul></div><p>Since PsychoPath has been implemented as an external library and not
- as a complete program, in order to use it, it needs to be accessed from
- inside another program. To process XPath 2.0 expressions using PsychoPath
- from another programs one needs to go through the following
- process:</p><div class="orderedlist"><ol type="1"><li><p>Load the XML document</p></li><li><p>Optionally validate the XML document</p></li><li><p>Initialize static and dynamic context in respect to the document
- root</p></li><li><p>Parse the XPath 2.0 expression</p></li><li><p>Statically verify the XPath 2.0 expression</p></li><li><p>Evaluate the XPath 2.0 expression in respect to the XML
- document</p></li></ol></div><p>To give a better idea of how this process actually works, we&rsquo;ll go
- through an example of processing and evaluating the string expression
- &ldquo;Hello World!&rdquo;. In this example the XML document that we load is called
- &ldquo;XPexample.xml&rdquo;.</p><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Non-Schema_Aware"></a>Non-Schema Aware</h2></div></div></div><pre class="programlisting">/**
- * First load and optionally validate the XML document
-*/
-// Create an InputStream from the XML document
-InputStream is = new FileInputStream(&ldquo;XPexample.xml&rdquo;);
-
-// Initializing the Xerces DOM loader.
-DOMLoader loader = new XercesLoader();
-
-// Optionally set flag to validate XML document loader.setvalidating(validate);
-// Loads the XML document and stores the DOM root
-Document doc = loader.load(is);
-
-/**
- * Dynamic contexts must be initialised to defaults
- * dependent on the XML Schema.
-*/
-
-// Extracting the schema from DOM root of Xpexpression.xml.
-ElementPSVI rootPSVI = (ElementPSVI)doc.getDocumentElement();
-XSModel schema = rootPSVI.getSchemaInformation();
-
-// Initialising the DynamicContext.
-DynamicContext dc = new DefaultDynamicContext(schema, doc);
-
-// Register the namespaces of the XPath 2.0 predefined datatypes
-dc.addnamespace(&ldquo;xs&rdquo;,&rdquo;[http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema]&rdquo;);
-
-// Register the XPath 2.0 standard functions
-dc.addfunctionlibrary(new FnFunctionLibrary());
-dc.addfunctionlibrary(new XSCtrLibrary());
-
-/**
- * Parsing the XPath 2.0 expression into an AST representation
- */
-// Initialises PsychoPath&rsquo;s supplied parser.
-XPathParser xpp = new JflexCupParser();
-
-// Parses the XPath expression.
-XPath xp = xpp.parse(xpath);
-/**
- * Static check the AST to verift structural validity of
- * XPath 2.0 expression
- */
-
-// Initializing StaticChecker.
-StaticChecker namecheck = new StaticNameResolver(sc);
-
-// Static Checking the Xpath expression &rsquo;Hello World!&rsquo; namecheck.check(xp);
-/**
- * Evaluate the XPath 2.0 expression
- */
-
-// Initializing the evaluator with DynamicContext and the name
-// of the XML document XPexample.xml as parameters.
-Evaluator eval = new DefaultEvaluator(dc, doc);
-
-// Evaluates the XPath 2.0 expression, storing the result
-// in the ResultSequence
-ResultSequence rs = eval.evaluate(xp);
-</pre></div></div></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s02.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s02.html
deleted file mode 100644
index 19a87cf..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s02.html
+++ /dev/null
@@ -1,101 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Schema Aware</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch02.html" title="Using PsychoPath XPath 2.0 API"><link rel="prev" href="ch02.html" title="Using PsychoPath XPath 2.0 API"><link rel="next" href="ch02s03.html" title="How to use the XPath 2.0 grammar with PsychoPath"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Schema_Aware"></a>Schema Aware</h2></div></div></div><p></p><pre class="programlisting">/**
- * First load and optionally validate the XML document
-*/
-
- SchemaFactory schemaFactory = new XMLSchemaFactory();
- URL schemaURL = new File("XPexample.xsd").toURL();
- Schema jaxpschema = schemaFactory.newSchema(schemaURL);
-
-// Create an InputStream from the XML document
-InputStream is = new FileInputStream(&ldquo;XPexample.xml&rdquo;);
-
-// Initializing the Xerces DOM loader.
-DOMLoader loader = new XercesLoader(jaxpschema);
-
-// Optionally set flag to validate XML document loader.setvalidating(validate);
-// Loads the XML document and stores the DOM root
-Document doc = loader.load(is);
-
-/**
- * Dynamic contexts must be initialised to defaults
- * dependent on the XML Schema.
-*/
-
-// Initialising the DynamicContext.
-DynamicContext dc = new DefaultDynamicContext(jaxpschema, doc);
-
-// Register the namespaces of the XPath 2.0 predefined datatypes
-dc.addnamespace(&ldquo;xs&rdquo;,&rdquo;[http://www.w3.org/2001/XMLSchema http://www.w3.org/2001/XMLSchema]&rdquo;);
-
-// Register the XPath 2.0 standard functions
-dc.addfunctionlibrary(new FnFunctionLibrary());
-dc.addfunctionlibrary(new XSCtrLibrary());
-
-/**
- * Parsing the XPath 2.0 expression into an AST representation
- */
-// Initialises PsychoPath&rsquo;s supplied parser.
-XPathParser xpp = new JflexCupParser();
-
-// Parses the XPath expression.
-XPath xp = xpp.parse(xpath);
-
-/**
- * Static check the AST to verift structural validity of
- * XPath 2.0 expression
- */
-
-// Initilising StaticChecker.
-StaticChecker namecheck = new StaticNameResolver(sc);
-
-// Static Checking the Xpath expression &rsquo;Hello World!&rsquo; namecheck.check(xp);
-/**
- * Evaluate the XPath 2.0 expression
- */
-
-// Initialising the evaluator with DynamicContext and the name
-// of the XML document XPexample.xml as parameters.
-Evaluator eval = new DefaultEvaluator(dc, doc);
-
-// Evaluates the XPath 2.0 expression, storing the result
-// in the ResultSequence
-ResultSequence rs = eval.evaluate(xp);
-</pre><p>XPath 2.0 defines everything to be a sequence of items, including
- the arguments to expressions and the result of operations. Thus, the
- overall result of an XPath expression evaluation is also a sequence of
- items. PsychoPath uses the class ResultSequence as a Collections wrapper
- to store these sequences and therefore, the result of an evaluation is
- of this type also. The ResultSequence consists of zero or more items; an
- item may be a node or a simple-value. &ldquo;Hello World!&rdquo; is an example of a
- single value with length 1. A general sequence could be written as (&ldquo;a&rdquo;,
- &ldquo;s&rdquo;, &ldquo;d&rdquo;, &ldquo;f&rdquo;).</p><p>Extraction of certain items from the ResultSequence class is
- described below, with details of the different operations that one might
- apply on the ResultSequence. Consider that &rsquo;rs&rsquo; is the ResultSequence,
- then:</p><p></p><pre class="programlisting">// Will return the number of elements in the sequence, in this
-// case of &rsquo;Hello World!&rsquo; expression size = 1.
-rs.size();
-
-// Will return the n&rsquo;th element in the sequence, in this case of
-// &rsquo;Hello World!&rsquo;, if n = 1, then it will return
-// XSString of &ldquo;Hello World!&rdquo;, but if n = 2, it will return
-// Empty Result.
-rs.get(n);
-
-//Will return true if the sequence is empty.
-rs.empty();
-
-// Will return the first element of the sequence,
-// in this example it will return XSString of &ldquo;Hello World!&rdquo;
-rs.first()
-</pre><p>However, all the items extracted will be of the type&rsquo;s base class
- AnyType and need to be casted into its actual subtype.</p><p>Certain operations always return a particular type and using this
- knowledge, the extracted item can be immediately casted. In our example
- &ldquo;Hello World!&rdquo; returns a string (easily known as it is inside the quotes
- &rsquo; &rsquo; ), so this can safely be casted as such:</p><p><pre class="programlisting">XSString xsstring = XSString)(rs.first());</pre>The
- actual result can now be extracted from this XSString in the following
- manner: <pre class="programlisting">String str = xsstring.value();</pre></p><p>The details of how to cast extracted items from AnyType into their
- actual subtypes with examples is in the next section on How to use each
- production in the grammar.</p><p>However, if the expected return type is unknown or multiple types
- are possible, the types hierarchy can be traversed in a breadth first
- manner making use of the Java instanceof operator to ascertain the
- actual type.&nbsp;</p></div></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03.html
deleted file mode 100644
index cba921f..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>How to use the XPath 2.0 grammar with PsychoPath</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch02.html" title="Using PsychoPath XPath 2.0 API"><link rel="prev" href="ch02s02.html" title="Schema Aware"><link rel="next" href="ch02s03s02.html" title="Path expressions"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="How_to_use_the_XPath_2.0_grammar_with_PsychoPath"></a>How to use the XPath 2.0 grammar with PsychoPath</h2></div></div></div><p>In this section we will try to give you an overview of the XPath
- 2.0 grammar in general and how each production in the grammar should be
- used with PsychoPath. For the formal specifications, see the W3C
- web-site for XPath 2.0 specification <a class="ulink" href="http://www.w3.org/TR/xpath20" target="_top">http://www.w3.org/TR/xpath20</a>.</p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="Constants"></a>Constants</h3></div></div></div><p>String literals are written as &ldquo;Hello&rdquo; or &lsquo;Hello&rsquo;. In each case
- the opposite kind of quotation mark can be used within the string: &lsquo;He
- said &ldquo;Hello&rdquo; &rsquo; or &ldquo;London is a big city&rdquo;. To feed PsychoPath, &ldquo; &lsquo;Hello
- World!&rsquo; &rdquo;or &ldquo; &ldquo;Hello World!&rdquo; &rdquo; can be used to feed it with strings.
- Remember that the ResultSequence returns AnyType so since a string is
- being expected as the result, first it has to be casted in the code
- like this: <pre class="programlisting">XSString xsstring = (XSString)(rs.first());</pre>
- Numeric constants follow the Java rules for decimal literals: for
- example, 4 or 4.67; a negative number can be written as -3.05. The
- numeric literal is taken as a double precision floating point number
- if it uses scientific notation (e.g. 1.0e7), as a fixed point decimal
- if it includes a decimal point, or as an integer otherwise. When
- extracting number literals from the ResultSequence, possible types to
- be returned include <span class="italic">XSDecima''l (e.g.&nbsp;:
- xs:decimal: 4.67),''XSInteger ''(e.g.&nbsp;: xs:integer: 4) or
- ''XSDouble</span> (e.g.&nbsp;: xs:double 1e0). All of which need to be
- cast in the same manner as stated before: from AnyType to their
- corresponding types.</p><p>There are no boolean constants as such: <span class="italic">true, false</span> instead the function calls
- <span class="bold"><strong>true()</strong></span> and <span class="bold"><strong>false()</strong></span> are used.</p><p>Constants of other data types can be written using constructors.
- These look like function calls but require a string literal as their
- argument. For example, <span class="bold"><strong>xs:float(&ldquo;10.7&rdquo;)</strong></span> produces a single-precision
- floating point number.</p></div></div></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s02.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s02.html
deleted file mode 100644
index a5ad00c..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s02.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Path expressions</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch02s03.html" title="How to use the XPath 2.0 grammar with PsychoPath"><link rel="prev" href="ch02s03.html" title="How to use the XPath 2.0 grammar with PsychoPath"><link rel="next" href="ch02s03s03.html" title="Axis steps"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="Path_expressions"></a>Path expressions</h3></div></div></div><p>A path expression is a sequence of steps separated by the
- <span class="bold"><strong>/''' or '''//</strong></span> operator. For example,
- <span class="bold"><strong>../@desc</strong></span> selects the desc attribute
- of the parent of the context node.</p><p>In XPath 2.0, path expressions have been generalized so that any
- expression can be used as an operand of <span class="bold"><strong>/</strong></span>, (both on the left and the right), as long as
- its value is a sequence of nodes. For example, it is possible to use a
- union expression (in parentheses) or a call to the id()
- function.</p><p>In practice, it only makes sense to use expressions on the right
- of <span class="bold"><strong>"/"</strong></span> if they depend on the context
- item. It is legal to write $x/$y provided both $x and $y are sequences
- of nodes, but the result is exactly the same as writing <span class="bold"><strong> <span class="italic">./$y</span>
- </strong></span>.</p><p>Note that the expressions <span class="bold"><strong>./$X</strong></span>
- or <span class="bold"><strong>$X/.</strong></span> can be used to remove
- duplicates from <span class="bold"><strong>$X</strong></span> and sort the
- results into document order.</p><p>The operator <span class="bold"><strong>//</strong></span> is an
- abbreviation for <span class="bold"><strong>/descendant-or-self::node()</strong></span>. An expression of
- the form <span class="bold"><strong>/E</strong></span> is shorthand for
- <span class="bold"><strong>root(.)/E</strong></span>, and the expression
- <span class="bold"><strong>/''' on its own is shorthand for
- '''root(.)</strong></span>.</p></div></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s03.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s03.html
deleted file mode 100644
index b86638b..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s03.html
+++ /dev/null
@@ -1,7 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Axis steps</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch02s03.html" title="How to use the XPath 2.0 grammar with PsychoPath"><link rel="prev" href="ch02s03s02.html" title="Path expressions"><link rel="next" href="ch02s03s04.html" title="Set difference, intersection and Union"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="Axis_steps"></a>Axis steps</h3></div></div></div><p>The basic primitive for accessing a source document is the axis
- step. Axis steps may be combined into path expressions using the path
- operators "/" and "//", and they may be filtered using filter
- expressions in the same way as the result of any other
- expression.</p><p>An axis step has the basic form axis::node-test, and selects
- nodes on a given axis that satisfy the node-test. The axes available
- are:</p><div class="orderedlist"><ol type="1"><li><p>element: age</p></li><li><p>element: age</p></li></ol></div><p>The rest of the axes act in the same manner.</p></div></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s04.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s04.html
deleted file mode 100644
index 9a0198f..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s04.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Set difference, intersection and Union</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch02s03.html" title="How to use the XPath 2.0 grammar with PsychoPath"><link rel="prev" href="ch02s03s03.html" title="Axis steps"><link rel="next" href="ch02s03s05.html" title="Arithmetic Expressions"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="Set_difference.2C_intersection_and_Union"></a>Set difference, intersection and Union</h3></div></div></div><p>The expression E1 except E2 selects all nodes that are in E1
- unless they are also in E2. Both expressions must return sequences of
- nodes. The results are returned in document order. For example, @*
- except @note returns all attributes except the note attribute. The
- expression E1 intersect E2 selects all nodes that are in both E1 and
- E2. Both expressions must return sequences of nodes. The results are
- returned in document order. The expression E1 union E2 selects all
- nodes that are in either E1 or E2 or both. Both expressions must
- return sequences of nodes. The results are returned in document order.
- A complete example of the above expression would be as follows.
- Consider an XML document which looks like this:</p><pre class="programlisting">&lt;nodes&gt;
- &lt;a&gt;
- &lt;connecteda&gt;A&lt;/connecteda&gt;
- &lt;connecteda&gt;B&lt;/connecteda&gt;
- &lt;connecteda&gt;C&lt;/connecteda&gt;
- &lt;/a&gt;
- &lt;b&gt;
- &lt;connectedb&gt;B&lt;/connectedb&gt;
- &lt;connectedb&gt;C&lt;/connectedb&gt;
- &lt;connectedb&gt;D&lt;/connectedb&gt;
- &lt;/b&gt;
-&lt;/nodes&gt;
-</pre><p>Then an example of each of the expressions would be:</p><p><pre class="programlisting">data(/a/*) union data(/b/*)</pre></p><p> <span class="bold"><strong>result:</strong></span></p><div class="orderedlist"><ol type="1"><li><p>xs:string: A</p></li><li><p>xs:string: B</p></li><li><p>xs:string: C</p></li><li><p>xs:string: D</p></li></ol></div><p><pre class="programlisting">data(/a/*) intersect data(/b/*)</pre></p><p> <span class="bold"><strong>result:</strong></span></p><div class="orderedlist"><ol type="1"><li><p>xs:string: B</p></li><li><p>xs:string: C</p></li></ol></div><p><pre class="programlisting">data(/a/*) except data(/b/*)</pre></p><p> <span class="bold"><strong>result:</strong></span></p><div class="orderedlist"><ol type="1"><li><p>xs:string: D</p></li></ol></div></div></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s05.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s05.html
deleted file mode 100644
index 56c1276..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s05.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Arithmetic Expressions</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch02s03.html" title="How to use the XPath 2.0 grammar with PsychoPath"><link rel="prev" href="ch02s03s04.html" title="Set difference, intersection and Union"><link rel="next" href="ch02s03s05s02.html" title="Multiplication and Division:"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="Arithmetic_Expressions"></a>Arithmetic Expressions</h3></div></div></div><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="Unary"></a>Unary</h4></div></div></div><p>minus and plus: The unary minus operator changes the sign of a
- number. For example -1 is minus one, and -1e0 is the double value
- negative -1.</p></div></div></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s05s02.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s05s02.html
deleted file mode 100644
index 74f1c81..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s05s02.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Multiplication and Division:</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch02s03s05.html" title="Arithmetic Expressions"><link rel="prev" href="ch02s03s05.html" title="Arithmetic Expressions"><link rel="next" href="ch02s03s05s03.html" title="Addition and Subtraction:"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="Multiplication_and_Division:"></a>Multiplication and Division:</h4></div></div></div><p>The operator * multiplies two numbers. If the operands are of
- different types, XPath 2.0 specifications say that one of them is
- promoted to the type of the other.&nbsp;The result is the same type as
- the operands after promotion.</p><p>The operator div divides two numbers. Dividing two integers
- produces a double; in other cases the result is the same type as the
- operands.</p><p>The operator idiv performs integer division. For example, the
- result of 10 idiv 3 is 3.</p><p>The mod operator returns the modulus (or remainder) after
- division.</p><p>The operators * and div may also be used to multiply or divide
- a range by a number.</p><p>For example, <span class="italic">(1 idiv 1 to
- 3)</span> returns the result: <span class="italic">xs:integer: 1, xs:integer: 2, xs:integer:
- 3</span></p></div></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s05s03.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s05s03.html
deleted file mode 100644
index 0434e26..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s05s03.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Addition and Subtraction:</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch02s03s05.html" title="Arithmetic Expressions"><link rel="prev" href="ch02s03s05s02.html" title="Multiplication and Division:"><link rel="next" href="ch02s03s06.html" title="Range expressions"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="Addition_and_Subtraction:"></a>Addition and Subtraction:</h4></div></div></div><p>The operators <span class="bold"><strong>+</strong></span> and <span class="italic">'-'</span> perform addition and subtraction of
- numbers, in the usual way. Once again, if the operands are of
- different types, XPath 2.0 specifications say one of them is
- promoted but numeric type promotion is currently unsupported by
- PsychoPath. The result is of the same type as the operands.</p><p>Examples of above would be:</p><p><pre class="programlisting"> -(5 + 7)</pre></p><p> <span class="bold"><strong>result:</strong></span></p><div class="orderedlist"><ol type="1"><li><p>xs:integer: -12</p></li></ol></div><p><pre class="programlisting">-xs:float(&rsquo;1.23&rsquo;)</pre></p><p> <span class="bold"><strong>result:</strong></span></p><div class="orderedlist"><ol type="1"><li><p>xs:float: -1.23</p></li></ol></div><p><pre class="programlisting">-xs:double(&rsquo;1.23&rsquo;)</pre></p><p> <span class="bold"><strong>result:</strong></span></p><div class="orderedlist"><ol type="1"><li><p>xs:double: -1.23</p></li></ol></div><p><pre class="programlisting">(+5 - +7)</pre></p><p> <span class="bold"><strong>result:</strong></span></p><div class="orderedlist"><ol type="1"><li><p>xs:integer: -2</p></li></ol></div><p><pre class="programlisting">(1 to 5 div 0 )</pre></p><p> <span class="bold"><strong>result:</strong></span></p><div class="itemizedlist"><ul type="disc"><li><p>FAIL (division by zero!)</p></li></ul></div><p><pre class="programlisting">5*6*10*5*96 div 20 div 3 div 1</pre></p><p> <span class="bold"><strong>result:</strong></span></p><div class="orderedlist"><ol type="1"><li><p>xs:decimal: 2400.0</p></li></ol></div><p><pre class="programlisting">31 mod 15</pre></p><p> <span class="bold"><strong>result:</strong></span></p><div class="orderedlist"><ol type="1"><li><p>xs:integer: 1</p></li></ol></div></div></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s06.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s06.html
deleted file mode 100644
index 325296e..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s06.html
+++ /dev/null
@@ -1,4 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Range expressions</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch02s03.html" title="How to use the XPath 2.0 grammar with PsychoPath"><link rel="prev" href="ch02s03s05s03.html" title="Addition and Subtraction:"><link rel="next" href="ch02s03s07.html" title="Comparisons"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="Range_expressions"></a>Range expressions</h3></div></div></div><p>The expression E1 to E2 returns a sequence of integers. For
- example, 1 to 5 returns the sequence 1, 2, 3, 4, 5. This is useful in
- for expressions, for example the first five nodes of a node sequence
- can be processed by writing for $i in 1 to 5 return (//x) <a class="ulink" href="$i" target="_top">$i</a>. Another example:</p><p><pre class="programlisting">(1+1 to 10)</pre></p><p> <span class="bold"><strong>result:</strong></span></p><div class="orderedlist"><ol type="1"><li><p>xs:integer: 2</p></li><li><p>xs:integer: 3</p></li><li><p>xs:integer: 4</p></li><li><p>xs:integer: 5</p></li><li><p>xs:integer: 6</p></li><li><p>xs:integer: 7</p></li><li><p>xs:integer: 8</p></li><li><p>xs:integer: 9</p></li><li><p>xs:integer: 10</p></li></ol></div></div></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s07.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s07.html
deleted file mode 100644
index b9f6dd2..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s07.html
+++ /dev/null
@@ -1,39 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Comparisons</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch02s03.html" title="How to use the XPath 2.0 grammar with PsychoPath"><link rel="prev" href="ch02s03s06.html" title="Range expressions"><link rel="next" href="ch02s03s08.html" title="Conditional Expressions"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="Comparisons"></a>Comparisons</h3></div></div></div><p>The simplest comparison operators are <span class="bold"><strong>eq</strong></span>, <span class="bold"><strong>ne</strong></span>,
- <span class="bold"><strong>lt</strong></span>, <span class="bold"><strong>le</strong></span>, <span class="bold"><strong>gt</strong></span>,
- <span class="bold"><strong>ge</strong></span>. These compare two atomic values
- of the same type, for example two integers, two dates, or two strings.
- (Collation hasn&rsquo;t been implemented in current version of PsychoPath).
- If the operands are not atomic values, an error is raised.</p><p>The operators <span class="bold"><strong>=''',&nbsp;</strong></span>!='
- <span class="italic">, '</span>&lt;=' <span class="italic">,
- '</span>&gt; <span class="bold"><strong>, '''&lt;</strong></span>, and
- <span class="bold"><strong>&gt;=</strong></span> can compare arbitrary
- sequences. The result is true if any pair of items from the two
- sequences has the specified relationship, for example <span class="italic">$A = $B</span> is true if there is an item in
- <span class="italic">$A</span> that is equal to some item in
- <span class="italic">$B</span>.</p><p>The operators <span class="bold"><strong>is</strong></span> and <span class="bold"><strong>isnot</strong></span> test whether the operands represent the
- same (identical) node. For example, <span class="italic">title
- <a class="ulink" href="1" target="_top">1</a> is * <a class="ulink" href="@note" target="_top">@note</a> <a class="ulink" href="1" target="_top">1</a> </span> is true if the first title child is the
- first child element that has a <span class="italic">@note</span> attribute. If either operand is an
- empty sequence the result is an empty sequence (which will usually be
- treated as false).</p><p>The operators <span class="bold"><strong>&lt;&lt;</strong></span> and
- <span class="bold"><strong>&gt;&gt;</strong></span> test whether one node
- precedes or follows another in document order. Consider this XML
- document:</p><pre class="programlisting">&lt;book&gt;
- &lt;title&gt;Being a Dog Is a Full-Time Job&lt;/title&gt;
- &lt;author&gt;Charles M. Schulz&lt;/author&gt;
- &lt;character&gt;
- &lt;name&gt;Snoopy&lt;/name&gt;
- &lt;friend-of&gt;Peppermint Patty&lt;/friend-of&gt;
- &lt;since&gt;1950-10-04&lt;/since&gt;
- &lt;age&gt;2&lt;/age&gt;
- &lt;qualification&gt;extroverted beagle&lt;/qualification&gt;
- &lt;/character&gt;
- &lt;character&gt;
- &lt;name&gt;Peppermint Patty&lt;/name&gt;
- &lt;since&gt;1966-08-22&gt;/since&gt;
- &lt;age&gt;4&lt;/age&gt;
- &lt;qualification&gt;bold, brash and tomboyish&lt;/qualification&gt;
- &lt;/character&gt;
-&lt;/book&gt;
-</pre><p>Example:</p><p><pre class="programlisting">book/character name="Snoopy" &lt;&lt; book/character Patty" </pre></p><p><span class="bold"><strong>result:</strong></span></p><div class="orderedlist"><ol type="1"><li><p>xs:boolean: true</p></li></ol></div><p>book/character <a class="ulink" href="name=%22Peppermint" target="_top">Patty"</a>
- &lt;&lt; book/character <a class="ulink" href="name=%22Snoopy%22" target="_top">name="Snoopy"</a> <span class="bold"><strong>result:</strong></span></p><div class="orderedlist"><ol type="1"><li><p>xs:boolean: false</p></li></ol></div></div></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s08.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s08.html
deleted file mode 100644
index 788fefc..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s08.html
+++ /dev/null
@@ -1,4 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Conditional Expressions</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch02s03.html" title="How to use the XPath 2.0 grammar with PsychoPath"><link rel="prev" href="ch02s03s07.html" title="Comparisons"><link rel="next" href="ch02s03s09.html" title="Quantified Expressions"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="Conditional_Expressions"></a>Conditional Expressions</h3></div></div></div><p>XPath 2.0 allows a conditional expression of the form <span class="italic">if ( E1 ) then E2 else E3</span>. For example,
- <span class="italic">if (@discount) then @discount else
- 0</span> returns the value of the discount attribute if it is
- present, or zero otherwise.</p></div></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s09.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s09.html
deleted file mode 100644
index 4d0e877..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s09.html
+++ /dev/null
@@ -1,10 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Quantified Expressions</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch02s03.html" title="How to use the XPath 2.0 grammar with PsychoPath"><link rel="prev" href="ch02s03s08.html" title="Conditional Expressions"><link rel="next" href="ch02s03s10.html" title="And, Or Expressions"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="Quantified_Expressions"></a>Quantified Expressions</h3></div></div></div><p>The expression <span class="italic">some $x in E1 satisfies
- E2</span> returns true if there is an item in the sequence E1 for
- which the effective boolean value of E2 is true. Note that E2 must use
- the range variable <span class="italic">$x</span> to refer to
- the item being tested; it does not become the context item. For
- example, <span class="italic">some $x in @* satisfies $x eq
- ""</span> is true if the context item is an element that has at
- least one zero-length attribute value.</p><p>Similarly, the expression <span class="italic">every $x in E1
- satisfies E2</span> returns true if every item in the sequence
- given by E1 satisfies the condition.</p></div></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s10.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s10.html
deleted file mode 100644
index ce4ff84..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s10.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>And, Or Expressions</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch02s03.html" title="How to use the XPath 2.0 grammar with PsychoPath"><link rel="prev" href="ch02s03s09.html" title="Quantified Expressions"><link rel="next" href="ch02s03s11.html" title="SequenceType Matching Expressions"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="And.2C_Or_Expressions"></a>And, Or Expressions</h3></div></div></div><p>The expression <span class="italic">E1 and E2</span>
- returns true if the effective boolean values of E1 and E2 are both
- true. The expression <span class="italic">E1 or E2</span>
- returns true if the effective boolean values of either or both of E1
- and E2 are true.</p><p><pre class="programlisting"> (for a truth table) 1 and 1</pre></p><p><span class="bold"><strong>result:</strong></span></p><div class="orderedlist"><ol type="1"><li><p>xs:boolean: true</p></li></ol></div><p><pre class="programlisting">1 and 0</pre></p><p> <span class="bold"><strong>result:</strong></span></p><div class="orderedlist"><ol type="1"><li><p>xs:boolean: false</p></li></ol></div><p><pre class="programlisting">1 or 0</pre></p><p> <span class="bold"><strong>result:</strong></span></p><div class="orderedlist"><ol type="1"><li><p>xs:boolean: true</p></li></ol></div><p><pre class="programlisting">0 or 1</pre></p><p> <span class="bold"><strong>result:</strong></span></p><div class="orderedlist"><ol type="1"><li><p>xs:boolean: true</p></li></ol></div><p></p></div></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s11.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s11.html
deleted file mode 100644
index 9385c68..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch02s03s11.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>SequenceType Matching Expressions</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch02s03.html" title="How to use the XPath 2.0 grammar with PsychoPath"><link rel="prev" href="ch02s03s10.html" title="And, Or Expressions"><link rel="next" href="ch03.html" title="How to use XPath 2.0 functions with PsychoPath"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="SequenceType_Matching_Expressions"></a>SequenceType Matching Expressions</h3></div></div></div><p>The rules for SequenceType matching compare the actual type of a
- value with an expected type. These rules are a subset of the formal
- rules that match a value with an expected type defined in XQuery 1.0
- and XPath 2.0 Formal Semantics <a class="ulink" href="http://www.w3.org/TR/xpath20/#XQueryFormalSemantics" target="_top">http://www.w3.org/TR/xpath20/#XQueryFormalSemantics</a>,
- because the Formal Semantics must be able to match a value with any
- XML Schema type, whereas the rules below only match values against
- those types expressible by the SequenceType syntax.</p><p>Some of the rules for SequenceType matching require determining
- whether a given type name is the same as or derived from an expected
- type name. The given type name may be "known" (defined in the in-scope
- schema definitions), or "unknown" (not defined in the in-scope schema
- definitions). An unknown type name might be encountered, for example,
- if a source document has been validated using a schema that was not
- imported into the static context. In this case, an implementation is
- allowed (but is not required) to provide an implementation-dependent
- mechanism for determining whether the unknown type name is derived
- from the expected type name. For example, an implementation might
- maintain a data dictionary containing information about type
- hierarchies. consider the following XML document:</p><pre class="programlisting">&lt;sorbo&gt;
- &lt;is&gt;elite&lt;/is&gt;
- &lt;!-- life sux --&gt;
-&lt;/sorbo&gt;
-</pre><p>Then, the following are some example of SequenceType
- matchings:</p><p><pre class="programlisting"> element({*})</pre></p><p> <span class="bold"><strong>result:</strong></span></p><div class="orderedlist"><ol type="1"><li><p>element: sorbo</p></li></ol></div><p><pre class="programlisting">element(elite)</pre></p><p> <span class="bold"><strong>result:</strong></span></p><div class="orderedlist"><ol type="1"><li><p>Empty results</p></li></ol></div><p><pre class="programlisting">sorbo/comment()</pre></p><p> <span class="bold"><strong>result:</strong></span></p><div class="orderedlist"><ol type="1"><li><p>comment: life sux</p></li></ol></div><p><pre class="programlisting">data(/sorbo/comment())</pre></p><p> <span class="bold"><strong>result:</strong></span></p><div class="orderedlist"><ol type="1"><li><p>xs:string: life sux</p></li></ol></div><p><pre class="programlisting">sorbo/node()</pre></p><p><span class="bold"><strong>result:</strong></span></p><div class="orderedlist"><ol type="1"><li><p>text:</p></li><li><p>element: is</p></li><li><p>comment: life sux</p></li><li><p>text:</p></li></ol></div><p></p></div></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03.html
deleted file mode 100644
index 37ac396..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>How to use XPath 2.0 functions with PsychoPath</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="prev" href="ch02s03s11.html" title="SequenceType Matching Expressions"><link rel="next" href="ch03s02.html" title="Constructor Functions"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="How_to_use_XPath_2.0_functions_with_PsychoPath"></a>How to use XPath 2.0 functions with PsychoPath</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><ul><li><span class="section"><a href="ch03.html#Accessors">Accessors</a></span></li><li><span class="section"><a href="ch03s02.html">Constructor Functions</a></span></li><li><span class="section"><a href="ch03s03.html">Functions on Numeric Values</a></span></li><li><span class="section"><a href="ch03s04.html">Functions to Assemble and Disassemble Strings</a></span></li><li><span class="section"><a href="ch03s05.html">Compare and Other Functions on String Values</a></span></li><li><span class="section"><a href="ch03s06.html">Functions Based on Substring Matching</a></span></li><li><span class="section"><a href="ch03s07.html">String Functions that Use Pattern Matching</a></span></li><li><span class="section"><a href="ch03s08.html">Functions on Boolean Values</a></span></li><li><span class="section"><a href="ch03s09.html">Component Extraction Functions on Durations, Dates and
- Times</a></span></li><li><span class="section"><a href="ch03s10.html">Functions Related to QNames</a></span></li><li><span class="section"><a href="ch03s11.html">Functions on Nodes</a></span><ul><li><span class="section"><a href="ch03s11.html#General_Functions_on_Sequences">General Functions on Sequences</a></span></li><li><span class="section"><a href="ch03s11s02.html">Functions That Test the Cardinality of Sequences</a></span></li><li><span class="section"><a href="ch03s11s03.html">Deep-Equal, Aggregate Functions, and Functions that Generate
- Sequences</a></span></li><li><span class="section"><a href="ch03s11s04.html">Context Functions</a></span></li></ul></li></ul></div><p>The aim of this section is to give the user an overview of the
- available XPath 2.0 functions that are implemented in PsychoPath. For the
- formal specifications, see the W3C web-site for XPath 2.0 functions and
- operators <a class="ulink" href="http://www.w3.org/TR/xpath-functions/" target="_top">http://www.w3.org/TR/xpath-functions/</a>.</p><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Accessors"></a>Accessors</h2></div></div></div><p>In order for PsychoPath to operate on instances of the XPath 2.0
- data model, the model must expose the properties of the items it
- contains. It does this by defining a family of accessor functions. These
- functions are not available to users or applications to call directly.
- Instead, they are descriptions of the information that an implementation
- of the model must expose to applications.</p><p>data(&lsquo;string&rsquo;)</p><p>from within a Java application, in order to extract the result
- from the result sequence, one would have to use this code:</p><p><pre class="programlisting">String n = ((XSString)rs.first()).stringvalue();
-println(n);</pre></p><p>In order to get the result of &lsquo;string&rsquo;</p></div></div></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s02.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s02.html
deleted file mode 100644
index 04df21f..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s02.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Constructor Functions</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch03.html" title="How to use XPath 2.0 functions with PsychoPath"><link rel="prev" href="ch03.html" title="How to use XPath 2.0 functions with PsychoPath"><link rel="next" href="ch03s03.html" title="Functions on Numeric Values"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Constructor_Functions"></a>Constructor Functions</h2></div></div></div><p><pre class="programlisting">xs:dateTime("2002-02-01T10:00:00+06:00")</pre></p><p>From within a Java application, in order to extract the result
- from the result sequence, one would have to use this code:</p><p><pre class="programlisting">String n = ((XSDateTime)rs.first()).stringvalue(); println(n);</pre></p><p>in order to get the result of &lsquo;2002-02-01T04:00:00Z&rsquo;</p></div></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s03.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s03.html
deleted file mode 100644
index c9203ea..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s03.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Functions on Numeric Values</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch03.html" title="How to use XPath 2.0 functions with PsychoPath"><link rel="prev" href="ch03s02.html" title="Constructor Functions"><link rel="next" href="ch03s04.html" title="Functions to Assemble and Disassemble Strings"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Functions_on_Numeric_Values"></a>Functions on Numeric Values</h2></div></div></div><p><pre class="programlisting">ceiling(xs:float(&lsquo;10.4&rsquo;))</pre></p><p>from within a Java application, in order to extract the result
- from the result sequence, one would have to use this code:</p><p><pre class="programlisting">float n = ((XSFloat)rs.first()).floatvalue();
-println(n);</pre></p><p>In order to get the result of &lsquo;11.0&rsquo;</p></div></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s04.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s04.html
deleted file mode 100644
index 7cef82c..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s04.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Functions to Assemble and Disassemble Strings</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch03.html" title="How to use XPath 2.0 functions with PsychoPath"><link rel="prev" href="ch03s03.html" title="Functions on Numeric Values"><link rel="next" href="ch03s05.html" title="Compare and Other Functions on String Values"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Functions_to_Assemble_and_Disassemble_Strings"></a>Functions to Assemble and Disassemble Strings</h2></div></div></div><p><pre class="programlisting">codepoints-to-string(0111)</pre></p><p>from within a Java application, in order to extract the result
- from the result sequence, one would have to use this code:</p><p><pre class="programlisting">String n = ((XSString)rs.first()).stringvalue();
-println(n);&lt;/source&gt;</pre></p><p>In order to get the result of &lsquo;o&rsquo;</p></div></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s05.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s05.html
deleted file mode 100644
index 8c54f5c..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s05.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Compare and Other Functions on String Values</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch03.html" title="How to use XPath 2.0 functions with PsychoPath"><link rel="prev" href="ch03s04.html" title="Functions to Assemble and Disassemble Strings"><link rel="next" href="ch03s06.html" title="Functions Based on Substring Matching"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Compare_and_Other_Functions_on_String_Values"></a>Compare and Other Functions on String Values</h2></div></div></div><p><pre class="programlisting">concat(&lsquo;un&rsquo;, &lsquo;grateful&rsquo;)</pre></p><p>from within a Java application, in order to extract the result
- from the result sequence, one would have to use this code:</p><p><pre class="programlisting">String n = ((XSString)rs.first()).stringvalue();
-println(n);</pre></p><p>In order to get the result of &lsquo;ungrateful&rsquo;</p></div></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s06.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s06.html
deleted file mode 100644
index f609e13..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s06.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Functions Based on Substring Matching</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch03.html" title="How to use XPath 2.0 functions with PsychoPath"><link rel="prev" href="ch03s05.html" title="Compare and Other Functions on String Values"><link rel="next" href="ch03s07.html" title="String Functions that Use Pattern Matching"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Functions_Based_on_Substring_Matching"></a>Functions Based on Substring Matching</h2></div></div></div><p><pre class="programlisting">contains("abc", "edf")</pre></p><p>from within a Java application, in order to extract the result
- from the result sequence, one would have to use this code:</p><p><pre class="programlisting">boolean n = ((XSBoolean)rs.first()).value();
-println(n);</pre></p><p>In order to get the result of &lsquo;false&rsquo;</p></div></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s07.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s07.html
deleted file mode 100644
index ee2acc6..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s07.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>String Functions that Use Pattern Matching</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch03.html" title="How to use XPath 2.0 functions with PsychoPath"><link rel="prev" href="ch03s06.html" title="Functions Based on Substring Matching"><link rel="next" href="ch03s08.html" title="Functions on Boolean Values"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="String_Functions_that_Use_Pattern_Matching"></a>String Functions that Use Pattern Matching</h2></div></div></div><p><pre class="programlisting">matches(&lsquo;abcd&rsquo;, &lsquo;abcd&rsquo;)</pre></p><p>from within a Java application, in order to extract the result
- from the result sequence, one would have to use this code:</p><p><pre class="programlisting">boolean n = ((XSBoolean)rs.first()).value();
-println(n);</pre></p><p>In order to get the result of &lsquo;true&rsquo;</p></div></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s08.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s08.html
deleted file mode 100644
index 18ee268..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s08.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Functions on Boolean Values</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch03.html" title="How to use XPath 2.0 functions with PsychoPath"><link rel="prev" href="ch03s07.html" title="String Functions that Use Pattern Matching"><link rel="next" href="ch03s09.html" title="Component Extraction Functions on Durations, Dates and Times"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Functions_on_Boolean_Values"></a>Functions on Boolean Values</h2></div></div></div><p><pre class="programlisting">not(true())</pre></p><p>from within a Java application, in order to extract the result
- from the result sequence, one would have to use this code:</p><p><pre class="programlisting">boolean n = ((XSBoolean)rs.first()).value();
-println(n);</pre></p><p>in order to get the result of &lsquo;false&rsquo;</p></div></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s09.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s09.html
deleted file mode 100644
index ac64dd5..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s09.html
+++ /dev/null
@@ -1,4 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Component Extraction Functions on Durations, Dates and Times</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch03.html" title="How to use XPath 2.0 functions with PsychoPath"><link rel="prev" href="ch03s08.html" title="Functions on Boolean Values"><link rel="next" href="ch03s10.html" title="Functions Related to QNames"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Component_Extraction_Functions_on_Durations.2C_Dates_and_Times"></a>Component Extraction Functions on Durations, Dates and
- Times</h2></div></div></div><p><pre class="programlisting">timezone-from-time(xs:time("13:20:00+05:00"))</pre></p><p>from within a Java application, in order to extract the result
- from the result sequence, one would have to use this code:</p><p><pre class="programlisting">String n = ((XDTDayTimeDuration)rs.first()).stringvalue();
-println(n);</pre></p><p>in order to get the result of &lsquo;PT5H&rsquo;</p></div></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s10.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s10.html
deleted file mode 100644
index 41d2e40..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s10.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Functions Related to QNames</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch03.html" title="How to use XPath 2.0 functions with PsychoPath"><link rel="prev" href="ch03s09.html" title="Component Extraction Functions on Durations, Dates and Times"><link rel="next" href="ch03s11.html" title="Functions on Nodes"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Functions_Related_to_QNames"></a>Functions Related to QNames</h2></div></div></div><p><pre class="programlisting">local-name-from-QName(QName(&lsquo; <a class="ulink" href="http://www.example.com/example" target="_top">http://www.example.com/example</a>&rsquo;, &lsquo;person&rsquo;))</pre></p><p>from within a Java application, in order to extract the result
- from the result sequence, one would have to use this code:</p><p><pre class="programlisting">String n = ((XSNCName)rs.first()).stringvalue();
-println(n);</pre></p><p>in order to get the result of &lsquo;person&rsquo;</p></div></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s11.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s11.html
deleted file mode 100644
index 458c7b1..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s11.html
+++ /dev/null
@@ -1,7 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Functions on Nodes</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch03.html" title="How to use XPath 2.0 functions with PsychoPath"><link rel="prev" href="ch03s10.html" title="Functions Related to QNames"><link rel="next" href="ch03s11s02.html" title="Functions That Test the Cardinality of Sequences"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Functions_on_Nodes"></a>Functions on Nodes</h2></div></div></div><p></p><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="General_Functions_on_Sequences"></a>General Functions on Sequences</h3></div></div></div><p><pre class="programlisting">remove((&lsquo;s&rsquo;,&lsquo;o&rsquo;,&lsquo;m&rsquo;,&lsquo;e&rsquo;,&lsquo;t&rsquo;,&lsquo;h&rsquo;,&lsquo;i&rsquo;,&lsquo;n&rsquo;,&lsquo;g&rsquo;), 6)</pre></p><p>from within a Java application, in order to extract the result
- from the result sequence, one would have to use this code:</p><pre class="programlisting">for (Iterator iter = rs.iterator(); iter.hasNext();) {
- Object item = iter.next();
- String n = ((XSString)item).stringvalue();
- print(n + " ");
-} println("");
-</pre><p>in order to get the result of &lsquo;s o m e t i n g&rsquo;</p></div></div></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s11s02.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s11s02.html
deleted file mode 100644
index 2fa440a..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s11s02.html
+++ /dev/null
@@ -1,7 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Functions That Test the Cardinality of Sequences</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch03s11.html" title="Functions on Nodes"><link rel="prev" href="ch03s11.html" title="Functions on Nodes"><link rel="next" href="ch03s11s03.html" title="Deep-Equal, Aggregate Functions, and Functions that Generate Sequences"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="Functions_That_Test_the_Cardinality_of_Sequences"></a>Functions That Test the Cardinality of Sequences</h3></div></div></div><p><pre class="programlisting">one-or-more((1,2,3,4,5))</pre></p><p>from within a Java application, in order to extract the result
- from the result sequence, one would have to use this code:</p><pre class="programlisting">for (Iterator iter = rs.iterator(); iter.hasNext();) {
- Object item = iter.next();
- int n = ((XSInteger)item).intvalue();
- print(n + " ");
-} println("");
-</pre><p>in order to get the result of &lsquo;1 2 3 4 5&rsquo;</p></div></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s11s03.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s11s03.html
deleted file mode 100644
index e8734e0..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s11s03.html
+++ /dev/null
@@ -1,4 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Deep-Equal, Aggregate Functions, and Functions that Generate Sequences</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch03s11.html" title="Functions on Nodes"><link rel="prev" href="ch03s11s02.html" title="Functions That Test the Cardinality of Sequences"><link rel="next" href="ch03s11s04.html" title="Context Functions"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="Deep-Equal.2C_Aggregate_Functions.2C_and_Functions_that_Generate_Sequences"></a>Deep-Equal, Aggregate Functions, and Functions that Generate
- Sequences</h3></div></div></div><p><pre class="programlisting">avg((3,4,5))</pre></p><p>from within a Java application, in order to extract the result
- from the result sequence, one would have to use this code:</p><p><pre class="programlisting">double avg = ((XSDouble)rs.first()).doublevalue();
-println(avg);</pre></p><p>in order to get the result of &lsquo;4.0&rsquo;</p></div></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s11s04.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s11s04.html
deleted file mode 100644
index 1b243d6..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch03s11s04.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Context Functions</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch03s11.html" title="Functions on Nodes"><link rel="prev" href="ch03s11s03.html" title="Deep-Equal, Aggregate Functions, and Functions that Generate Sequences"><link rel="next" href="ch04.html" title="How to use XPath 2.0 operators with PsychoPath"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="Context_Functions"></a>Context Functions</h3></div></div></div><p><pre class="programlisting">(10 to 20) = 2</pre></p><p>from within a Java application, in order to extract the result
- from the result sequence, one would have to use this code:</p><p><pre class="programlisting">int pos = ((XSInteger)rs.first()).intvalue(); println(pos);</pre></p><p>in order to get the result of &lsquo;11&rsquo;</p></div></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04.html
deleted file mode 100644
index 789f613..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04.html
+++ /dev/null
@@ -1,6 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>How to use XPath 2.0 operators with PsychoPath</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="prev" href="ch03s11s04.html" title="Context Functions"><link rel="next" href="ch04s02.html" title="Comparison of Numeric Values"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="chapter" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="How_to_use_XPath_2.0_operators_with_PsychoPath"></a>How to use XPath 2.0 operators with PsychoPath</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><ul><li><span class="section"><a href="ch04.html#Operators_on_Numeric_Values">Operators on Numeric Values</a></span></li><li><span class="section"><a href="ch04s02.html">Comparison of Numeric Values</a></span></li><li><span class="section"><a href="ch04s03.html">Operators on Boolean Values</a></span></li><li><span class="section"><a href="ch04s04.html">Comparisons of Duration, Date and Time Values</a></span></li><li><span class="section"><a href="ch04s05.html">Arithmetic Functions on Durations</a></span></li><li><span class="section"><a href="ch04s06.html">Arithmetic Functions Dates and Times</a></span></li><li><span class="section"><a href="ch04s07.html">Operators Related to QNames And Nodes</a></span></li><li><span class="section"><a href="ch04s08.html">Union, Intersection and Except</a></span></li><li><span class="section"><a href="ch04s09.html">Operators that Generate Sequences</a></span></li></ul></div><p>The aim of this section is to give the user an overview of the
- available XPath 2.0 operators that are implemented in PsychoPath. For the
- formal specifications, see the W3C web-site for XPath 2.0 functions and
- operators <a class="ulink" href="http://www.w3.org/TR/xpath-functions/" target="_top">http://www.w3.org/TR/xpath-functions/</a>.</p><p></p><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Operators_on_Numeric_Values"></a>Operators on Numeric Values</h2></div></div></div><p><pre class="programlisting">xs:integer(4) + xs:integer(3)</pre></p><p>from within a Java application, in order to extract the result
- from the result sequence, one would have to use this code:</p><p><pre class="programlisting">Integer n = ((XSInteger)rs.first()).integervalue();
-println(n);</pre></p><p>in order to get the result of &lsquo;7&rsquo;</p></div></div></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s02.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s02.html
deleted file mode 100644
index c2d40a5..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s02.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Comparison of Numeric Values</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch04.html" title="How to use XPath 2.0 operators with PsychoPath"><link rel="prev" href="ch04.html" title="How to use XPath 2.0 operators with PsychoPath"><link rel="next" href="ch04s03.html" title="Operators on Boolean Values"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Comparison_of_Numeric_Values"></a>Comparison of Numeric Values</h2></div></div></div><p><pre class="programlisting">xs:decimal(3.3) = xs:decimal(6.6)</pre></p><p>from within a Java application, in order to extract the result
- from the result sequence, one would have to use this code:</p><p><pre class="programlisting">boolean n = ((XSBoolean)rs.first()).value(); println(n);</pre></p><p>in order to get the result of &lsquo;false&rsquo;</p></div></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s03.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s03.html
deleted file mode 100644
index 8f02b1e..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s03.html
+++ /dev/null
@@ -1,2 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Operators on Boolean Values</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch04.html" title="How to use XPath 2.0 operators with PsychoPath"><link rel="prev" href="ch04s02.html" title="Comparison of Numeric Values"><link rel="next" href="ch04s04.html" title="Comparisons of Duration, Date and Time Values"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Operators_on_Boolean_Values"></a>Operators on Boolean Values</h2></div></div></div><p><pre class="programlisting">xs:boolean(&rsquo;true&rsquo;) gt xs:boolean(&rsquo;false&rsquo;)</pre></p><p>from within a Java application, in order to extract the result
- from the result sequence, one would have to use this code:</p><p><pre class="programlisting">boolean n = ((XSBoolean)rs.first()).value(); println(n);</pre></p><p>in order to get the result of &lsquo;true&rsquo;</p></div></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s04.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s04.html
deleted file mode 100644
index 5ecc9c5..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s04.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Comparisons of Duration, Date and Time Values</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch04.html" title="How to use XPath 2.0 operators with PsychoPath"><link rel="prev" href="ch04s03.html" title="Operators on Boolean Values"><link rel="next" href="ch04s05.html" title="Arithmetic Functions on Durations"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Comparisons_of_Duration.2C_Date_and_Time_Values"></a>Comparisons of Duration, Date and Time Values</h2></div></div></div><p><pre class="programlisting">xs:time("23:00:00+06:00") lt xs:time("12:00:00-06:00")</pre></p><p>from within a Java application, in order to extract the result
- from the result sequence, one would have to use this code:</p><p><pre class="programlisting">boolean n = ((XSBoolean)rs.first()).value();
-println(n);</pre></p><p>in order to get the result of &lsquo;true&rsquo;</p></div></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s05.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s05.html
deleted file mode 100644
index 611b868..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s05.html
+++ /dev/null
@@ -1,4 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Arithmetic Functions on Durations</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch04.html" title="How to use XPath 2.0 operators with PsychoPath"><link rel="prev" href="ch04s04.html" title="Comparisons of Duration, Date and Time Values"><link rel="next" href="ch04s06.html" title="Arithmetic Functions Dates and Times"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Arithmetic_Functions_on_Durations"></a>Arithmetic Functions on Durations</h2></div></div></div><p><pre class="programlisting">multiply-dayTimeDuration(xs:dayTimeDuration("PT2H10M"), 2.1)</pre></p><p>from within a Java application, in order to extract the result
- from the result sequence, one would have to use this code:</p><p><pre class="programlisting">String n = ((XDTDayTimeDuration)rs.first()).stringvalue();
-println(n);</pre></p><p>which returns a xdt:dayTimeDuration value corresponding to 4 hours
- and 33 minutes &lsquo;PT4H33M&rsquo;</p></div></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s06.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s06.html
deleted file mode 100644
index 41722ea..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s06.html
+++ /dev/null
@@ -1,4 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Arithmetic Functions Dates and Times</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch04.html" title="How to use XPath 2.0 operators with PsychoPath"><link rel="prev" href="ch04s05.html" title="Arithmetic Functions on Durations"><link rel="next" href="ch04s07.html" title="Operators Related to QNames And Nodes"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Arithmetic_Functions_Dates_and_Times"></a>Arithmetic Functions Dates and Times</h2></div></div></div><p><pre class="programlisting">add-yearMonthDuration-to-dateTime( xs:dateTime("2000-10-30T11:12:00"), xdt:yearMonthDuration("P1Y2M"))</pre></p><p>from within a Java application, in order to extract the result
- from the result sequence, one would have to use this code:</p><p><pre class="programlisting">String n = ((XSDateTime)rs.first()).stringvalue();
-println(n);</pre></p><p>which returns an xs:dateTime value corresponding to the lexical
- representation &lsquo;2001-12-30T11:12:00&rsquo;</p></div></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s07.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s07.html
deleted file mode 100644
index 0d7d838..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s07.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Operators Related to QNames And Nodes</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch04.html" title="How to use XPath 2.0 operators with PsychoPath"><link rel="prev" href="ch04s06.html" title="Arithmetic Functions Dates and Times"><link rel="next" href="ch04s08.html" title="Union, Intersection and Except"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Operators_Related_to_QNames_And_Nodes"></a>Operators Related to QNames And Nodes</h2></div></div></div><p><pre class="programlisting">xs:QName(&rsquo;ao&rsquo;) eq xs:QName(&rsquo;ao&rsquo;)</pre></p><p>from within a Java application, in order to extract the result
- from the result sequence, one would have to use this code:</p><p><pre class="programlisting">boolean n = ((XSBoolean)rs.first()).value();
-println(n);</pre></p><p>which returns the result of &lsquo;true&rsquo;</p></div></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s08.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s08.html
deleted file mode 100644
index 9b4a308..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s08.html
+++ /dev/null
@@ -1,9 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Union, Intersection and Except</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch04.html" title="How to use XPath 2.0 operators with PsychoPath"><link rel="prev" href="ch04s07.html" title="Operators Related to QNames And Nodes"><link rel="next" href="ch04s09.html" title="Operators that Generate Sequences"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Union.2C_Intersection_and_Except"></a>Union, Intersection and Except</h2></div></div></div><p><pre class="programlisting">union($seq2, $seq3)</pre></p><p>from within a Java application, in order to extract the result
- from the result sequence, one would have to use this code:</p><pre class="programlisting">for (Iterator iter = rs.iterator(); iter.hasNext();) {
- Object item = iter.next();
- String n = ((XSString)item).stringvalue();
- print(n + ", ");
-}
-println("");
-</pre><p> </p><p>which returns the sequence consisting of $item1, $item2,
- $item3.</p><p></p></div></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s09.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s09.html
deleted file mode 100644
index d822a00..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/ch04s09.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Operators that Generate Sequences</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="up" href="ch04.html" title="How to use XPath 2.0 operators with PsychoPath"><link rel="prev" href="ch04s08.html" title="Union, Intersection and Except"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="Operators_that_Generate_Sequences"></a>Operators that Generate Sequences</h2></div></div></div><p><pre class="programlisting">(1 to 3)</pre></p><p>from within a Java application, in order to extract the result
- from the result sequence, one would have to use this code:</p><p><pre class="programlisting">int n = (XSInteger)rs.first()).stringvalue();
-println(n);</pre></p><p>which returns the sequence consisting of 1, 2, 3.</p></div></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/index.html b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/index.html
deleted file mode 100644
index 3a1c190..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/html/index.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<html><head><META http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>XPath 2.0 Processor User Manual</title><link href="book.css" rel="stylesheet" type="text/css"><link href="../book.css" rel="stylesheet" type="text/css"><meta content="DocBook XSL Stylesheets V1.74.0" name="generator"><link rel="home" href="index.html" title="XPath 2.0 Processor User Manual"><link rel="next" href="ch01.html" title="Introduction"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="book" lang="en"><div class="titlepage"><div><div><h1 class="title"><a name="N10001"></a>XPath 2.0 Processor User Manual</h1></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><ul><li><span class="chapter"><a href="ch01.html">Introduction</a></span><ul><li><span class="section"><a href="ch01.html#Getting_PsychoPath">Getting PsychoPath</a></span></li></ul></li><li><span class="chapter"><a href="ch02.html">Using PsychoPath XPath 2.0 API</a></span><ul><li><span class="section"><a href="ch02.html#Non-Schema_Aware">Non-Schema Aware</a></span></li><li><span class="section"><a href="ch02s02.html">Schema Aware</a></span></li><li><span class="section"><a href="ch02s03.html">How to use the XPath 2.0 grammar with PsychoPath</a></span><ul><li><span class="section"><a href="ch02s03.html#Constants">Constants</a></span></li><li><span class="section"><a href="ch02s03s02.html">Path expressions</a></span></li><li><span class="section"><a href="ch02s03s03.html">Axis steps</a></span></li><li><span class="section"><a href="ch02s03s04.html">Set difference, intersection and Union</a></span></li><li><span class="section"><a href="ch02s03s05.html">Arithmetic Expressions</a></span><ul><li><span class="section"><a href="ch02s03s05.html#Unary">Unary</a></span></li><li><span class="section"><a href="ch02s03s05s02.html">Multiplication and Division:</a></span></li><li><span class="section"><a href="ch02s03s05s03.html">Addition and Subtraction:</a></span></li></ul></li><li><span class="section"><a href="ch02s03s06.html">Range expressions</a></span></li><li><span class="section"><a href="ch02s03s07.html">Comparisons</a></span></li><li><span class="section"><a href="ch02s03s08.html">Conditional Expressions</a></span></li><li><span class="section"><a href="ch02s03s09.html">Quantified Expressions</a></span></li><li><span class="section"><a href="ch02s03s10.html">And, Or Expressions</a></span></li><li><span class="section"><a href="ch02s03s11.html">SequenceType Matching Expressions</a></span></li></ul></li></ul></li><li><span class="chapter"><a href="ch03.html">How to use XPath 2.0 functions with PsychoPath</a></span><ul><li><span class="section"><a href="ch03.html#Accessors">Accessors</a></span></li><li><span class="section"><a href="ch03s02.html">Constructor Functions</a></span></li><li><span class="section"><a href="ch03s03.html">Functions on Numeric Values</a></span></li><li><span class="section"><a href="ch03s04.html">Functions to Assemble and Disassemble Strings</a></span></li><li><span class="section"><a href="ch03s05.html">Compare and Other Functions on String Values</a></span></li><li><span class="section"><a href="ch03s06.html">Functions Based on Substring Matching</a></span></li><li><span class="section"><a href="ch03s07.html">String Functions that Use Pattern Matching</a></span></li><li><span class="section"><a href="ch03s08.html">Functions on Boolean Values</a></span></li><li><span class="section"><a href="ch03s09.html">Component Extraction Functions on Durations, Dates and
- Times</a></span></li><li><span class="section"><a href="ch03s10.html">Functions Related to QNames</a></span></li><li><span class="section"><a href="ch03s11.html">Functions on Nodes</a></span><ul><li><span class="section"><a href="ch03s11.html#General_Functions_on_Sequences">General Functions on Sequences</a></span></li><li><span class="section"><a href="ch03s11s02.html">Functions That Test the Cardinality of Sequences</a></span></li><li><span class="section"><a href="ch03s11s03.html">Deep-Equal, Aggregate Functions, and Functions that Generate
- Sequences</a></span></li><li><span class="section"><a href="ch03s11s04.html">Context Functions</a></span></li></ul></li></ul></li><li><span class="chapter"><a href="ch04.html">How to use XPath 2.0 operators with PsychoPath</a></span><ul><li><span class="section"><a href="ch04.html#Operators_on_Numeric_Values">Operators on Numeric Values</a></span></li><li><span class="section"><a href="ch04s02.html">Comparison of Numeric Values</a></span></li><li><span class="section"><a href="ch04s03.html">Operators on Boolean Values</a></span></li><li><span class="section"><a href="ch04s04.html">Comparisons of Duration, Date and Time Values</a></span></li><li><span class="section"><a href="ch04s05.html">Arithmetic Functions on Durations</a></span></li><li><span class="section"><a href="ch04s06.html">Arithmetic Functions Dates and Times</a></span></li><li><span class="section"><a href="ch04s07.html">Operators Related to QNames And Nodes</a></span></li><li><span class="section"><a href="ch04s08.html">Union, Intersection and Except</a></span></li><li><span class="section"><a href="ch04s09.html">Operators that Generate Sequences</a></span></li></ul></li></ul></div></div></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/lib/.cvsignore b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/lib/.cvsignore
deleted file mode 100644
index aa9bb30..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/lib/.cvsignore
+++ /dev/null
@@ -1,3 +0,0 @@
-org.eclipse.mylyn.wikitext.core_1.1.2.I20090813-1900-e3x.jar
-org.eclipse.mylyn.wikitext.mediawiki.core_1.1.2.I20090813-1900-e3x.jar
-plugins
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/mediawiki/.cvsignore b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/mediawiki/.cvsignore
deleted file mode 100644
index 4152f9d..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/mediawiki/.cvsignore
+++ /dev/null
@@ -1 +0,0 @@
-usermanual
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/plugin.properties b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/plugin.properties
deleted file mode 100644
index b679d29..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/plugin.properties
+++ /dev/null
@@ -1,3 +0,0 @@
-#Properties file for org.eclipse.wst.xsl.doc
-vendorName = Eclipse Web Tools Platform
-pluginName = XPath 2.0 (PsychoPath) User Documentation \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/plugin.xml b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/plugin.xml
deleted file mode 100644
index 1427912..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/plugin.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.2"?>
-<plugin>
-
- <extension
- point="org.eclipse.help.toc">
- <toc
- file="toc.xml"
- primary="true">
- </toc>
- </extension>
-
-</plugin>
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/toc.xml b/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/toc.xml
deleted file mode 100644
index cda16b3..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.doc.user/toc.xml
+++ /dev/null
@@ -1 +0,0 @@
-<toc topic="html/index.html" label="XPath 2.0 Processor User Manual"><topic href="html/ch01.html" label="Introduction"><topic href="html/ch01.html#Getting_PsychoPath" label="Getting PsychoPath"></topic></topic><topic href="html/ch02.html" label="Using PsychoPath XPath 2.0 API"><topic href="html/ch02.html#Non-Schema_Aware" label="Non-Schema Aware"></topic><topic href="html/ch02s02.html" label="Schema Aware"></topic><topic href="html/ch02s03.html" label="How to use the XPath 2.0 grammar with PsychoPath"><topic href="html/ch02s03.html#Constants" label="Constants"></topic><topic href="html/ch02s03s02.html" label="Path expressions"></topic><topic href="html/ch02s03s03.html" label="Axis steps"></topic><topic href="html/ch02s03s04.html" label="Set difference, intersection and Union"></topic><topic href="html/ch02s03s05.html" label="Arithmetic Expressions"><topic href="html/ch02s03s05.html#Unary" label="Unary"></topic><topic href="html/ch02s03s05s02.html" label="Multiplication and Division:"></topic><topic href="html/ch02s03s05s03.html" label="Addition and Subtraction:"></topic></topic><topic href="html/ch02s03s06.html" label="Range expressions"></topic><topic href="html/ch02s03s07.html" label="Comparisons"></topic><topic href="html/ch02s03s08.html" label="Conditional Expressions"></topic><topic href="html/ch02s03s09.html" label="Quantified Expressions"></topic><topic href="html/ch02s03s10.html" label="And, Or Expressions"></topic><topic href="html/ch02s03s11.html" label="SequenceType Matching Expressions"></topic></topic></topic><topic href="html/ch03.html" label="How to use XPath 2.0 functions with PsychoPath"><topic href="html/ch03.html#Accessors" label="Accessors"></topic><topic href="html/ch03s02.html" label="Constructor Functions"></topic><topic href="html/ch03s03.html" label="Functions on Numeric Values"></topic><topic href="html/ch03s04.html" label="Functions to Assemble and Disassemble Strings"></topic><topic href="html/ch03s05.html" label="Compare and Other Functions on String Values"></topic><topic href="html/ch03s06.html" label="Functions Based on Substring Matching"></topic><topic href="html/ch03s07.html" label="String Functions that Use Pattern Matching"></topic><topic href="html/ch03s08.html" label="Functions on Boolean Values"></topic><topic href="html/ch03s09.html" label="Component Extraction Functions on Durations, Dates and Times"></topic><topic href="html/ch03s10.html" label="Functions Related to QNames"></topic><topic href="html/ch03s11.html" label="Functions on Nodes"><topic href="html/ch03s11.html#General_Functions_on_Sequences" label="General Functions on Sequences"></topic><topic href="html/ch03s11s02.html" label="Functions That Test the Cardinality of Sequences"></topic><topic href="html/ch03s11s03.html" label="Deep-Equal, Aggregate Functions, and Functions that Generate Sequences"></topic><topic href="html/ch03s11s04.html" label="Context Functions"></topic></topic></topic><topic href="html/ch04.html" label="How to use XPath 2.0 operators with PsychoPath"><topic href="html/ch04.html#Operators_on_Numeric_Values" label="Operators on Numeric Values"></topic><topic href="html/ch04s02.html" label="Comparison of Numeric Values"></topic><topic href="html/ch04s03.html" label="Operators on Boolean Values"></topic><topic href="html/ch04s04.html" label="Comparisons of Duration, Date and Time Values"></topic><topic href="html/ch04s05.html" label="Arithmetic Functions on Durations"></topic><topic href="html/ch04s06.html" label="Arithmetic Functions Dates and Times"></topic><topic href="html/ch04s07.html" label="Operators Related to QNames And Nodes"></topic><topic href="html/ch04s08.html" label="Union, Intersection and Except"></topic><topic href="html/ch04s09.html" label="Operators that Generate Sequences"></topic></topic></toc> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/.classpath b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/.classpath
deleted file mode 100644
index 64c5e31..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/.classpath
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
- <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="src" path="src"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/.project b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/.project
deleted file mode 100644
index f866e7b..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/.project
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>org.eclipse.wst.xml.xpath2.processor.sdk.doc</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.jdt.core.javabuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.ManifestBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- <buildCommand>
- <name>org.eclipse.pde.SchemaBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.PluginNature</nature>
- <nature>org.eclipse.jdt.core.javanature</nature>
- </natures>
-</projectDescription>
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/.settings/org.eclipse.jdt.core.prefs b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index 4ed1843..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,8 +0,0 @@
-#Thu Aug 27 00:57:46 GMT 2009
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
-org.eclipse.jdt.core.compiler.compliance=1.5
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
-org.eclipse.jdt.core.compiler.source=1.5
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/META-INF/MANIFEST.MF b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/META-INF/MANIFEST.MF
deleted file mode 100644
index 94c602b..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,11 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: %pluginName
-Bundle-SymbolicName: org.eclipse.wst.xml.xpath2.processor.sdk.doc; singleton:=true
-Bundle-Version: 1.0.0.qualifier
-Bundle-Activator: org.eclipse.wst.xml.xpath2.processor.sdk.doc.Activator
-Require-Bundle: org.eclipse.core.runtime
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: J2SE-1.5
-Bundle-Vendor: %providerName
-Bundle-Localization: plugin
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/about.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/about.html
deleted file mode 100644
index ed30003..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/about.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
-<HTML>
-
-<head>
-<title>About</title>
-<meta http-equiv=Content-Type content="text/html; charset=ISO-8859-1">
-</head>
-
-<BODY lang="EN-US">
-
-<H3>About This Content</H3>
-
-<P>August, 2008</P>
-
-<H3>License</H3>
-
-<P>The Eclipse Foundation makes available all content in this plug-in
-("Content"). Unless otherwise indicated below, the Content is provided to you
-under the terms and conditions of the Eclipse Public License Version 1.0
-("EPL"). A copy of the EPL is available at
-<A href="http://www.eclipse.org/org/documents/epl-v10.php">http://www.eclipse.org/org/documents/epl-v10.php</A>.
-For purposes of the EPL, "Program" will mean the Content.</P>
-
-<P>If you did not receive this Content directly from the Eclipse Foundation, the
-Content is being redistributed by another party ("Redistributor") and different
-terms and conditions may apply to your use of any object code in the Content.
-Check the Redistributors license that was provided with the Content. If no such
-license exists, contact the Redistributor. Unless otherwise indicated below, the
-terms and conditions of the EPL still apply to any source code in the Content
-and such source code may be obtained at
-<A href="http://www.eclipse.org/">http://www.eclipse.org/</A>.</P>
-
-</BODY>
-</HTML>
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/build.properties b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/build.properties
deleted file mode 100644
index 440ecc2..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/build.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = plugin.xml,\
- META-INF/,\
- .,\
- toc.xml,\
- about.html,\
- bin/,\
- doc/,\
- plugin.properties
-src.includes = about.html,\
- toc.xml,\
- doc/
-bin.excludes = doc/html/deleteme.html
-
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/build.xml b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/build.xml
deleted file mode 100644
index 84bf003..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/build.xml
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- ======================================================================
- Jul 21, 2008 6:46:02 PM
-
- SDK Documentation
- Builds SDK TOC Documentation using JELDoclet.
-
- dcarver
- ====================================================================== -->
-<project name="SDK Documentation" default="default">
- <description>
- Builds SDK TOC Documentation using JELDoclet.
- </description>
-
- <property name="workspace" location="."/>
- <property name="workspaceloc" location=".."/>
-
- <!-- =================================
- target: default
- ================================= -->
- <target name="default" description="Builds SDK TOC Documentation using JELDoclet.">
-
- <javadoc destdir="doc" package="true" docletpath="${workspace}/lib/jeldoclet.jar">
- <fileset dir="${workspaceloc}">
- <include name="org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/*.java"/>
- <include name="org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/ast/*.java"/>
- <include name="org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/ast/*.java"/>
- <include name="org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/function/*.java"/>
- <include name="org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/*.java"/>
- <include name="org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/*.java"/>
- <include name="org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/functions/*.java"/>
- <include name="org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/types/userdefined/*.java"/>
- <include name="org.eclipse.wst.xml.xpath2.processor/src/org/eclipse/wst/xml/xpath2/processor/internal/utils/*.java"/>
- </fileset>
- <doclet name="com.jeldoclet.JELDoclet"/>
- </javadoc>
-
- <xslt basedir="." style="doc/jeltohtml.xsl" in="doc/jel.xml" out="doc/html/deleteme.html">
- <factory name="org.apache.xalan.processor.TransformerFactoryImpl">
- <attribute name="http://xml.apache.org/xalan/features/optimize" value="true"/>
-
- </factory>
- </xslt>
-
-
- <xslt style="doc/jeltotoc.xsl" in="doc/jel.xml" out="toc.xml" destdir=".">
- <factory name="org.apache.xalan.processor.TransformerFactoryImpl">
- <attribute name="http://xml.apache.org/xalan/features/optimize" value="true"/>
- </factory>
- <param name="sdkname" expression="XSL Tools SDK Documentation"/>
- </xslt>
-
- </target>
-
-</project>
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/deleteme.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/deleteme.html
deleted file mode 100644
index e69de29..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/deleteme.html
+++ /dev/null
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.CollationProvider.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.CollationProvider.html
deleted file mode 100644
index 8f77a22..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.CollationProvider.html
+++ /dev/null
@@ -1,9 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor</strong></font><br>
- Class CollationProvider</h2><br><hr><pre>public class <strong>CollationProvider</strong>
-extends </pre>Service provider interface for looking up collations from within the dynamic context.<p></p><hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.Comparator</code></td><td width="" align="left"><code><a href="#method_get_collation">get_collation</a>(java.lang.String name)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Gets the named collator. W3C does not define collation names (yet?) so we are constrained to using an
- implementation-defined naming scheme.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Methods Detail
- </h2></td></tr></table><h2><a name="method_get_collation">get_collation</a></h2><p><code>public java.util.Comparator <strong>get_collation</strong>(java.lang.String name)</code></p><p>Gets the named collator. W3C does not define collation names (yet?) so we are constrained to using an
- implementation-defined naming scheme.</p><h3>Parameters</h3><p><code>name</code> - A URI designating the collation to use</p><h3>Returns</h3><p><code>java.util.Comparator</code> - The collation to use, or null if no such collation exists by this provider</p><hr></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DOMBuilder.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DOMBuilder.html
deleted file mode 100644
index 4272e9d..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DOMBuilder.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor</strong></font><br>
- Class DOMBuilder</h2><br><hr><pre>public class <strong>DOMBuilder</strong>
-extends java.lang.Object</pre>The DOM builder loads an DOM from an InputStream. The loading is always namespace aware.<hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>package-private boolean</code></td><td width="80%" align="left"><code><a href="#field__namespace_aware">_namespace_aware</a></code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>package-private boolean</code></td><td width="80%" align="left"><code><a href="#field__validating">_validating</a></code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_DOMBuilder">DOMBuilder</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.w3c.dom.Document</code></td><td width="" align="left"><code><a href="#method_load">load</a>(java.io.InputStream in)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Loads The XML document.</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_set_validating">set_validating</a>(boolean x)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Set validating boolean.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Field Detail
- </h2></td></tr></table><h2><a name="field__namespace_aware">_namespace_aware</a></h2><p><code>package-private boolean <strong>_namespace_aware</strong></code></p><hr><h2><a name="field__validating">_validating</a></h2><p><code>package-private boolean <strong>_validating</strong></code></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Constructor Detail
- </h2></td></tr></table><h2><a name="con_DOMBuilder">DOMBuilder</a></h2><p><code>public <strong>DOMBuilder</strong>()</code></p><p>Constructor for DOM builder.</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Methods Detail
- </h2></td></tr></table><h2><a name="method_load">load</a></h2><p><code>public org.w3c.dom.Document <strong>load</strong>(java.io.InputStream in)</code></p><p>Loads The XML document.</p><h3>Parameters</h3><p><code>in</code> - is the input stream.</p><h3>Returns</h3><p><code>org.w3c.dom.Document</code> - The loaded document.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DOMLoaderException - DOM loader exception.</code></p><hr><h2><a name="method_set_validating">set_validating</a></h2><p><code>public void <strong>set_validating</strong>(boolean x)</code></p><p>Set validating boolean.</p><h3>Parameters</h3><p><code>x</code> - is the value to set the validating boolean to.</p><hr></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DOMLoader.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DOMLoader.html
deleted file mode 100644
index 30fe714..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DOMLoader.html
+++ /dev/null
@@ -1,9 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor</strong></font><br>
- Class DOMLoader</h2><br><hr><pre>public class <strong>DOMLoader</strong>
-extends </pre>The DOM loader loads the XML document.<hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.w3c.dom.Document</code></td><td width="" align="left"><code><a href="#method_load">load</a>(java.io.InputStream in)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- The DOM loader loads the XML docuemnt</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_set_validating">set_validating</a>(boolean val)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Set validating boolean.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Methods Detail
- </h2></td></tr></table><h2><a name="method_load">load</a></h2><p><code>public org.w3c.dom.Document <strong>load</strong>(java.io.InputStream in)</code></p><p>The DOM loader loads the XML docuemnt</p><h3>Parameters</h3><p><code>in</code> - is the input stream.</p><h3>Returns</h3><p><code>org.w3c.dom.Document</code> - The loaded document. The document is always loaded as namespace-aware</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DOMLoaderException - DOM loader exception.</code></p><hr><h2><a name="method_set_validating">set_validating</a></h2><p><code>public void <strong>set_validating</strong>(boolean val)</code></p><p>Set validating boolean.</p><h3>Parameters</h3><p><code>val</code> - is the validating boolean.</p><hr></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DOMLoaderException.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DOMLoaderException.html
deleted file mode 100644
index 66a8e22..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DOMLoaderException.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor</strong></font><br>
- Class DOMLoaderException</h2><br><hr><pre>public class <strong>DOMLoaderException</strong>
-extends org.eclipse.wst.xml.xpath2.processor.XPathException</pre>Exception caused by DOM loader.<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_DOMLoaderException">DOMLoaderException</a></strong>(java.lang.String reason)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Constructor Detail
- </h2></td></tr></table><h2><a name="con_DOMLoaderException">DOMLoaderException</a></h2><p><code>public <strong>DOMLoaderException</strong>(java.lang.String reason)</code></p><p>Constructor for DOM loader exception.</p><hr></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DefaultDynamicContext.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DefaultDynamicContext.html
deleted file mode 100644
index fffa7e1..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DefaultDynamicContext.html
+++ /dev/null
@@ -1,58 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor</strong></font><br>
- Class DefaultDynamicContext</h2><br><hr><pre>public class <strong>DefaultDynamicContext</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.DefaultStaticContext</pre>The default implementation of a Dynamic Context.
-
- Initializes and provides functionality of a dynamic context according to the
- XPath 2.0 specification.<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_DefaultDynamicContext">DefaultDynamicContext</a></strong>(org.apache.xerces.xs.XSModel schema
- ,
- org.w3c.dom.Document doc)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_add_function_library">add_function_library</a>(FunctionLibrary fl)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Adds function definitions.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code></td><td width="" align="left"><code><a href="#method_context_item">context_item</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Retrieve context item that is in focus</td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_context_position">context_position</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Retrieve the position of the focus</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.GregorianCalendar</code></td><td width="" align="left"><code><a href="#method_current_date_time">current_date_time</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Gets the Current stable date time from the dynamic context.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_default_collation_name">default_collation_name</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_evaluate_function">evaluate_function</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name
- ,
- java.util.Collection args)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.Focus</code></td><td width="" align="left"><code><a href="#method_focus">focus</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Return the focus</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.Comparator</code></td><td width="" align="left"><code><a href="#method_get_collation">get_collation</a>(java.lang.String uri)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_get_doc">get_doc</a>(java.net.URI resolved)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- get document</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code></td><td width="" align="left"><code><a href="#method_get_variable">get_variable</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Retrieve the variable name</td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_last">last</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Retrieve the position of the last focus</td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_node_position">node_position</a>(org.w3c.dom.Node node)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Use focus().position() to retrieve the value.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.net.URI</code></td><td width="" align="left"><code><a href="#method_resolve_uri">resolve_uri</a>(java.lang.String uri)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_set_collation_provider">set_collation_provider</a>(org.eclipse.wst.xml.xpath2.processor.CollationProvider provider)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_set_default_collation">set_default_collation</a>(java.lang.String _default_collation)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_set_focus">set_focus</a>(org.eclipse.wst.xml.xpath2.processor.internal.Focus f)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Changes the current focus.</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_set_variable">set_variable</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName var
- ,
- org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType val)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Sets the value of a variable.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration</code></td><td width="" align="left"><code><a href="#method_tz">tz</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Reads the day from a TimeDuration type</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Constructor Detail
- </h2></td></tr></table><h2><a name="con_DefaultDynamicContext">DefaultDynamicContext</a></h2><p><code>public <strong>DefaultDynamicContext</strong>(org.apache.xerces.xs.XSModel schema
- ,
- org.w3c.dom.Document doc)</code></p><p>Constructor.</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Methods Detail
- </h2></td></tr></table><h2><a name="method_add_function_library">add_function_library</a></h2><p><code>public void <strong>add_function_library</strong>(FunctionLibrary fl)</code></p><p>Adds function definitions.</p><h3>Parameters</h3><p><code>fl</code> - Function library to add.</p><hr><h2><a name="method_context_item">context_item</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType <strong>context_item</strong>()</code></p><p>Retrieve context item that is in focus</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code> - an AnyType result from _focus.context_item()</p><hr><h2><a name="method_context_position">context_position</a></h2><p><code>public int <strong>context_position</strong>()</code></p><p>Retrieve the position of the focus</p><h3>Returns</h3><p><code>int</code> - an integer result from _focus.position()</p><hr><h2><a name="method_current_date_time">current_date_time</a></h2><p><code>public java.util.GregorianCalendar <strong>current_date_time</strong>()</code></p><p>Gets the Current stable date time from the dynamic context.</p><h3>Returns</h3><p><code>java.util.GregorianCalendar</code></p><hr><h2><a name="method_default_collation_name">default_collation_name</a></h2><p><code>public java.lang.String <strong>default_collation_name</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_evaluate_function">evaluate_function</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>evaluate_function</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name
- ,
- java.util.Collection args)</code></p><p></p><h3>Parameters</h3><p><code>name</code></p><p><code>args</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - a ResultSequence from funct.evaluate(args)</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_focus">focus</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.Focus <strong>focus</strong>()</code></p><p>Return the focus</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.Focus</code> - _focus</p><hr><h2><a name="method_get_collation">get_collation</a></h2><p><code>public java.util.Comparator <strong>get_collation</strong>(java.lang.String uri)</code></p><p></p><h3>Parameters</h3><p><code>uri</code></p><h3>Returns</h3><p><code>java.util.Comparator</code></p><hr><h2><a name="method_get_doc">get_doc</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>get_doc</strong>(java.net.URI resolved)</code></p><p>get document</p><h3>Parameters</h3><p><code>resolved</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - a ResultSequence from ResultSequenceFactory.create_new()</p><hr><h2><a name="method_get_variable">get_variable</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType <strong>get_variable</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name)</code></p><p>Retrieve the variable name</p><h3>Parameters</h3><p><code>name</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code> - an AnyType result from get_var(name) or return NULL</p><hr><h2><a name="method_last">last</a></h2><p><code>public int <strong>last</strong>()</code></p><p>Retrieve the position of the last focus</p><h3>Returns</h3><p><code>int</code> - an integer result from _focus.last()</p><hr><h2><a name="method_node_position">node_position</a></h2><p><code>public int <strong>node_position</strong>(org.w3c.dom.Node node)</code></p><p>Use focus().position() to retrieve the value.</p><h3>Parameters</h3><p><code>node</code></p><h3>Returns</h3><p><code>int</code></p><hr><h2><a name="method_resolve_uri">resolve_uri</a></h2><p><code>public java.net.URI <strong>resolve_uri</strong>(java.lang.String uri)</code></p><p></p><h3>Parameters</h3><p><code>uri</code></p><h3>Returns</h3><p><code>java.net.URI</code></p><hr><h2><a name="method_set_collation_provider">set_collation_provider</a></h2><p><code>public void <strong>set_collation_provider</strong>(org.eclipse.wst.xml.xpath2.processor.CollationProvider provider)</code></p><p></p><h3>Parameters</h3><p><code>provider</code></p><hr><h2><a name="method_set_default_collation">set_default_collation</a></h2><p><code>public void <strong>set_default_collation</strong>(java.lang.String _default_collation)</code></p><p></p><h3>Parameters</h3><p><code>_default_collation</code></p><hr><h2><a name="method_set_focus">set_focus</a></h2><p><code>public void <strong>set_focus</strong>(org.eclipse.wst.xml.xpath2.processor.internal.Focus f)</code></p><p>Changes the current focus.</p><h3>Parameters</h3><p><code>f</code> - focus to set</p><hr><h2><a name="method_set_variable">set_variable</a></h2><p><code>public void <strong>set_variable</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName var
- ,
- org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType val)</code></p><p>Sets the value of a variable.</p><h3>Parameters</h3><p><code>var</code> - Variable name.</p><p><code>val</code> - Variable value.</p><hr><h2><a name="method_tz">tz</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration <strong>tz</strong>()</code></p><p>Reads the day from a TimeDuration type</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration</code> - an xs:integer _tz</p><hr></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator.DummyError.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator.DummyError.html
deleted file mode 100644
index 1d433bc..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator.DummyError.html
+++ /dev/null
@@ -1,9 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor</strong></font><br>
- Class DefaultEvaluator.DummyError</h2><br><hr><pre>package-private class <strong>DefaultEvaluator.DummyError</strong>
-extends java.lang.Error</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_DefaultEvaluator.DummyError">DefaultEvaluator.DummyError</a></strong>(int type)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_type">type</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Constructor Detail
- </h2></td></tr></table><h2><a name="con_DefaultEvaluator.DummyError">DefaultEvaluator.DummyError</a></h2><p><code>public <strong>DefaultEvaluator.DummyError</strong>(int type)</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Methods Detail
- </h2></td></tr></table><h2><a name="method_type">type</a></h2><p><code>public int <strong>type</strong>()</code></p><p></p><h3>Returns</h3><p><code>int</code></p><hr></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator.Pair.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator.Pair.html
deleted file mode 100644
index ed51cb5..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator.Pair.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor</strong></font><br>
- Class DefaultEvaluator.Pair</h2><br><hr><pre>package-private class <strong>DefaultEvaluator.Pair</strong>
-extends java.lang.Object</pre><hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="80%" align="left"><code><a href="#field__one">_one</a></code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="80%" align="left"><code><a href="#field__two">_two</a></code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_DefaultEvaluator.Pair">DefaultEvaluator.Pair</a></strong>(java.lang.Object o
- ,
- java.lang.Object t)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Field Detail
- </h2></td></tr></table><h2><a name="field__one">_one</a></h2><p><code>public java.lang.Object <strong>_one</strong></code></p><hr><h2><a name="field__two">_two</a></h2><p><code>public java.lang.Object <strong>_two</strong></code></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Constructor Detail
- </h2></td></tr></table><h2><a name="con_DefaultEvaluator.Pair">DefaultEvaluator.Pair</a></h2><p><code>public <strong>DefaultEvaluator.Pair</strong>(java.lang.Object o
- ,
- java.lang.Object t)</code></p><p></p><hr></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator.html
deleted file mode 100644
index 152c421..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DefaultEvaluator.html
+++ /dev/null
@@ -1,115 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor</strong></font><br>
- Class DefaultEvaluator</h2><br><hr><pre>public class <strong>DefaultEvaluator</strong>
-extends java.lang.Object</pre>Default evaluator interface<hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_DefaultEvaluator">DefaultEvaluator</a></strong>(org.eclipse.wst.xml.xpath2.processor.DynamicContext dc
- ,
- org.w3c.dom.Document doc)</code></td></tr><tr><td><code><strong><a href="#con_DefaultEvaluator.DummyError">DefaultEvaluator.DummyError</a></strong>(int type)</code></td></tr><tr><td><code><strong><a href="#con_DefaultEvaluator.Pair">DefaultEvaluator.Pair</a></strong>(java.lang.Object o
- ,
- java.lang.Object t)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_evaluate">evaluate</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathNode node)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- evaluate the xpath node</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.ast.XPath xp)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- iterate through xpath expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.ForExpr fex)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- visit for expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.QuantifiedExpr qex)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- visit quantified expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.IfExpr ifex)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- visit if expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.OrExpr orex)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- visit or expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.AndExpr andex)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- visit and expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.CmpExpr cmpex)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- visit compare expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.RangeExpr rex)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- visit range expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.AddExpr addex)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- visit and expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.SubExpr subex)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- visit sub expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.MulExpr mulex)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- visit multiply expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.DivExpr mulex)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- visit division expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.IDivExpr mulex)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- visit integer division expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.ModExpr mulex)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- visit modular expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.UnionExpr unex)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- visit union expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.PipeExpr pipex)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- visit pipe expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.IntersectExpr iexpr)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- visit intersect expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.ExceptExpr eexpr)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- visit except expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.InstOfExpr ioexp)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- visit instance of expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.TreatAsExpr taexp)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- visit treat-as expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.CastableExpr cexp)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- visit castable expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.CastExpr cexp)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- visit cast expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.MinusExpr e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- visit minus expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.PlusExpr e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- visit plus expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathExpr e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- visit XPath expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.ForwardStep e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- visit a forward step expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.ReverseStep e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- visit a reverse step expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.NameTest e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- visit a name test expression</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.VarRef e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- visit variable reference</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.StringLiteral e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- visit string literal.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.IntegerLiteral e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- visit integer literal.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.DoubleLiteral e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- visit double literal.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.DecimalLiteral e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- visit decimal literal.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.ParExpr e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- visit parent expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.CntxItemExpr e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- visit context item expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.FunctionCall e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- visit function call.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.SingleType e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- visit single type.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.SequenceType e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- visit sequence type.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.ItemType e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- visit item type.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.AnyKindTest e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- visit any kind test.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.DocumentTest e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- visit document test.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.TextTest e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- visit text test.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.CommentTest e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- visit comment test.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.PITest e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- visit PI test.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.AttributeTest e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- visit attribute test.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.SchemaAttrTest e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- visit schema attribute test.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.ElementTest e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- visit element test.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.SchemaElemTest e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- visit schema element test.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.AxisStep e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- visit axis step.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.FilterExpr e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- visit filter expression</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Constructor Detail
- </h2></td></tr></table><h2><a name="con_DefaultEvaluator">DefaultEvaluator</a></h2><p><code>public <strong>DefaultEvaluator</strong>(org.eclipse.wst.xml.xpath2.processor.DynamicContext dc
- ,
- org.w3c.dom.Document doc)</code></p><p>set parameters</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Methods Detail
- </h2></td></tr></table><h2><a name="method_evaluate">evaluate</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>evaluate</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathNode node)</code></p><p>evaluate the xpath node</p><h3>Parameters</h3><p><code>node</code> - is the xpath node.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - result sequence.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.ast.XPath xp)</code></p><p>iterate through xpath expression</p><h3>Parameters</h3><p><code>xp</code> - is the xpath.</p><h3>Returns</h3><p><code>java.lang.Object</code> - result sequence.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.ForExpr fex)</code></p><p>visit for expression</p><h3>Parameters</h3><p><code>fex</code> - is the for expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.QuantifiedExpr qex)</code></p><p>visit quantified expression</p><h3>Parameters</h3><p><code>qex</code> - is the quantified expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function or null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.IfExpr ifex)</code></p><p>visit if expression</p><h3>Parameters</h3><p><code>ifex</code> - is the if expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a ifex.then_clause().accept(this).</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.OrExpr orex)</code></p><p>visit or expression</p><h3>Parameters</h3><p><code>orex</code> - is the or expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.AndExpr andex)</code></p><p>visit and expression</p><h3>Parameters</h3><p><code>andex</code> - is the and expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.CmpExpr cmpex)</code></p><p>visit compare expression</p><h3>Parameters</h3><p><code>cmpex</code> - is the compare expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function or null</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.RangeExpr rex)</code></p><p>visit range expression</p><h3>Parameters</h3><p><code>rex</code> - is the range expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.AddExpr addex)</code></p><p>visit and expression</p><h3>Parameters</h3><p><code>addex</code> - is the and expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.SubExpr subex)</code></p><p>visit sub expression</p><h3>Parameters</h3><p><code>subex</code> - is the sub expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.MulExpr mulex)</code></p><p>visit multiply expression</p><h3>Parameters</h3><p><code>mulex</code> - is the mul expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.DivExpr mulex)</code></p><p>visit division expression</p><h3>Parameters</h3><p><code>mulex</code> - is the division expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.IDivExpr mulex)</code></p><p>visit integer division expression</p><h3>Parameters</h3><p><code>mulex</code> - is the integer division expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.ModExpr mulex)</code></p><p>visit modular expression</p><h3>Parameters</h3><p><code>mulex</code> - is the modular expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.UnionExpr unex)</code></p><p>visit union expression</p><h3>Parameters</h3><p><code>unex</code> - is the union expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.PipeExpr pipex)</code></p><p>visit pipe expression</p><h3>Parameters</h3><p><code>pipex</code> - is the pipe expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.IntersectExpr iexpr)</code></p><p>visit intersect expression</p><h3>Parameters</h3><p><code>iexpr</code> - is the intersect expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.ExceptExpr eexpr)</code></p><p>visit except expression</p><h3>Parameters</h3><p><code>eexpr</code> - is the except expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.InstOfExpr ioexp)</code></p><p>visit instance of expression</p><h3>Parameters</h3><p><code>ioexp</code> - is the instance of expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.TreatAsExpr taexp)</code></p><p>visit treat-as expression</p><h3>Parameters</h3><p><code>taexp</code> - is the treat-as expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.CastableExpr cexp)</code></p><p>visit castable expression</p><h3>Parameters</h3><p><code>cexp</code> - is the castable expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.CastExpr cexp)</code></p><p>visit cast expression</p><h3>Parameters</h3><p><code>cexp</code> - is the cast expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.MinusExpr e)</code></p><p>visit minus expression</p><h3>Parameters</h3><p><code>e</code> - is the minus expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.PlusExpr e)</code></p><p>visit plus expression</p><h3>Parameters</h3><p><code>e</code> - is the plus expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathExpr e)</code></p><p>visit XPath expression</p><h3>Parameters</h3><p><code>e</code> - is the XPath expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.ForwardStep e)</code></p><p>visit a forward step expression</p><h3>Parameters</h3><p><code>e</code> - is the forward step.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.ReverseStep e)</code></p><p>visit a reverse step expression</p><h3>Parameters</h3><p><code>e</code> - is the reverse step.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.NameTest e)</code></p><p>visit a name test expression</p><h3>Parameters</h3><p><code>e</code> - is thename test.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a result sequence</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.VarRef e)</code></p><p>visit variable reference</p><h3>Parameters</h3><p><code>e</code> - is the variable reference.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a result sequence</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.StringLiteral e)</code></p><p>visit string literal.</p><h3>Parameters</h3><p><code>e</code> - is the string literal.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a result sequence</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.IntegerLiteral e)</code></p><p>visit integer literal.</p><h3>Parameters</h3><p><code>e</code> - is the integer literal.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a result sequence</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.DoubleLiteral e)</code></p><p>visit double literal.</p><h3>Parameters</h3><p><code>e</code> - is the double literal.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a result sequence</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.DecimalLiteral e)</code></p><p>visit decimal literal.</p><h3>Parameters</h3><p><code>e</code> - is the decimal literal.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a result sequence</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.ParExpr e)</code></p><p>visit parent expression.</p><h3>Parameters</h3><p><code>e</code> - is the parent expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.CntxItemExpr e)</code></p><p>visit context item expression.</p><h3>Parameters</h3><p><code>e</code> - is the context item expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a result sequence</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.FunctionCall e)</code></p><p>visit function call.</p><h3>Parameters</h3><p><code>e</code> - is the function call.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function or null</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.SingleType e)</code></p><p>visit single type.</p><h3>Parameters</h3><p><code>e</code> - is the single type.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.SequenceType e)</code></p><p>visit sequence type.</p><h3>Parameters</h3><p><code>e</code> - is the sequence type.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.ItemType e)</code></p><p>visit item type.</p><h3>Parameters</h3><p><code>e</code> - is the item type.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.AnyKindTest e)</code></p><p>visit any kind test.</p><h3>Parameters</h3><p><code>e</code> - is the any kind test.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.DocumentTest e)</code></p><p>visit document test.</p><h3>Parameters</h3><p><code>e</code> - is the document test.</p><h3>Returns</h3><p><code>java.lang.Object</code> - result sequence</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.TextTest e)</code></p><p>visit text test.</p><h3>Parameters</h3><p><code>e</code> - is the text test.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.CommentTest e)</code></p><p>visit comment test.</p><h3>Parameters</h3><p><code>e</code> - is the text test.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a new function</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.PITest e)</code></p><p>visit PI test.</p><h3>Parameters</h3><p><code>e</code> - is the PI test.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a argument</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.AttributeTest e)</code></p><p>visit attribute test.</p><h3>Parameters</h3><p><code>e</code> - is the attribute test.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a result sequence</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.SchemaAttrTest e)</code></p><p>visit schema attribute test.</p><h3>Parameters</h3><p><code>e</code> - is the schema attribute test.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a result sequence</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.ElementTest e)</code></p><p>visit element test.</p><h3>Parameters</h3><p><code>e</code> - is the element test.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a result sequence</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.SchemaElemTest e)</code></p><p>visit schema element test.</p><h3>Parameters</h3><p><code>e</code> - is the schema element test.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a result sequence</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.AxisStep e)</code></p><p>visit axis step.</p><h3>Parameters</h3><p><code>e</code> - is the axis step.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a result sequence</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.FilterExpr e)</code></p><p>visit filter expression</p><h3>Parameters</h3><p><code>e</code> - is the filter expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - a result sequence</p><hr></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DynamicContext.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DynamicContext.html
deleted file mode 100644
index df5a6ab..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DynamicContext.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor</strong></font><br>
- Class DynamicContext</h2><br><hr><pre>public class <strong>DynamicContext</strong>
-extends </pre>Interface for dynamic context.<hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public static java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_CODEPOINT_COLLATION">CODEPOINT_COLLATION</a></code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- The default collation which is guaranteed to always be implemented</td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code></td><td width="" align="left"><code><a href="#method_context_item">context_item</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Get context item.</td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_context_position">context_position</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Get context node position.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.GregorianCalendar</code></td><td width="" align="left"><code><a href="#method_current_date_time">current_date_time</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Returns the current date time using the GregorianCalendar.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_default_collation_name">default_collation_name</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Returns the current default collator</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_evaluate_function">evaluate_function</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name
- ,
- java.util.Collection args)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Evaluate the function of the arguments.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.Focus</code></td><td width="" align="left"><code><a href="#method_focus">focus</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Return focus.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.Comparator</code></td><td width="" align="left"><code><a href="#method_get_collation">get_collation</a>(java.lang.String uri)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Return a useful collator for the specified URI</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_get_doc">get_doc</a>(java.net.URI uri)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Get document.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code></td><td width="" align="left"><code><a href="#method_get_variable">get_variable</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Get variable.</td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_last">last</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Get position of last item.</td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_node_position">node_position</a>(org.w3c.dom.Node node)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.net.URI</code></td><td width="" align="left"><code><a href="#method_resolve_uri">resolve_uri</a>(java.lang.String uri)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Resolve an URI</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_set_focus">set_focus</a>(org.eclipse.wst.xml.xpath2.processor.internal.Focus focus)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Set focus.</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_set_variable">set_variable</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName var
- ,
- org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType val)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Set variable.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration</code></td><td width="" align="left"><code><a href="#method_tz">tz</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Reads the day from a TimeDuration type</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Field Detail
- </h2></td></tr></table><h2><a name="field_CODEPOINT_COLLATION">CODEPOINT_COLLATION</a></h2><p><code>public static java.lang.String <strong>CODEPOINT_COLLATION</strong></code></p><table><tr><td>The default collation which is guaranteed to always be implemented</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Methods Detail
- </h2></td></tr></table><h2><a name="method_context_item">context_item</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType <strong>context_item</strong>()</code></p><p>Get context item.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code> - the context item.</p><hr><h2><a name="method_context_position">context_position</a></h2><p><code>public int <strong>context_position</strong>()</code></p><p>Get context node position.</p><h3>Returns</h3><p><code>int</code> - position of context node.</p><hr><h2><a name="method_current_date_time">current_date_time</a></h2><p><code>public java.util.GregorianCalendar <strong>current_date_time</strong>()</code></p><p>Returns the current date time using the GregorianCalendar.</p><h3>Returns</h3><p><code>java.util.GregorianCalendar</code> - The current date and time, which will always be same for the dynamic context.</p><hr><h2><a name="method_default_collation_name">default_collation_name</a></h2><p><code>public java.lang.String <strong>default_collation_name</strong>()</code></p><p>Returns the current default collator</p><h3>Returns</h3><p><code>java.lang.String</code> - The default name to use as the collator</p><hr><h2><a name="method_evaluate_function">evaluate_function</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>evaluate_function</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name
- ,
- java.util.Collection args)</code></p><p>Evaluate the function of the arguments.</p><h3>Parameters</h3><p><code>name</code> - is the name.</p><p><code>args</code> - are the arguments.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - result of the function evaluation.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError - dynamic error.</code></p><hr><h2><a name="method_focus">focus</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.Focus <strong>focus</strong>()</code></p><p>Return focus.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.Focus</code> - Focus</p><hr><h2><a name="method_get_collation">get_collation</a></h2><p><code>public java.util.Comparator <strong>get_collation</strong>(java.lang.String uri)</code></p><p>Return a useful collator for the specified URI</p><h3>Parameters</h3><p><code>uri</code></p><h3>Returns</h3><p><code>java.util.Comparator</code> - A Jaa collator, or null, if no such Collator exists</p><hr><h2><a name="method_get_doc">get_doc</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>get_doc</strong>(java.net.URI uri)</code></p><p>Get document.</p><h3>Parameters</h3><p><code>uri</code> - is the URI of the document.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - document.</p><hr><h2><a name="method_get_variable">get_variable</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType <strong>get_variable</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name)</code></p><p>Get variable.</p><h3>Parameters</h3><p><code>name</code> - is the name of the variable.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code> - variable.</p><hr><h2><a name="method_last">last</a></h2><p><code>public int <strong>last</strong>()</code></p><p>Get position of last item.</p><h3>Returns</h3><p><code>int</code> - last item position.</p><hr><h2><a name="method_node_position">node_position</a></h2><p><code>public int <strong>node_position</strong>(org.w3c.dom.Node node)</code></p><p></p><h3>Parameters</h3><p><code>node</code></p><h3>Returns</h3><p><code>int</code></p><hr><h2><a name="method_resolve_uri">resolve_uri</a></h2><p><code>public java.net.URI <strong>resolve_uri</strong>(java.lang.String uri)</code></p><p>Resolve an URI</p><h3>Parameters</h3><p><code>uri</code> - is the possibly relative URI to resolve</p><h3>Returns</h3><p><code>java.net.URI</code> - the absolutized, resolved URI.</p><hr><h2><a name="method_set_focus">set_focus</a></h2><p><code>public void <strong>set_focus</strong>(org.eclipse.wst.xml.xpath2.processor.internal.Focus focus)</code></p><p>Set focus.</p><h3>Parameters</h3><p><code>focus</code> - is focus to be set.</p><hr><h2><a name="method_set_variable">set_variable</a></h2><p><code>public void <strong>set_variable</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName var
- ,
- org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType val)</code></p><p>Set variable.</p><h3>Parameters</h3><p><code>var</code> - is name of the variable.</p><p><code>val</code> - is the value to be set for the variable.</p><hr><h2><a name="method_tz">tz</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration <strong>tz</strong>()</code></p><p>Reads the day from a TimeDuration type</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.XSDuration</code> - current date time and implicit timezone.</p><hr></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DynamicError.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DynamicError.html
deleted file mode 100644
index 66109c7..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.DynamicError.html
+++ /dev/null
@@ -1,91 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor</strong></font><br>
- Class DynamicError</h2><br><hr><pre>public class <strong>DynamicError</strong>
-extends org.eclipse.wst.xml.xpath2.processor.XPathException</pre>Dynamic Error like division by 0 or type errors.<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_DynamicError">DynamicError</a></strong>(java.lang.String code
- ,
- java.lang.String err)</code></td></tr><tr><td><code><strong><a href="#con_DynamicError">DynamicError</a></strong>(org.eclipse.wst.xml.xpath2.processor.internal.TypeError te)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_argument_type_error">argument_type_error</a>(java.lang.Class type)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Returns the dynamic error.</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_cant_cast">cant_cast</a>(java.lang.String err)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Returns the dynamic error.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_code">code</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Returns the string of the code.</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_contextUndefined">contextUndefined</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_div_zero">div_zero</a>(java.lang.String msg)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Returns the error message when reads a Division by zero</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_doc_not_found">doc_not_found</a>(java.lang.String msg)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Returns the error message when fn:doc cannot load its document</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_empty_seq">empty_seq</a>(java.lang.String msg)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Returns the error message</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_errorResolvingURI">errorResolvingURI</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Error resolving relative uri against base-uri.</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_inconsistentTimeZone">inconsistentTimeZone</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- The two arguments to fn:dateTime have inconsistent timezones</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_inputToLargeForDecimal">inputToLargeForDecimal</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_invalid_doc">invalid_doc</a>(java.lang.String msg)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Returns the error message when reads Invalid argument to fn:doc</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_invalidCollectionArgument">invalidCollectionArgument</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Returns the error message when reads Invalid argument to fn:collection</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_invalidForCastConstructor">invalidForCastConstructor</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Data is invalid for casting or the data type constructor.</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_invalidLexicalValue">invalidLexicalValue</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Invalid lexical value</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_invalidPrefix">invalidPrefix</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- No namespace found for prefix.</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_invalidTimezone">invalidTimezone</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Invalid Timezone value.</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_invalidType">invalidType</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_lexical_error">lexical_error</a>(java.lang.String msg)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Returns the error message when reads an Invalid lexical value</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_more_one_item">more_one_item</a>(java.lang.String msg)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Returns the error message</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_nan">nan</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Overflow/underflow in duration operation.</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_noBaseURI">noBaseURI</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- No base-uri defined.</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_noContextDoc">noContextDoc</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- No context document</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_not_cmp">not_cmp</a>(java.lang.String msg)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Returns the error message when reads an Items not comparable</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_not_one">not_one</a>(java.lang.String msg)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Returns the error message</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_numeric_overflow">numeric_overflow</a>(java.lang.String msg)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Numeric operation overflow/underflow</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_overflowDateTime">overflowDateTime</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Overflow/underflow in date/time operation</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_overflowUnderflow">overflowUnderflow</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Overflow/underflow in duration operation.</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_regex_error">regex_error</a>(java.lang.String err)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Returns the dynamic error.</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_regex_flags_error">regex_flags_error</a>(java.lang.String err)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Returns the Dynamic Error for invalid flags in regular expressions</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_regex_match_zero_length">regex_match_zero_length</a>(java.lang.String err)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Returns the dynamic error.</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_throw_type_error">throw_type_error</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Returns the dynamic error.</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_unsupported_codepoint">unsupported_codepoint</a>(java.lang.String err)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Returns the dynamic error for an unsupported Unicode codepoint</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_unsupported_collation">unsupported_collation</a>(java.lang.String collationName)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Returns the dynamic error for an unsupported normalization form</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_unsupported_normalization_form">unsupported_normalization_form</a>(java.lang.String err)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Returns the dynamic error for an unsupported normalization form</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_user_error">user_error</a>(java.lang.String ns
- ,
- java.lang.String code
- ,
- java.lang.String desc)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Returns the dynamic error.</td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.DynamicError</code></td><td width="" align="left"><code><a href="#method_user_error">user_error</a>(java.lang.String err)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Returns the dynamic error.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Constructor Detail
- </h2></td></tr></table><h2><a name="con_DynamicError">DynamicError</a></h2><p><code>public <strong>DynamicError</strong>(java.lang.String code
- ,
- java.lang.String err)</code></p><p>Constructor for Dynamic Error.</p><hr><h2><a name="con_DynamicError">DynamicError</a></h2><p><code>public <strong>DynamicError</strong>(org.eclipse.wst.xml.xpath2.processor.internal.TypeError te)</code></p><p>Constructor for Dynamic Error.</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Methods Detail
- </h2></td></tr></table><h2><a name="method_argument_type_error">argument_type_error</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>argument_type_error</strong>(java.lang.Class type)</code></p><p>Returns the dynamic error.</p><h3>Parameters</h3><p><code>type</code> - Type found</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code> - the DynamicError.</p><hr><h2><a name="method_cant_cast">cant_cast</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>cant_cast</strong>(java.lang.String err)</code></p><p>Returns the dynamic error.</p><h3>Parameters</h3><p><code>err</code> - is the error</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code> - the DynamicError.</p><hr><h2><a name="method_code">code</a></h2><p><code>public java.lang.String <strong>code</strong>()</code></p><p>Returns the string of the code.</p><h3>Returns</h3><p><code>java.lang.String</code> - the code.</p><hr><h2><a name="method_contextUndefined">contextUndefined</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>contextUndefined</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_div_zero">div_zero</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>div_zero</strong>(java.lang.String msg)</code></p><p>Returns the error message when reads a Division by zero</p><h3>Parameters</h3><p><code>msg</code> - is the message</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code> - the make_error</p><hr><h2><a name="method_doc_not_found">doc_not_found</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>doc_not_found</strong>(java.lang.String msg)</code></p><p>Returns the error message when fn:doc cannot load its document</p><h3>Parameters</h3><p><code>msg</code> - is the message</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code> - the make_error</p><hr><h2><a name="method_empty_seq">empty_seq</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>empty_seq</strong>(java.lang.String msg)</code></p><p>Returns the error message</p><h3>Parameters</h3><p><code>msg</code> - is the message</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code> - the make_error</p><hr><h2><a name="method_errorResolvingURI">errorResolvingURI</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>errorResolvingURI</strong>()</code></p><p>Error resolving relative uri against base-uri.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_inconsistentTimeZone">inconsistentTimeZone</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>inconsistentTimeZone</strong>()</code></p><p>The two arguments to fn:dateTime have inconsistent timezones</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_inputToLargeForDecimal">inputToLargeForDecimal</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>inputToLargeForDecimal</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_invalid_doc">invalid_doc</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>invalid_doc</strong>(java.lang.String msg)</code></p><p>Returns the error message when reads Invalid argument to fn:doc</p><h3>Parameters</h3><p><code>msg</code> - is the message</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code> - the make_error</p><hr><h2><a name="method_invalidCollectionArgument">invalidCollectionArgument</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>invalidCollectionArgument</strong>()</code></p><p>Returns the error message when reads Invalid argument to fn:collection</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code> - the make_error</p><hr><h2><a name="method_invalidForCastConstructor">invalidForCastConstructor</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>invalidForCastConstructor</strong>()</code></p><p>Data is invalid for casting or the data type constructor.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code> - FORG0001</p><hr><h2><a name="method_invalidLexicalValue">invalidLexicalValue</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>invalidLexicalValue</strong>()</code></p><p>Invalid lexical value</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_invalidPrefix">invalidPrefix</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>invalidPrefix</strong>()</code></p><p>No namespace found for prefix.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_invalidTimezone">invalidTimezone</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>invalidTimezone</strong>()</code></p><p>Invalid Timezone value.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_invalidType">invalidType</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>invalidType</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_lexical_error">lexical_error</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>lexical_error</strong>(java.lang.String msg)</code></p><p>Returns the error message when reads an Invalid lexical value</p><h3>Parameters</h3><p><code>msg</code> - is the message</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code> - the make_error</p><hr><h2><a name="method_more_one_item">more_one_item</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>more_one_item</strong>(java.lang.String msg)</code></p><p>Returns the error message</p><h3>Parameters</h3><p><code>msg</code> - is the message</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code> - the make_error</p><hr><h2><a name="method_nan">nan</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>nan</strong>()</code></p><p>Overflow/underflow in duration operation.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_noBaseURI">noBaseURI</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>noBaseURI</strong>()</code></p><p>No base-uri defined.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_noContextDoc">noContextDoc</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>noContextDoc</strong>()</code></p><p>No context document</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_not_cmp">not_cmp</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>not_cmp</strong>(java.lang.String msg)</code></p><p>Returns the error message when reads an Items not comparable</p><h3>Parameters</h3><p><code>msg</code> - is the message</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code> - the make_error</p><hr><h2><a name="method_not_one">not_one</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>not_one</strong>(java.lang.String msg)</code></p><p>Returns the error message</p><h3>Parameters</h3><p><code>msg</code> - is the message</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code> - the make_error</p><hr><h2><a name="method_numeric_overflow">numeric_overflow</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>numeric_overflow</strong>(java.lang.String msg)</code></p><p>Numeric operation overflow/underflow</p><h3>Parameters</h3><p><code>msg</code> - is the message</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code> - the make_error</p><hr><h2><a name="method_overflowDateTime">overflowDateTime</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>overflowDateTime</strong>()</code></p><p>Overflow/underflow in date/time operation</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_overflowUnderflow">overflowUnderflow</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>overflowUnderflow</strong>()</code></p><p>Overflow/underflow in duration operation.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_regex_error">regex_error</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>regex_error</strong>(java.lang.String err)</code></p><p>Returns the dynamic error.</p><h3>Parameters</h3><p><code>err</code> - is the error</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code> - the DynamicError.</p><hr><h2><a name="method_regex_flags_error">regex_flags_error</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>regex_flags_error</strong>(java.lang.String err)</code></p><p>Returns the Dynamic Error for invalid flags in regular expressions</p><h3>Parameters</h3><p><code>err</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code></p><hr><h2><a name="method_regex_match_zero_length">regex_match_zero_length</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>regex_match_zero_length</strong>(java.lang.String err)</code></p><p>Returns the dynamic error.</p><h3>Parameters</h3><p><code>err</code> - is the error</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code> - the DynamicError.</p><hr><h2><a name="method_throw_type_error">throw_type_error</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>throw_type_error</strong>()</code></p><p>Returns the dynamic error.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code> - the DynamicError.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError - a Dynamic Error</code></p><hr><h2><a name="method_unsupported_codepoint">unsupported_codepoint</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>unsupported_codepoint</strong>(java.lang.String err)</code></p><p>Returns the dynamic error for an unsupported Unicode codepoint</p><h3>Parameters</h3><p><code>err</code> - is the error</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code> - the DynamicError.</p><hr><h2><a name="method_unsupported_collation">unsupported_collation</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>unsupported_collation</strong>(java.lang.String collationName)</code></p><p>Returns the dynamic error for an unsupported normalization form</p><h3>Parameters</h3><p><code>collationName</code> - is the error</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code> - the DynamicError.</p><hr><h2><a name="method_unsupported_normalization_form">unsupported_normalization_form</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>unsupported_normalization_form</strong>(java.lang.String err)</code></p><p>Returns the dynamic error for an unsupported normalization form</p><h3>Parameters</h3><p><code>err</code> - is the error</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code> - the DynamicError.</p><hr><h2><a name="method_user_error">user_error</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>user_error</strong>(java.lang.String ns
- ,
- java.lang.String code
- ,
- java.lang.String desc)</code></p><p>Returns the dynamic error.</p><h3>Parameters</h3><p><code>ns</code></p><p><code>code</code></p><p><code>desc</code> - is the description of the error</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code> - the DynamicError.</p><hr><h2><a name="method_user_error">user_error</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.DynamicError <strong>user_error</strong>(java.lang.String err)</code></p><p>Returns the dynamic error.</p><h3>Parameters</h3><p><code>err</code> - is the description of the error</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError</code> - the DynamicError.</p><hr></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.Evaluator.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.Evaluator.html
deleted file mode 100644
index f5b7b99..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.Evaluator.html
+++ /dev/null
@@ -1,7 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor</strong></font><br>
- Class Evaluator</h2><br><hr><pre>public class <strong>Evaluator</strong>
-extends </pre>interface to Evaluator<hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_evaluate">evaluate</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathNode root)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Evaluate the root node.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Methods Detail
- </h2></td></tr></table><h2><a name="method_evaluate">evaluate</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>evaluate</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathNode root)</code></p><p>Evaluate the root node.</p><h3>Parameters</h3><p><code>root</code> - is the XPath node.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - Result of evaluation.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DynamicError - dynamic error.</code></p><hr></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.JFlexCupParser.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.JFlexCupParser.html
deleted file mode 100644
index 7994a35..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.JFlexCupParser.html
+++ /dev/null
@@ -1,9 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor</strong></font><br>
- Class JFlexCupParser</h2><br><hr><pre>public class <strong>JFlexCupParser</strong>
-extends java.lang.Object</pre>JFlexCupParser parses the xpath expression<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_JFlexCupParser">JFlexCupParser</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ast.XPath</code></td><td width="" align="left"><code><a href="#method_parse">parse</a>(java.lang.String xpath)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Tries to parse the xpath expression</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Constructor Detail
- </h2></td></tr></table><h2><a name="con_JFlexCupParser">JFlexCupParser</a></h2><p><code>public <strong>JFlexCupParser</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Methods Detail
- </h2></td></tr></table><h2><a name="method_parse">parse</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ast.XPath <strong>parse</strong>(java.lang.String xpath)</code></p><p>Tries to parse the xpath expression</p><h3>Parameters</h3><p><code>xpath</code> - is the xpath string.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ast.XPath</code> - the xpath value.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.XPathParserException</code></p><hr></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.ResultSequence.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.ResultSequence.html
deleted file mode 100644
index dd812a6..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.ResultSequence.html
+++ /dev/null
@@ -1,29 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor</strong></font><br>
- Class ResultSequence</h2><br><hr><pre>public class <strong>ResultSequence</strong>
-extends java.lang.Object</pre>Interface to the methods of range of result sequence<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_ResultSequence">ResultSequence</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_add">add</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType item)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- add item</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_clear">clear</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- clear</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_concat">concat</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence rs)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- concatinate from rs</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_create_new">create_new</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- create a new result sequence</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_empty">empty</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- check is the sequence is empty</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code></td><td width="" align="left"><code><a href="#method_first">first</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- retrieve the first item</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code></td><td width="" align="left"><code><a href="#method_get">get</a>(int i)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- get item in index i</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.ListIterator</code></td><td width="" align="left"><code><a href="#method_iterator">iterator</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- List Iterator.</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_release">release</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- release the result sequence</td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_size">size</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- get the size</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_string">string</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- retrieve items in sequence</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Constructor Detail
- </h2></td></tr></table><h2><a name="con_ResultSequence">ResultSequence</a></h2><p><code>public <strong>ResultSequence</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Methods Detail
- </h2></td></tr></table><h2><a name="method_add">add</a></h2><p><code>public void <strong>add</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType item)</code></p><p>add item</p><h3>Parameters</h3><p><code>item</code> - is an item of any type.</p><hr><h2><a name="method_clear">clear</a></h2><p><code>public void <strong>clear</strong>()</code></p><p>clear</p><hr><h2><a name="method_concat">concat</a></h2><p><code>public void <strong>concat</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence rs)</code></p><p>concatinate from rs</p><h3>Parameters</h3><p><code>rs</code> - is a Result Sequence.</p><hr><h2><a name="method_create_new">create_new</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>create_new</strong>()</code></p><p>create a new result sequence</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - a new result sequence.</p><hr><h2><a name="method_empty">empty</a></h2><p><code>public boolean <strong>empty</strong>()</code></p><p>check is the sequence is empty</p><h3>Returns</h3><p><code>boolean</code> - boolean.</p><hr><h2><a name="method_first">first</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType <strong>first</strong>()</code></p><p>retrieve the first item</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code> - the first item.</p><hr><h2><a name="method_get">get</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType <strong>get</strong>(int i)</code></p><p>get item in index i</p><h3>Parameters</h3><p><code>i</code> - is the position.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code></p><hr><h2><a name="method_iterator">iterator</a></h2><p><code>public java.util.ListIterator <strong>iterator</strong>()</code></p><p>List Iterator.</p><h3>Returns</h3><p><code>java.util.ListIterator</code></p><hr><h2><a name="method_release">release</a></h2><p><code>public void <strong>release</strong>()</code></p><p>release the result sequence</p><hr><h2><a name="method_size">size</a></h2><p><code>public int <strong>size</strong>()</code></p><p>get the size</p><h3>Returns</h3><p><code>int</code> - the size.</p><hr><h2><a name="method_string">string</a></h2><p><code>public java.lang.String <strong>string</strong>()</code></p><p>retrieve items in sequence</p><h3>Returns</h3><p><code>java.lang.String</code> - result string</p><hr></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory.html
deleted file mode 100644
index eed647a..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory.html
+++ /dev/null
@@ -1,23 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor</strong></font><br>
- Class ResultSequenceFactory</h2><br><hr><pre>public class <strong>ResultSequenceFactory</strong>
-extends java.lang.Object</pre>Result sequence factory<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_ResultSequenceFactory">ResultSequenceFactory</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_create_new">create_new</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>public static org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_create_new">create_new</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType item)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>protected org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_fact_create_new">fact_create_new</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>protected org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_fact_create_new">fact_create_new</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType item)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_fact_print_debug">fact_print_debug</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_fact_release">fact_release</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence rs)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>public static void</code></td><td width="" align="left"><code><a href="#method_print_debug">print_debug</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- factory debug</td></tr><tr valign="top"><td width="20%" align="right"><code>public static void</code></td><td width="" align="left"><code><a href="#method_release">release</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence rs)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Constructor Detail
- </h2></td></tr></table><h2><a name="con_ResultSequenceFactory">ResultSequenceFactory</a></h2><p><code>public <strong>ResultSequenceFactory</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Methods Detail
- </h2></td></tr></table><h2><a name="method_create_new">create_new</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>create_new</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - the creation of a new result sequence</p><hr><h2><a name="method_create_new">create_new</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>create_new</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType item)</code></p><p></p><h3>Parameters</h3><p><code>item</code> - is an item of any type.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - factory creating new item</p><hr><h2><a name="method_fact_create_new">fact_create_new</a></h2><p><code>protected org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>fact_create_new</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></p><hr><h2><a name="method_fact_create_new">fact_create_new</a></h2><p><code>protected org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>fact_create_new</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType item)</code></p><p></p><h3>Parameters</h3><p><code>item</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></p><hr><h2><a name="method_fact_print_debug">fact_print_debug</a></h2><p><code>protected void <strong>fact_print_debug</strong>()</code></p><p></p><hr><h2><a name="method_fact_release">fact_release</a></h2><p><code>protected void <strong>fact_release</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence rs)</code></p><p></p><h3>Parameters</h3><p><code>rs</code></p><hr><h2><a name="method_print_debug">print_debug</a></h2><p><code>public void <strong>print_debug</strong>()</code></p><p>factory debug</p><hr><h2><a name="method_release">release</a></h2><p><code>public void <strong>release</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence rs)</code></p><p></p><h3>Parameters</h3><p><code>rs</code> - is the result sequence factory release rs</p><hr></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.StaticChecker.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.StaticChecker.html
deleted file mode 100644
index 8a16447..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.StaticChecker.html
+++ /dev/null
@@ -1,7 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor</strong></font><br>
- Class StaticChecker</h2><br><hr><pre>public class <strong>StaticChecker</strong>
-extends </pre>Interface to static checker.<hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_check">check</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathNode root)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- checks XPathNode</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Methods Detail
- </h2></td></tr></table><h2><a name="method_check">check</a></h2><p><code>public void <strong>check</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathNode root)</code></p><p>checks XPathNode</p><h3>Parameters</h3><p><code>root</code> - is an XPath node.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.StaticError</code></p><hr></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.StaticContext.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.StaticContext.html
deleted file mode 100644
index 6f1aa75..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.StaticContext.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor</strong></font><br>
- Class StaticContext</h2><br><hr><pre>public class <strong>StaticContext</strong>
-extends </pre>interface to static context<hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_add_function_library">add_function_library</a>(FunctionLibrary fl)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- add function to library</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_add_namespace">add_namespace</a>(java.lang.String prefix
- ,
- java.lang.String ns)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- add namespace</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_add_variable">add_variable</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- add variable</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_attribute_declared">attribute_declared</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName attr)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- is the attribute declared?</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.apache.xerces.xs.XSTypeDefinition</code></td><td width="" align="left"><code><a href="#method_attribute_type_definition">attribute_type_definition</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName attr)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.XSAnyURI</code></td><td width="" align="left"><code><a href="#method_base_uri">base_uri</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- base uri</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_default_function_namespace">default_function_namespace</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- the default function namespace</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_default_namespace">default_namespace</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- the default namespace</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_del_variable">del_variable</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- delete the variable</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_derives_from">derives_from</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType at
- ,
- org.eclipse.wst.xml.xpath2.processor.internal.types.QName et)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_derives_from">derives_from</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType at
- ,
- org.apache.xerces.xs.XSTypeDefinition et)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_destroy_scope">destroy_scope</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- destroy scope</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_element_declared">element_declared</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName elem)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- is the element declared?</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.apache.xerces.xs.XSTypeDefinition</code></td><td width="" align="left"><code><a href="#method_element_type_definition">element_type_definition</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName elem)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_expand_elem_type_qname">expand_elem_type_qname</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- expand element type qname</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_expand_function_qname">expand_function_qname</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- expand function</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_expand_qname">expand_qname</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- expand qname</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_function_exists">function_exists</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name
- ,
- int arity)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- is the element declared?</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.Map</code></td><td width="" align="left"><code><a href="#method_get_collections">get_collections</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType</code></td><td width="" align="left"><code><a href="#method_make_atomic">make_atomic</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_new_scope">new_scope</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- new scope</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_prefix_exists">prefix_exists</a>(java.lang.String prefix)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- namespaces does the prefix exist</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_resolve_prefix">resolve_prefix</a>(java.lang.String prefix)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_set_base_uri">set_base_uri</a>(java.lang.String baseuri)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Sets the base uri for the context.</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_set_collections">set_collections</a>(java.util.Map collections)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_type_defined">type_defined</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_variable_exists">variable_exists</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_variable_in_scope">variable_in_scope</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName var)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_xpath1_compatible">xpath1_compatible</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- is it xpath 1.0 compatible.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Methods Detail
- </h2></td></tr></table><h2><a name="method_add_function_library">add_function_library</a></h2><p><code>public void <strong>add_function_library</strong>(FunctionLibrary fl)</code></p><p>add function to library</p><h3>Parameters</h3><p><code>fl</code> - is the function library</p><hr><h2><a name="method_add_namespace">add_namespace</a></h2><p><code>public void <strong>add_namespace</strong>(java.lang.String prefix
- ,
- java.lang.String ns)</code></p><p>add namespace</p><h3>Parameters</h3><p><code>prefix</code> - the prefix of the namespace</p><p><code>ns</code> - is the XSTypeDefinition of the node</p><hr><h2><a name="method_add_variable">add_variable</a></h2><p><code>public void <strong>add_variable</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name)</code></p><p>add variable</p><h3>Parameters</h3><p><code>name</code> - is the qname</p><hr><h2><a name="method_attribute_declared">attribute_declared</a></h2><p><code>public boolean <strong>attribute_declared</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName attr)</code></p><p>is the attribute declared?</p><h3>Parameters</h3><p><code>attr</code> - is the attribute of the qname</p><h3>Returns</h3><p><code>boolean</code> - boolean</p><hr><h2><a name="method_attribute_type_definition">attribute_type_definition</a></h2><p><code>public org.apache.xerces.xs.XSTypeDefinition <strong>attribute_type_definition</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName attr)</code></p><p></p><h3>Parameters</h3><p><code>attr</code> - is the qname variable</p><h3>Returns</h3><p><code>org.apache.xerces.xs.XSTypeDefinition</code> - attributes's type definition</p><hr><h2><a name="method_base_uri">base_uri</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.XSAnyURI <strong>base_uri</strong>()</code></p><p>base uri</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.XSAnyURI</code> - uri</p><hr><h2><a name="method_default_function_namespace">default_function_namespace</a></h2><p><code>public java.lang.String <strong>default_function_namespace</strong>()</code></p><p>the default function namespace</p><h3>Returns</h3><p><code>java.lang.String</code> - string</p><hr><h2><a name="method_default_namespace">default_namespace</a></h2><p><code>public java.lang.String <strong>default_namespace</strong>()</code></p><p>the default namespace</p><h3>Returns</h3><p><code>java.lang.String</code> - string</p><hr><h2><a name="method_del_variable">del_variable</a></h2><p><code>public boolean <strong>del_variable</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name)</code></p><p>delete the variable</p><h3>Parameters</h3><p><code>name</code> - is the qname</p><h3>Returns</h3><p><code>boolean</code> - boolean if deleted variable</p><hr><h2><a name="method_derives_from">derives_from</a></h2><p><code>public boolean <strong>derives_from</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType at
- ,
- org.eclipse.wst.xml.xpath2.processor.internal.types.QName et)</code></p><p></p><h3>Parameters</h3><p><code>at</code> - the node type</p><p><code>et</code> - is the qname</p><h3>Returns</h3><p><code>boolean</code> - boolean</p><hr><h2><a name="method_derives_from">derives_from</a></h2><p><code>public boolean <strong>derives_from</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType at
- ,
- org.apache.xerces.xs.XSTypeDefinition et)</code></p><p></p><h3>Parameters</h3><p><code>at</code> - the node type</p><p><code>et</code> - is the XSTypeDefinition of the node</p><h3>Returns</h3><p><code>boolean</code> - boolean</p><hr><h2><a name="method_destroy_scope">destroy_scope</a></h2><p><code>public void <strong>destroy_scope</strong>()</code></p><p>destroy scope</p><hr><h2><a name="method_element_declared">element_declared</a></h2><p><code>public boolean <strong>element_declared</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName elem)</code></p><p>is the element declared?</p><h3>Parameters</h3><p><code>elem</code> - is the elem of the qname</p><h3>Returns</h3><p><code>boolean</code> - boolean</p><hr><h2><a name="method_element_type_definition">element_type_definition</a></h2><p><code>public org.apache.xerces.xs.XSTypeDefinition <strong>element_type_definition</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName elem)</code></p><p></p><h3>Parameters</h3><p><code>elem</code> - is the elem of the qname</p><h3>Returns</h3><p><code>org.apache.xerces.xs.XSTypeDefinition</code> - element's type definition</p><hr><h2><a name="method_expand_elem_type_qname">expand_elem_type_qname</a></h2><p><code>public boolean <strong>expand_elem_type_qname</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name)</code></p><p>expand element type qname</p><h3>Parameters</h3><p><code>name</code> - is the qname</p><h3>Returns</h3><p><code>boolean</code> - boolean if function can be expanded</p><hr><h2><a name="method_expand_function_qname">expand_function_qname</a></h2><p><code>public boolean <strong>expand_function_qname</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name)</code></p><p>expand function</p><h3>Parameters</h3><p><code>name</code> - is the qname</p><h3>Returns</h3><p><code>boolean</code> - boolean if function can be expanded</p><hr><h2><a name="method_expand_qname">expand_qname</a></h2><p><code>public boolean <strong>expand_qname</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name)</code></p><p>expand qname</p><h3>Parameters</h3><p><code>name</code> - is the qname</p><h3>Returns</h3><p><code>boolean</code> - boolean if function can be expanded</p><hr><h2><a name="method_function_exists">function_exists</a></h2><p><code>public boolean <strong>function_exists</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name
- ,
- int arity)</code></p><p>is the element declared?</p><h3>Parameters</h3><p><code>name</code> - is the qname name</p><p><code>arity</code> - integer of qname</p><h3>Returns</h3><p><code>boolean</code> - boolean</p><hr><h2><a name="method_get_collections">get_collections</a></h2><p><code>public java.util.Map <strong>get_collections</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.util.Map</code></p><hr><h2><a name="method_make_atomic">make_atomic</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType <strong>make_atomic</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name)</code></p><p></p><h3>Parameters</h3><p><code>name</code> - is the qname</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType</code> - any atomic type</p><hr><h2><a name="method_new_scope">new_scope</a></h2><p><code>public void <strong>new_scope</strong>()</code></p><p>new scope</p><hr><h2><a name="method_prefix_exists">prefix_exists</a></h2><p><code>public boolean <strong>prefix_exists</strong>(java.lang.String prefix)</code></p><p>namespaces does the prefix exist</p><h3>Parameters</h3><p><code>prefix</code> - is the prefix</p><h3>Returns</h3><p><code>boolean</code> - boolean</p><hr><h2><a name="method_resolve_prefix">resolve_prefix</a></h2><p><code>public java.lang.String <strong>resolve_prefix</strong>(java.lang.String prefix)</code></p><p></p><h3>Parameters</h3><p><code>prefix</code> - is the prefix</p><h3>Returns</h3><p><code>java.lang.String</code> - string</p><hr><h2><a name="method_set_base_uri">set_base_uri</a></h2><p><code>public void <strong>set_base_uri</strong>(java.lang.String baseuri)</code></p><p>Sets the base uri for the context.</p><h3>Parameters</h3><p><code>baseuri</code></p><hr><h2><a name="method_set_collections">set_collections</a></h2><p><code>public void <strong>set_collections</strong>(java.util.Map collections)</code></p><p></p><h3>Parameters</h3><p><code>collections</code></p><hr><h2><a name="method_type_defined">type_defined</a></h2><p><code>public boolean <strong>type_defined</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name)</code></p><p></p><h3>Parameters</h3><p><code>name</code> - is qname</p><h3>Returns</h3><p><code>boolean</code> - boolean</p><hr><h2><a name="method_variable_exists">variable_exists</a></h2><p><code>public boolean <strong>variable_exists</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name)</code></p><p></p><h3>Parameters</h3><p><code>name</code> - is the qname</p><h3>Returns</h3><p><code>boolean</code> - boolean if variable exists</p><hr><h2><a name="method_variable_in_scope">variable_in_scope</a></h2><p><code>public boolean <strong>variable_in_scope</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName var)</code></p><p></p><h3>Parameters</h3><p><code>var</code> - is the variable of qname</p><h3>Returns</h3><p><code>boolean</code></p><hr><h2><a name="method_xpath1_compatible">xpath1_compatible</a></h2><p><code>public boolean <strong>xpath1_compatible</strong>()</code></p><p>is it xpath 1.0 compatible.</p><h3>Returns</h3><p><code>boolean</code> - boolean</p><hr></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.StaticError.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.StaticError.html
deleted file mode 100644
index eda4f22..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.StaticError.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor</strong></font><br>
- Class StaticError</h2><br><hr><pre>public class <strong>StaticError</strong>
-extends org.eclipse.wst.xml.xpath2.processor.XPathException</pre>Base class for all static errors as defined by the XPath 2.0 specification<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_StaticError">StaticError</a></strong>(java.lang.String code
- ,
- java.lang.String err)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_code">code</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Constructor Detail
- </h2></td></tr></table><h2><a name="con_StaticError">StaticError</a></h2><p><code>public <strong>StaticError</strong>(java.lang.String code
- ,
- java.lang.String err)</code></p><p>Constructor for a generic static error</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Methods Detail
- </h2></td></tr></table><h2><a name="method_code">code</a></h2><p><code>public java.lang.String <strong>code</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code> - error code which represents the error</p><hr></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.StaticNameResolver.DummyError.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.StaticNameResolver.DummyError.html
deleted file mode 100644
index 80c8ef5..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.StaticNameResolver.DummyError.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor</strong></font><br>
- Class StaticNameResolver.DummyError</h2><br><hr><pre>package-private class <strong>StaticNameResolver.DummyError</strong>
-extends java.lang.Error</pre><hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_StaticNameResolver.DummyError">StaticNameResolver.DummyError</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Constructor Detail
- </h2></td></tr></table><h2><a name="con_StaticNameResolver.DummyError">StaticNameResolver.DummyError</a></h2><p><code>package-private <strong>StaticNameResolver.DummyError</strong>()</code></p><p></p><hr></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.StaticNameResolver.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.StaticNameResolver.html
deleted file mode 100644
index 53b4530..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.StaticNameResolver.html
+++ /dev/null
@@ -1,121 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor</strong></font><br>
- Class StaticNameResolver</h2><br><hr><pre>public class <strong>StaticNameResolver</strong>
-extends java.lang.Object</pre>This class resolves static names.<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_StaticNameResolver">StaticNameResolver</a></strong>(org.eclipse.wst.xml.xpath2.processor.StaticContext sc)</code></td></tr><tr><td><code><strong><a href="#con_StaticNameResolver.DummyError">StaticNameResolver.DummyError</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_check">check</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathNode node)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Check the XPath node.</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_printBinExpr">printBinExpr</a>(java.lang.String name
- ,
- org.eclipse.wst.xml.xpath2.processor.internal.ast.BinExpr e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Validate a binary expression by checking its left and right children.</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_printUnExpr">printUnExpr</a>(java.lang.String name
- ,
- org.eclipse.wst.xml.xpath2.processor.internal.ast.UnExpr e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Validate a unary expression by checking its one child.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.ast.XPath xp)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Validate an XPath by visiting all the nodes.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.ForExpr fex)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Validate a for expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.QuantifiedExpr qex)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Validate a quantified expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.IfExpr ifex)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Validate an if expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.OrExpr orex)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Validate an OR expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.AndExpr andex)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Validate an AND expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.CmpExpr cmpex)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Validate a comparison expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.RangeExpr rex)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Validate a range expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.AddExpr addex)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Validate an additon expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.SubExpr subex)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Validate a subtraction expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.MulExpr mulex)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Validate a multiplication expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.DivExpr mulex)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Validate a division expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.IDivExpr mulex)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Validate an integer divison expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.ModExpr mulex)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Validate a mod expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.UnionExpr unex)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Validate a union expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.PipeExpr pipex)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Validate a piped expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.IntersectExpr iexpr)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Validate an intersection expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.ExceptExpr eexpr)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Validate an except expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.InstOfExpr ioexp)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Validate an 'instance of' expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.TreatAsExpr taexp)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Validate a 'treat as' expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.CastableExpr cexp)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Validate a castable expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.CastExpr cexp)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Validate a cast expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.MinusExpr e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Validate a minus expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.PlusExpr e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Validate a plus expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathExpr e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Validate an xpath expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.ForwardStep e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Validate a forward step.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.ReverseStep e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Validate a reverse step.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.NameTest e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Validate a name test.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.VarRef e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Validate a variable reference.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.StringLiteral e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Validate a string literal.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.IntegerLiteral e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Validate an integer literal.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.DoubleLiteral e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Validate a double literal.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.DecimalLiteral e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Validate a decimal literal.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.ParExpr e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Validate a parenthesized expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.CntxItemExpr e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Validate a context item expression.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.FunctionCall e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Validate a function call.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.SingleType e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Validate a single type.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.SequenceType e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Validate a sequence type.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.ItemType e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Validate an item type.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.AnyKindTest e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Validate an any kind test.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.DocumentTest e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Validate a document test.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.TextTest e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Validate a text test.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.CommentTest e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Validate a comment test.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.PITest e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Validate a processing instructing test.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.AttributeTest e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Validate an attribute test.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.SchemaAttrTest e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Validate a schema attribute test.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.ElementTest e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Validate an element test.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.SchemaElemTest e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Validate a schema element test.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.AxisStep e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Validate an axis step.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_visit">visit</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.FilterExpr e)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Validate a filter expression.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Constructor Detail
- </h2></td></tr></table><h2><a name="con_StaticNameResolver">StaticNameResolver</a></h2><p><code>public <strong>StaticNameResolver</strong>(org.eclipse.wst.xml.xpath2.processor.StaticContext sc)</code></p><p>Constructor for static name resolver</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Methods Detail
- </h2></td></tr></table><h2><a name="method_check">check</a></h2><p><code>public void <strong>check</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathNode node)</code></p><p>Check the XPath node.</p><h3>Parameters</h3><p><code>node</code> - is the XPath node to check.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.StaticError - static error.</code></p><hr><h2><a name="method_printBinExpr">printBinExpr</a></h2><p><code>public void <strong>printBinExpr</strong>(java.lang.String name
- ,
- org.eclipse.wst.xml.xpath2.processor.internal.ast.BinExpr e)</code></p><p>Validate a binary expression by checking its left and right children.</p><h3>Parameters</h3><p><code>name</code> - is the name of the binary expression.</p><p><code>e</code> - is the expression itself.</p><hr><h2><a name="method_printUnExpr">printUnExpr</a></h2><p><code>public void <strong>printUnExpr</strong>(java.lang.String name
- ,
- org.eclipse.wst.xml.xpath2.processor.internal.ast.UnExpr e)</code></p><p>Validate a unary expression by checking its one child.</p><h3>Parameters</h3><p><code>name</code> - is the name of the expression.</p><p><code>e</code> - is the expression itself.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.ast.XPath xp)</code></p><p>Validate an XPath by visiting all the nodes.</p><h3>Parameters</h3><p><code>xp</code> - is the XPath.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.ForExpr fex)</code></p><p>Validate a for expression.</p><h3>Parameters</h3><p><code>fex</code> - is the for expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.QuantifiedExpr qex)</code></p><p>Validate a quantified expression.</p><h3>Parameters</h3><p><code>qex</code> - is the quantified expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.IfExpr ifex)</code></p><p>Validate an if expression.</p><h3>Parameters</h3><p><code>ifex</code> - is the if expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.OrExpr orex)</code></p><p>Validate an OR expression.</p><h3>Parameters</h3><p><code>orex</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.AndExpr andex)</code></p><p>Validate an AND expression.</p><h3>Parameters</h3><p><code>andex</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.CmpExpr cmpex)</code></p><p>Validate a comparison expression.</p><h3>Parameters</h3><p><code>cmpex</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.RangeExpr rex)</code></p><p>Validate a range expression.</p><h3>Parameters</h3><p><code>rex</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.AddExpr addex)</code></p><p>Validate an additon expression.</p><h3>Parameters</h3><p><code>addex</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.SubExpr subex)</code></p><p>Validate a subtraction expression.</p><h3>Parameters</h3><p><code>subex</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.MulExpr mulex)</code></p><p>Validate a multiplication expression.</p><h3>Parameters</h3><p><code>mulex</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.DivExpr mulex)</code></p><p>Validate a division expression.</p><h3>Parameters</h3><p><code>mulex</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.IDivExpr mulex)</code></p><p>Validate an integer divison expression.</p><h3>Parameters</h3><p><code>mulex</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.ModExpr mulex)</code></p><p>Validate a mod expression.</p><h3>Parameters</h3><p><code>mulex</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.UnionExpr unex)</code></p><p>Validate a union expression.</p><h3>Parameters</h3><p><code>unex</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.PipeExpr pipex)</code></p><p>Validate a piped expression.</p><h3>Parameters</h3><p><code>pipex</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.IntersectExpr iexpr)</code></p><p>Validate an intersection expression.</p><h3>Parameters</h3><p><code>iexpr</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.ExceptExpr eexpr)</code></p><p>Validate an except expression.</p><h3>Parameters</h3><p><code>eexpr</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.InstOfExpr ioexp)</code></p><p>Validate an 'instance of' expression.</p><h3>Parameters</h3><p><code>ioexp</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.TreatAsExpr taexp)</code></p><p>Validate a 'treat as' expression.</p><h3>Parameters</h3><p><code>taexp</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.CastableExpr cexp)</code></p><p>Validate a castable expression.</p><h3>Parameters</h3><p><code>cexp</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.CastExpr cexp)</code></p><p>Validate a cast expression.</p><h3>Parameters</h3><p><code>cexp</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.MinusExpr e)</code></p><p>Validate a minus expression.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.PlusExpr e)</code></p><p>Validate a plus expression.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathExpr e)</code></p><p>Validate an xpath expression.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.ForwardStep e)</code></p><p>Validate a forward step.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.ReverseStep e)</code></p><p>Validate a reverse step.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.NameTest e)</code></p><p>Validate a name test.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.VarRef e)</code></p><p>Validate a variable reference.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.StringLiteral e)</code></p><p>Validate a string literal.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.IntegerLiteral e)</code></p><p>Validate an integer literal.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.DoubleLiteral e)</code></p><p>Validate a double literal.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.DecimalLiteral e)</code></p><p>Validate a decimal literal.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.ParExpr e)</code></p><p>Validate a parenthesized expression.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.CntxItemExpr e)</code></p><p>Validate a context item expression.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.FunctionCall e)</code></p><p>Validate a function call.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.SingleType e)</code></p><p>Validate a single type.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.SequenceType e)</code></p><p>Validate a sequence type.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.ItemType e)</code></p><p>Validate an item type.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.AnyKindTest e)</code></p><p>Validate an any kind test.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.DocumentTest e)</code></p><p>Validate a document test.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.TextTest e)</code></p><p>Validate a text test.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.CommentTest e)</code></p><p>Validate a comment test.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.PITest e)</code></p><p>Validate a processing instructing test.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.AttributeTest e)</code></p><p>Validate an attribute test.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.SchemaAttrTest e)</code></p><p>Validate a schema attribute test.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.ElementTest e)</code></p><p>Validate an element test.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.SchemaElemTest e)</code></p><p>Validate a schema element test.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.AxisStep e)</code></p><p>Validate an axis step.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr><h2><a name="method_visit">visit</a></h2><p><code>public java.lang.Object <strong>visit</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.FilterExpr e)</code></p><p>Validate a filter expression.</p><h3>Parameters</h3><p><code>e</code> - is the expression.</p><h3>Returns</h3><p><code>java.lang.Object</code> - null.</p><hr></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.XPathException.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.XPathException.html
deleted file mode 100644
index c12ee7c..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.XPathException.html
+++ /dev/null
@@ -1,9 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor</strong></font><br>
- Class XPathException</h2><br><hr><pre>public class <strong>XPathException</strong>
-extends java.lang.Exception</pre>This exception is thrown when there is a problem with an XPath exception.<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XPathException">XPathException</a></strong>(java.lang.String reason)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_reason">reason</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- The reason why the exception has been thrown.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Constructor Detail
- </h2></td></tr></table><h2><a name="con_XPathException">XPathException</a></h2><p><code>public <strong>XPathException</strong>(java.lang.String reason)</code></p><p>Constructor for XPathException</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Methods Detail
- </h2></td></tr></table><h2><a name="method_reason">reason</a></h2><p><code>public java.lang.String <strong>reason</strong>()</code></p><p>The reason why the exception has been thrown.</p><h3>Returns</h3><p><code>java.lang.String</code> - the reason why the exception has been throw.</p><hr></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.XPathParser.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.XPathParser.html
deleted file mode 100644
index 651df74..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.XPathParser.html
+++ /dev/null
@@ -1,7 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor</strong></font><br>
- Class XPathParser</h2><br><hr><pre>public class <strong>XPathParser</strong>
-extends </pre>This is an interface class for the XPath parser.<hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ast.XPath</code></td><td width="" align="left"><code><a href="#method_parse">parse</a>(java.lang.String xpath)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Constructor for the XPath parser interface.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Methods Detail
- </h2></td></tr></table><h2><a name="method_parse">parse</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ast.XPath <strong>parse</strong>(java.lang.String xpath)</code></p><p>Constructor for the XPath parser interface.</p><h3>Parameters</h3><p><code>xpath</code> - is the input XPath to be parsed.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ast.XPath</code> - The parsed XPath.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.XPathParserException - XPath parser exception.</code></p><hr></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.XPathParserException.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.XPathParserException.html
deleted file mode 100644
index e5258b5..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.XPathParserException.html
+++ /dev/null
@@ -1,9 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor</strong></font><br>
- Class XPathParserException</h2><br><hr><pre>public class <strong>XPathParserException</strong>
-extends org.eclipse.wst.xml.xpath2.processor.StaticError</pre>This exception is thrown if there is a problem with the XPath parser.<hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public static java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_INVALID_XPATH_EXPRESSION">INVALID_XPATH_EXPRESSION</a></code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- The type of exception.</td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XPathParserException">XPathParserException</a></strong>(java.lang.String reason)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Field Detail
- </h2></td></tr></table><h2><a name="field_INVALID_XPATH_EXPRESSION">INVALID_XPATH_EXPRESSION</a></h2><p><code>public static java.lang.String <strong>INVALID_XPATH_EXPRESSION</strong></code></p><table><tr><td>The type of exception.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Constructor Detail
- </h2></td></tr></table><h2><a name="con_XPathParserException">XPathParserException</a></h2><p><code>public <strong>XPathParserException</strong>(java.lang.String reason)</code></p><p>Constructor for XPathParserException.</p><hr></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.XercesLoader.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.XercesLoader.html
deleted file mode 100644
index e9b7fa1..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.XercesLoader.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor</strong></font><br>
- Class XercesLoader</h2><br><hr><pre>public class <strong>XercesLoader</strong>
-extends java.lang.Object</pre>Xerces loader class. The loading is always namespace aware.<hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>package-private javax.xml.validation.Schema</code></td><td width="80%" align="left"><code><a href="#field__schema">_schema</a></code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>package-private boolean</code></td><td width="80%" align="left"><code><a href="#field__validating">_validating</a></code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>public static java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_DOCUMENT_IMPLEMENTATION_PROPERTY">DOCUMENT_IMPLEMENTATION_PROPERTY</a></code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>public static java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_DOCUMENT_PSVI_IMPLEMENTATION">DOCUMENT_PSVI_IMPLEMENTATION</a></code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>public static java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_DYNAMIC_VALIDATION_FEATURE">DYNAMIC_VALIDATION_FEATURE</a></code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>public static java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_JAXP_SCHEMA_LANGUAGE">JAXP_SCHEMA_LANGUAGE</a></code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>public static java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_LOAD_EXTERNAL_DTD_FEATURE">LOAD_EXTERNAL_DTD_FEATURE</a></code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>public static java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_NAMESPACES_FEATURE">NAMESPACES_FEATURE</a></code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>public static java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_SCHEMA_FULL_CHECKING_FEATURE">SCHEMA_FULL_CHECKING_FEATURE</a></code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>public static java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_SCHEMA_VALIDATION_FEATURE">SCHEMA_VALIDATION_FEATURE</a></code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>public static java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_VALIDATION_FEATURE">VALIDATION_FEATURE</a></code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>public static java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_W3C_XML_SCHEMA">W3C_XML_SCHEMA</a></code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XercesLoader">XercesLoader</a></strong>()</code></td></tr><tr><td><code><strong><a href="#con_XercesLoader">XercesLoader</a></strong>(javax.xml.validation.Schema schema)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.w3c.dom.Document</code></td><td width="" align="left"><code><a href="#method_load">load</a>(java.io.InputStream in)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- The Xerces loader loads the XML document</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_set_validating">set_validating</a>(boolean x)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Set validating boolean.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Field Detail
- </h2></td></tr></table><h2><a name="field__schema">_schema</a></h2><p><code>package-private javax.xml.validation.Schema <strong>_schema</strong></code></p><hr><h2><a name="field__validating">_validating</a></h2><p><code>package-private boolean <strong>_validating</strong></code></p><hr><h2><a name="field_DOCUMENT_IMPLEMENTATION_PROPERTY">DOCUMENT_IMPLEMENTATION_PROPERTY</a></h2><p><code>public static java.lang.String <strong>DOCUMENT_IMPLEMENTATION_PROPERTY</strong></code></p><hr><h2><a name="field_DOCUMENT_PSVI_IMPLEMENTATION">DOCUMENT_PSVI_IMPLEMENTATION</a></h2><p><code>public static java.lang.String <strong>DOCUMENT_PSVI_IMPLEMENTATION</strong></code></p><hr><h2><a name="field_DYNAMIC_VALIDATION_FEATURE">DYNAMIC_VALIDATION_FEATURE</a></h2><p><code>public static java.lang.String <strong>DYNAMIC_VALIDATION_FEATURE</strong></code></p><hr><h2><a name="field_JAXP_SCHEMA_LANGUAGE">JAXP_SCHEMA_LANGUAGE</a></h2><p><code>public static java.lang.String <strong>JAXP_SCHEMA_LANGUAGE</strong></code></p><hr><h2><a name="field_LOAD_EXTERNAL_DTD_FEATURE">LOAD_EXTERNAL_DTD_FEATURE</a></h2><p><code>public static java.lang.String <strong>LOAD_EXTERNAL_DTD_FEATURE</strong></code></p><hr><h2><a name="field_NAMESPACES_FEATURE">NAMESPACES_FEATURE</a></h2><p><code>public static java.lang.String <strong>NAMESPACES_FEATURE</strong></code></p><hr><h2><a name="field_SCHEMA_FULL_CHECKING_FEATURE">SCHEMA_FULL_CHECKING_FEATURE</a></h2><p><code>public static java.lang.String <strong>SCHEMA_FULL_CHECKING_FEATURE</strong></code></p><hr><h2><a name="field_SCHEMA_VALIDATION_FEATURE">SCHEMA_VALIDATION_FEATURE</a></h2><p><code>public static java.lang.String <strong>SCHEMA_VALIDATION_FEATURE</strong></code></p><hr><h2><a name="field_VALIDATION_FEATURE">VALIDATION_FEATURE</a></h2><p><code>public static java.lang.String <strong>VALIDATION_FEATURE</strong></code></p><hr><h2><a name="field_W3C_XML_SCHEMA">W3C_XML_SCHEMA</a></h2><p><code>public static java.lang.String <strong>W3C_XML_SCHEMA</strong></code></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Constructor Detail
- </h2></td></tr></table><h2><a name="con_XercesLoader">XercesLoader</a></h2><p><code>public <strong>XercesLoader</strong>()</code></p><p>Constructor for Xerces loader.</p><hr><h2><a name="con_XercesLoader">XercesLoader</a></h2><p><code>public <strong>XercesLoader</strong>(javax.xml.validation.Schema schema)</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Methods Detail
- </h2></td></tr></table><h2><a name="method_load">load</a></h2><p><code>public org.w3c.dom.Document <strong>load</strong>(java.io.InputStream in)</code></p><p>The Xerces loader loads the XML document</p><h3>Parameters</h3><p><code>in</code> - is the input stream.</p><h3>Returns</h3><p><code>org.w3c.dom.Document</code> - The loaded document.</p><h3>Throws:</h3><p><code>org.eclipse.wst.xml.xpath2.processor.DOMLoaderException - DOM loader exception.</code></p><hr><h2><a name="method_set_validating">set_validating</a></h2><p><code>public void <strong>set_validating</strong>(boolean x)</code></p><p>Set validating boolean.</p><h3>Parameters</h3><p><code>x</code> - is the value to set the validating boolean to.</p><hr></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.ast.XPath.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.ast.XPath.html
deleted file mode 100644
index 35d815d..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.ast.XPath.html
+++ /dev/null
@@ -1,11 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.ast</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.ast</strong></font><br>
- Class XPath</h2><br><hr><pre>public class <strong>XPath</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathNode</pre>Support for XPath.<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XPath">XPath</a></strong>(java.util.Collection exprs)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.Object</code></td><td width="" align="left"><code><a href="#method_accept">accept</a>(org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor v)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Support for Visitor interface.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.Iterator</code></td><td width="" align="left"><code><a href="#method_iterator">iterator</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Support for Iterator interface.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Constructor Detail
- </h2></td></tr></table><h2><a name="con_XPath">XPath</a></h2><p><code>public <strong>XPath</strong>(java.util.Collection exprs)</code></p><p>Constructor for XPath.</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Methods Detail
- </h2></td></tr></table><h2><a name="method_accept">accept</a></h2><p><code>public java.lang.Object <strong>accept</strong>(org.eclipse.wst.xml.xpath2.processor.internal.ast.XPathVisitor v)</code></p><p>Support for Visitor interface.</p><h3>Parameters</h3><p><code>v</code></p><h3>Returns</h3><p><code>java.lang.Object</code> - Result of Visitor operation.</p><hr><h2><a name="method_iterator">iterator</a></h2><p><code>public java.util.Iterator <strong>iterator</strong>()</code></p><p>Support for Iterator interface.</p><h3>Returns</h3><p><code>java.util.Iterator</code> - Result of Iterator operation.</p><hr></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.function.FnFunctionLibrary.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.function.FnFunctionLibrary.html
deleted file mode 100644
index 101922c..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.function.FnFunctionLibrary.html
+++ /dev/null
@@ -1,9 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.function</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.function</strong></font><br>
- Class FnFunctionLibrary</h2><br><hr><pre>public class <strong>FnFunctionLibrary</strong>
-extends FunctionLibrary</pre>Maintains a library of core functions and user defined functions.<hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public static java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XPATH_FUNCTIONS_NS">XPATH_FUNCTIONS_NS</a></code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Path to xpath functions specification.</td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_FnFunctionLibrary">FnFunctionLibrary</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Field Detail
- </h2></td></tr></table><h2><a name="field_XPATH_FUNCTIONS_NS">XPATH_FUNCTIONS_NS</a></h2><p><code>public static java.lang.String <strong>XPATH_FUNCTIONS_NS</strong></code></p><table><tr><td>Path to xpath functions specification.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Constructor Detail
- </h2></td></tr></table><h2><a name="con_FnFunctionLibrary">FnFunctionLibrary</a></h2><p><code>public <strong>FnFunctionLibrary</strong>()</code></p><p>Constructor for FnFunctionLibrary.</p><hr></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.function.XSCtrLibrary.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.function.XSCtrLibrary.html
deleted file mode 100644
index d4c7858..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.function.XSCtrLibrary.html
+++ /dev/null
@@ -1,9 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.function</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.function</strong></font><br>
- Class XSCtrLibrary</h2><br><hr><pre>public class <strong>XSCtrLibrary</strong>
-extends ConstructorFL</pre>XML Schema control library support.<hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public static java.lang.String</code></td><td width="80%" align="left"><code><a href="#field_XML_SCHEMA_NS">XML_SCHEMA_NS</a></code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Path to w3.org XML Schema specification.</td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_XSCtrLibrary">XSCtrLibrary</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Field Detail
- </h2></td></tr></table><h2><a name="field_XML_SCHEMA_NS">XML_SCHEMA_NS</a></h2><p><code>public static java.lang.String <strong>XML_SCHEMA_NS</strong></code></p><table><tr><td>Path to w3.org XML Schema specification.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Constructor Detail
- </h2></td></tr></table><h2><a name="con_XSCtrLibrary">XSCtrLibrary</a></h2><p><code>public <strong>XSCtrLibrary</strong>()</code></p><p>Constructor for XSCtrLibrary.</p><hr></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.AncestorAxis.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.AncestorAxis.html
deleted file mode 100644
index 300271c..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.AncestorAxis.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal</strong></font><br>
- Class AncestorAxis</h2><br><hr><pre>public class <strong>AncestorAxis</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.ParentAxis</pre>Returns the ancestors of the context node, this always includes the root
- node.<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_AncestorAxis">AncestorAxis</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_iterate">iterate</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
- ,
- org.eclipse.wst.xml.xpath2.processor.DynamicContext dc)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Get the ancestors of the context node.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Constructor Detail
- </h2></td></tr></table><h2><a name="con_AncestorAxis">AncestorAxis</a></h2><p><code>public <strong>AncestorAxis</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Methods Detail
- </h2></td></tr></table><h2><a name="method_iterate">iterate</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>iterate</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
- ,
- org.eclipse.wst.xml.xpath2.processor.DynamicContext dc)</code></p><p>Get the ancestors of the context node.</p><h3>Parameters</h3><p><code>node</code> - is the type of node.</p><p><code>dc</code> - is the dynamic context.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - The nodes that are ancestors of the context node.</p><hr></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.AncestorOrSelfAxis.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.AncestorOrSelfAxis.html
deleted file mode 100644
index 8915f33..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.AncestorOrSelfAxis.html
+++ /dev/null
@@ -1,14 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal</strong></font><br>
- Class AncestorOrSelfAxis</h2><br><hr><pre>public class <strong>AncestorOrSelfAxis</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.ReverseAxis</pre>The ancestor-or-self axis contains the context node and the ancestors of the
- context node, this always includes the root node.<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_AncestorOrSelfAxis">AncestorOrSelfAxis</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_iterate">iterate</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
- ,
- org.eclipse.wst.xml.xpath2.processor.DynamicContext dc)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Get ancestor nodes of the context node and the context node itself.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Constructor Detail
- </h2></td></tr></table><h2><a name="con_AncestorOrSelfAxis">AncestorOrSelfAxis</a></h2><p><code>public <strong>AncestorOrSelfAxis</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Methods Detail
- </h2></td></tr></table><h2><a name="method_iterate">iterate</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>iterate</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
- ,
- org.eclipse.wst.xml.xpath2.processor.DynamicContext dc)</code></p><p>Get ancestor nodes of the context node and the context node itself.</p><h3>Parameters</h3><p><code>node</code> - is the type of node.</p><p><code>dc</code> - is the dynamic context.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - The context node and its ancestors.</p><hr></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.AttributeAxis.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.AttributeAxis.html
deleted file mode 100644
index 675796e..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.AttributeAxis.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal</strong></font><br>
- Class AttributeAxis</h2><br><hr><pre>public class <strong>AttributeAxis</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.ForwardAxis</pre>The attribute axis contains the attributes of the context node. The axis will
- be empty unless the context node is an element.<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_AttributeAxis">AttributeAxis</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_iterate">iterate</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
- ,
- org.eclipse.wst.xml.xpath2.processor.DynamicContext dc)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Retrieves the context node's attributes.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType</code></td><td width="" align="left"><code><a href="#method_principal_node_kind">principal_node_kind</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Retrieves the node's principle node kind.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Constructor Detail
- </h2></td></tr></table><h2><a name="con_AttributeAxis">AttributeAxis</a></h2><p><code>public <strong>AttributeAxis</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Methods Detail
- </h2></td></tr></table><h2><a name="method_iterate">iterate</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>iterate</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
- ,
- org.eclipse.wst.xml.xpath2.processor.DynamicContext dc)</code></p><p>Retrieves the context node's attributes.</p><h3>Parameters</h3><p><code>node</code> - is the type of node.</p><p><code>dc</code> - is the dynamic context.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - The attibutes of the context node.</p><hr><h2><a name="method_principal_node_kind">principal_node_kind</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType <strong>principal_node_kind</strong>()</code></p><p>Retrieves the node's principle node kind.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType</code> - The type of node.</p><hr></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.Axis.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.Axis.html
deleted file mode 100644
index 8aca1a6..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.Axis.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal</strong></font><br>
- Class Axis</h2><br><hr><pre>public class <strong>Axis</strong>
-extends </pre>This is the interface class for an Axis.
-
- An axis defines the "direction of movement" for a step between a context node
- and another node that is reachable via the axis.<hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_iterate">iterate</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
- ,
- org.eclipse.wst.xml.xpath2.processor.DynamicContext dc)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Get elements and attributes.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType</code></td><td width="" align="left"><code><a href="#method_principal_node_kind">principal_node_kind</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Get the principle kind of node.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Methods Detail
- </h2></td></tr></table><h2><a name="method_iterate">iterate</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>iterate</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
- ,
- org.eclipse.wst.xml.xpath2.processor.DynamicContext dc)</code></p><p>Get elements and attributes.</p><h3>Parameters</h3><p><code>node</code> - is the type of node.</p><p><code>dc</code> - is the dynamic context.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - The result sequence.</p><hr><h2><a name="method_principal_node_kind">principal_node_kind</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType <strong>principal_node_kind</strong>()</code></p><p>Get the principle kind of node.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType</code> - The principle node kind.</p><hr></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.CUP$XPathCup$actions.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.CUP$XPathCup$actions.html
deleted file mode 100644
index 3a4a925..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.CUP$XPathCup$actions.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal</strong></font><br>
- Class CUP$XPathCup$actions</h2><br><hr><pre>package-private class <strong>CUP$XPathCup$actions</strong>
-extends java.lang.Object</pre>Cup generated class to encapsulate user supplied action code.<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_CUP$XPathCup$actions">CUP$XPathCup$actions</a></strong>(org.eclipse.wst.xml.xpath2.processor.internal.XPathCup parser)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public java_cup.runtime.Symbol</code></td><td width="" align="left"><code><a href="#method_CUP$XPathCup$do_action">CUP$XPathCup$do_action</a>(int CUP$XPathCup$act_num
- ,
- java_cup.runtime.lr_parser CUP$XPathCup$parser
- ,
- java.util.Stack CUP$XPathCup$stack
- ,
- int CUP$XPathCup$top)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Method with the actual generated action code.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Constructor Detail
- </h2></td></tr></table><h2><a name="con_CUP$XPathCup$actions">CUP$XPathCup$actions</a></h2><p><code>package-private <strong>CUP$XPathCup$actions</strong>(org.eclipse.wst.xml.xpath2.processor.internal.XPathCup parser)</code></p><p>Constructor</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Methods Detail
- </h2></td></tr></table><h2><a name="method_CUP$XPathCup$do_action">CUP$XPathCup$do_action</a></h2><p><code>public java_cup.runtime.Symbol <strong>CUP$XPathCup$do_action</strong>(int CUP$XPathCup$act_num
- ,
- java_cup.runtime.lr_parser CUP$XPathCup$parser
- ,
- java.util.Stack CUP$XPathCup$stack
- ,
- int CUP$XPathCup$top)</code></p><p>Method with the actual generated action code.</p><h3>Parameters</h3><p><code>CUP$XPathCup$act_num</code></p><p><code>CUP$XPathCup$parser</code></p><p><code>CUP$XPathCup$stack</code></p><p><code>CUP$XPathCup$top</code></p><h3>Returns</h3><p><code>java_cup.runtime.Symbol</code></p><h3>Throws:</h3><p><code>java.lang.Exception</code></p><hr></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ChildAxis.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ChildAxis.html
deleted file mode 100644
index 11e1c91..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.ChildAxis.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal</strong></font><br>
- Class ChildAxis</h2><br><hr><pre>public class <strong>ChildAxis</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.ForwardAxis</pre>The child axis contains the children of the context node.<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_ChildAxis">ChildAxis</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_iterate">iterate</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
- ,
- org.eclipse.wst.xml.xpath2.processor.DynamicContext dc)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Retrieves the context node's children.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Constructor Detail
- </h2></td></tr></table><h2><a name="con_ChildAxis">ChildAxis</a></h2><p><code>public <strong>ChildAxis</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Methods Detail
- </h2></td></tr></table><h2><a name="method_iterate">iterate</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>iterate</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
- ,
- org.eclipse.wst.xml.xpath2.processor.DynamicContext dc)</code></p><p>Retrieves the context node's children.</p><h3>Parameters</h3><p><code>node</code> - is the type of node.</p><p><code>dc</code> - is the dynamic context.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - The context node's children.</p><hr></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.CupError.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.CupError.html
deleted file mode 100644
index fe50d67..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.CupError.html
+++ /dev/null
@@ -1,5 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal</strong></font><br>
- Class CupError</h2><br><hr><pre>public class <strong>CupError</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.XPathError</pre>Error caused by CUP Parser.<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_CupError">CupError</a></strong>(java.lang.String reason)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Constructor Detail
- </h2></td></tr></table><h2><a name="con_CupError">CupError</a></h2><p><code>public <strong>CupError</strong>(java.lang.String reason)</code></p><p>Constructor for CUP error.</p><hr></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.DefaultRSFactory.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.DefaultRSFactory.html
deleted file mode 100644
index 6f9b55c..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.DefaultRSFactory.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal</strong></font><br>
- Class DefaultRSFactory</h2><br><hr><pre>public class <strong>DefaultRSFactory</strong>
-extends org.eclipse.wst.xml.xpath2.processor.ResultSequenceFactory</pre>Factory implementation which creates sequences of type DefaultResultSequence.<hr><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Field Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public static int</code></td><td width="80%" align="left"><code><a href="#field_POOL_SIZE">POOL_SIZE</a></code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr></table><br><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_DefaultRSFactory">DefaultRSFactory</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>protected org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_fact_create_new">fact_create_new</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_fact_print_debug">fact_print_debug</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_fact_release">fact_release</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence rs)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Field Detail
- </h2></td></tr></table><h2><a name="field_POOL_SIZE">POOL_SIZE</a></h2><p><code>public static int <strong>POOL_SIZE</strong></code></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Constructor Detail
- </h2></td></tr></table><h2><a name="con_DefaultRSFactory">DefaultRSFactory</a></h2><p><code>public <strong>DefaultRSFactory</strong>()</code></p><p>Constructor of factory.</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Methods Detail
- </h2></td></tr></table><h2><a name="method_fact_create_new">fact_create_new</a></h2><p><code>protected org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>fact_create_new</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></p><hr><h2><a name="method_fact_print_debug">fact_print_debug</a></h2><p><code>protected void <strong>fact_print_debug</strong>()</code></p><p></p><hr><h2><a name="method_fact_release">fact_release</a></h2><p><code>protected void <strong>fact_release</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence rs)</code></p><p></p><h3>Parameters</h3><p><code>rs</code></p><hr></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.DefaultResultSequence.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.DefaultResultSequence.html
deleted file mode 100644
index e66aa0e..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.DefaultResultSequence.html
+++ /dev/null
@@ -1,27 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal</strong></font><br>
- Class DefaultResultSequence</h2><br><hr><pre>public class <strong>DefaultResultSequence</strong>
-extends org.eclipse.wst.xml.xpath2.processor.ResultSequence</pre>Default implementation of a result sequence.<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_DefaultResultSequence">DefaultResultSequence</a></strong>()</code></td></tr><tr><td><code><strong><a href="#con_DefaultResultSequence">DefaultResultSequence</a></strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType item)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_add">add</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType item)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_clear">clear</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Clears the sequence.</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_concat">concat</a>(org.eclipse.wst.xml.xpath2.processor.ResultSequence rs)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_create_new">create_new</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Create a new sequence.</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_empty">empty</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Whether or not array _seq is empty</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code></td><td width="" align="left"><code><a href="#method_first">first</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code></td><td width="" align="left"><code><a href="#method_get">get</a>(int i)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.ListIterator</code></td><td width="" align="left"><code><a href="#method_iterator">iterator</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_size">size</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Constructor Detail
- </h2></td></tr></table><h2><a name="con_DefaultResultSequence">DefaultResultSequence</a></h2><p><code>public <strong>DefaultResultSequence</strong>()</code></p><p>Constructor.
-
- an empty array is created</p><hr><h2><a name="con_DefaultResultSequence">DefaultResultSequence</a></h2><p><code>public <strong>DefaultResultSequence</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType item)</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Methods Detail
- </h2></td></tr></table><h2><a name="method_add">add</a></h2><p><code>public void <strong>add</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType item)</code></p><p></p><h3>Parameters</h3><p><code>item</code> - is added to array _seq</p><hr><h2><a name="method_clear">clear</a></h2><p><code>public void <strong>clear</strong>()</code></p><p>Clears the sequence.</p><hr><h2><a name="method_concat">concat</a></h2><p><code>public void <strong>concat</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence rs)</code></p><p></p><h3>Parameters</h3><p><code>rs</code> - ResultSequence</p><hr><h2><a name="method_create_new">create_new</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>create_new</strong>()</code></p><p>Create a new sequence.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - The new sequence.</p><hr><h2><a name="method_empty">empty</a></h2><p><code>public boolean <strong>empty</strong>()</code></p><p>Whether or not array _seq is empty</p><h3>Returns</h3><p><code>boolean</code> - a boolean</p><hr><h2><a name="method_first">first</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType <strong>first</strong>()</code></p><p></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code> - first item from array _seq</p><hr><h2><a name="method_get">get</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType <strong>get</strong>(int i)</code></p><p></p><h3>Parameters</h3><p><code>i</code> - is the position of the array item that is wanted.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code> - item i from array _seq</p><hr><h2><a name="method_iterator">iterator</a></h2><p><code>public java.util.ListIterator <strong>iterator</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.util.ListIterator</code> - the next iteration of array _seq</p><hr><h2><a name="method_size">size</a></h2><p><code>public int <strong>size</strong>()</code></p><p></p><h3>Returns</h3><p><code>int</code> - integer of the size of array _seq</p><hr></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.DefaultStaticContext.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.DefaultStaticContext.html
deleted file mode 100644
index 4f2609c..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.DefaultStaticContext.html
+++ /dev/null
@@ -1,124 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal</strong></font><br>
- Class DefaultStaticContext</h2><br><hr><pre>public class <strong>DefaultStaticContext</strong>
-extends java.lang.Object</pre>Default implementation of a static context as described by the XPath 2.0
- specification.<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_DefaultStaticContext">DefaultStaticContext</a></strong>(org.apache.xerces.xs.XSModel schema)</code></td></tr><tr><td><code><strong><a href="#con_DefaultStaticContext">DefaultStaticContext</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_add_function_library">add_function_library</a>(FunctionLibrary fl)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Adds a function to the library.</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_add_namespace">add_namespace</a>(java.lang.String prefix
- ,
- java.lang.String namespace)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- adds namespace</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_add_variable">add_variable</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName var)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Adds a variable to current scope.
-
- used for static checking.... i.e. presence of variables</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_attribute_declared">attribute_declared</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName attr)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Checks if an attribute is in the in-scope schema definitions.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.apache.xerces.xs.XSTypeDefinition</code></td><td width="" align="left"><code><a href="#method_attribute_type_definition">attribute_type_definition</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName elem)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Retrieves type definition of the attribute in an element.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.XSAnyURI</code></td><td width="" align="left"><code><a href="#method_base_uri">base_uri</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- return the base URI</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_debug_print_vars">debug_print_vars</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Debug function which will print current variable scopes and info.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_default_function_namespace">default_function_namespace</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Retrieves the defaul function namespace</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_default_namespace">default_namespace</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Retrieves the default namespace, when one is not allocated</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_del_variable">del_variable</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName var)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Deletes a variable from current scope.</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_derives_from">derives_from</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType at
- ,
- org.eclipse.wst.xml.xpath2.processor.internal.types.QName et)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Checks if an XML node derives from a specified type.</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_derives_from">derives_from</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType at
- ,
- org.apache.xerces.xs.XSTypeDefinition et)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Checks if an XML node derives from a specified type definition.</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_destroy_scope">destroy_scope</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Destroys a scope.</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_element_declared">element_declared</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName elem)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- is element declared?</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.apache.xerces.xs.XSTypeDefinition</code></td><td width="" align="left"><code><a href="#method_element_type_definition">element_type_definition</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName elem)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Obtains schema definition of the type of an element.</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_expand_elem_type_qname">expand_elem_type_qname</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Expands a qname and uses the default type/element namespace if
- unprefixed.</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_expand_function_qname">expand_function_qname</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Expands a qname and uses the default function namespace if unprefixed.</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_expand_qname">expand_qname</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Expands the qname's prefix into a namespace.</td></tr><tr valign="top"><td width="20%" align="right"><code>protected Function</code></td><td width="" align="left"><code><a href="#method_function">function</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name
- ,
- int arity)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_function_exists">function_exists</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name
- ,
- int arity)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Check for existance of function.</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_get_cntxt_item_type">get_cntxt_item_type</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.Map</code></td><td width="" align="left"><code><a href="#method_get_collections">get_collections</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_get_default_collection_type">get_default_collection_type</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>public java.util.Map</code></td><td width="" align="left"><code><a href="#method_get_documents">get_documents</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>protected org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code></td><td width="" align="left"><code><a href="#method_get_var">get_var</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName var)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType</code></td><td width="" align="left"><code><a href="#method_make_atomic">make_atomic</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Creates an atomic from a specific type name initialized with a default
- value.</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_new_scope">new_scope</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Creates a new scope level.</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_prefix_exists">prefix_exists</a>(java.lang.String pref)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- does prefix exist?</td></tr><tr valign="top"><td width="20%" align="right"><code>public java.lang.String</code></td><td width="" align="left"><code><a href="#method_resolve_prefix">resolve_prefix</a>(java.lang.String pref)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Resolves a prefix into a namespace URI.</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_set_base_uri">set_base_uri</a>(java.lang.String baseuri)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Set the Base URI for the static context.</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_set_cntxt_item_type">set_cntxt_item_type</a>(java.lang.String cntxtItemType)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_set_collections">set_collections</a>(java.util.Map collections)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_set_default_collection_type">set_default_collection_type</a>(java.lang.String defaultCollectionType)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_set_documents">set_documents</a>(java.util.Map _documents)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>protected void</code></td><td width="" align="left"><code><a href="#method_set_variable">set_variable</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName var
- ,
- org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType val)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- </td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_type_defined">type_defined</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName qname)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Checks whether the type is defined in the in scope schema definitions.</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_type_defined">type_defined</a>(java.lang.String ns
- ,
- java.lang.String type)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Checks whether the type is defined in the in scope schema definitions.</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_variable_exists">variable_exists</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName var)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- does variable exist in current scope ?</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_variable_in_scope">variable_in_scope</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName var)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- checks to see if variable is in scope</td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_xpath1_compatible">xpath1_compatible</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- is it xpath1 compatible?</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Constructor Detail
- </h2></td></tr></table><h2><a name="con_DefaultStaticContext">DefaultStaticContext</a></h2><p><code>public <strong>DefaultStaticContext</strong>(org.apache.xerces.xs.XSModel schema)</code></p><p>Constructor.</p><hr><h2><a name="con_DefaultStaticContext">DefaultStaticContext</a></h2><p><code>public <strong>DefaultStaticContext</strong>()</code></p><p>Constructor for schema-less documents.</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Methods Detail
- </h2></td></tr></table><h2><a name="method_add_function_library">add_function_library</a></h2><p><code>public void <strong>add_function_library</strong>(FunctionLibrary fl)</code></p><p>Adds a function to the library.</p><h3>Parameters</h3><p><code>fl</code> - Function library to add.</p><hr><h2><a name="method_add_namespace">add_namespace</a></h2><p><code>public void <strong>add_namespace</strong>(java.lang.String prefix
- ,
- java.lang.String namespace)</code></p><p>adds namespace</p><h3>Parameters</h3><p><code>prefix</code> - namespace prefix</p><p><code>namespace</code> - namespace URI</p><hr><h2><a name="method_add_variable">add_variable</a></h2><p><code>public void <strong>add_variable</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName var)</code></p><p>Adds a variable to current scope.
-
- used for static checking.... i.e. presence of variables</p><h3>Parameters</h3><p><code>var</code> - variable name to add.</p><hr><h2><a name="method_attribute_declared">attribute_declared</a></h2><p><code>public boolean <strong>attribute_declared</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName attr)</code></p><p>Checks if an attribute is in the in-scope schema definitions.</p><h3>Parameters</h3><p><code>attr</code> - name of attribute.</p><h3>Returns</h3><p><code>boolean</code> - true if attribute is declared.</p><hr><h2><a name="method_attribute_type_definition">attribute_type_definition</a></h2><p><code>public org.apache.xerces.xs.XSTypeDefinition <strong>attribute_type_definition</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName elem)</code></p><p>Retrieves type definition of the attribute in an element.</p><h3>Parameters</h3><p><code>elem</code> - element name</p><h3>Returns</h3><p><code>org.apache.xerces.xs.XSTypeDefinition</code> - schema definition of the type of the attribute</p><hr><h2><a name="method_base_uri">base_uri</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.XSAnyURI <strong>base_uri</strong>()</code></p><p>return the base URI</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.XSAnyURI</code> - XSAnyURI</p><hr><h2><a name="method_debug_print_vars">debug_print_vars</a></h2><p><code>public void <strong>debug_print_vars</strong>()</code></p><p>Debug function which will print current variable scopes and info.</p><hr><h2><a name="method_default_function_namespace">default_function_namespace</a></h2><p><code>public java.lang.String <strong>default_function_namespace</strong>()</code></p><p>Retrieves the defaul function namespace</p><h3>Returns</h3><p><code>java.lang.String</code> - string</p><hr><h2><a name="method_default_namespace">default_namespace</a></h2><p><code>public java.lang.String <strong>default_namespace</strong>()</code></p><p>Retrieves the default namespace, when one is not allocated</p><h3>Returns</h3><p><code>java.lang.String</code> - string</p><hr><h2><a name="method_del_variable">del_variable</a></h2><p><code>public boolean <strong>del_variable</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName var)</code></p><p>Deletes a variable from current scope.</p><h3>Parameters</h3><p><code>var</code> - variable name to delete.</p><h3>Returns</h3><p><code>boolean</code> - false if variable doesn't exist.</p><hr><h2><a name="method_derives_from">derives_from</a></h2><p><code>public boolean <strong>derives_from</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType at
- ,
- org.eclipse.wst.xml.xpath2.processor.internal.types.QName et)</code></p><p>Checks if an XML node derives from a specified type.</p><h3>Parameters</h3><p><code>at</code> - node actual type</p><p><code>et</code> - name of expected type</p><h3>Returns</h3><p><code>boolean</code> - true if a derivation exists</p><hr><h2><a name="method_derives_from">derives_from</a></h2><p><code>public boolean <strong>derives_from</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType at
- ,
- org.apache.xerces.xs.XSTypeDefinition et)</code></p><p>Checks if an XML node derives from a specified type definition.</p><h3>Parameters</h3><p><code>at</code> - node actual type.</p><p><code>et</code> - type definition of expected type.</p><h3>Returns</h3><p><code>boolean</code> - true if a derivation exists.</p><hr><h2><a name="method_destroy_scope">destroy_scope</a></h2><p><code>public void <strong>destroy_scope</strong>()</code></p><p>Destroys a scope.</p><hr><h2><a name="method_element_declared">element_declared</a></h2><p><code>public boolean <strong>element_declared</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName elem)</code></p><p>is element declared?</p><h3>Parameters</h3><p><code>elem</code> - name of element.</p><h3>Returns</h3><p><code>boolean</code> - true if element declared.</p><hr><h2><a name="method_element_type_definition">element_type_definition</a></h2><p><code>public org.apache.xerces.xs.XSTypeDefinition <strong>element_type_definition</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName elem)</code></p><p>Obtains schema definition of the type of an element.</p><h3>Parameters</h3><p><code>elem</code> - name of element who's type is desired.</p><h3>Returns</h3><p><code>org.apache.xerces.xs.XSTypeDefinition</code> - schema definition of type</p><hr><h2><a name="method_expand_elem_type_qname">expand_elem_type_qname</a></h2><p><code>public boolean <strong>expand_elem_type_qname</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name)</code></p><p>Expands a qname and uses the default type/element namespace if
- unprefixed.</p><h3>Parameters</h3><p><code>name</code> - qname to expand.</p><h3>Returns</h3><p><code>boolean</code> - true on success.</p><hr><h2><a name="method_expand_function_qname">expand_function_qname</a></h2><p><code>public boolean <strong>expand_function_qname</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name)</code></p><p>Expands a qname and uses the default function namespace if unprefixed.</p><h3>Parameters</h3><p><code>name</code> - qname to expand.</p><h3>Returns</h3><p><code>boolean</code> - true on success.</p><hr><h2><a name="method_expand_qname">expand_qname</a></h2><p><code>public boolean <strong>expand_qname</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name)</code></p><p>Expands the qname's prefix into a namespace.</p><h3>Parameters</h3><p><code>name</code> - qname to expand.</p><h3>Returns</h3><p><code>boolean</code> - true on success.</p><hr><h2><a name="method_function">function</a></h2><p><code>protected Function <strong>function</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name
- ,
- int arity)</code></p><p></p><h3>Parameters</h3><p><code>name</code></p><p><code>arity</code></p><h3>Returns</h3><p><code>Function</code></p><hr><h2><a name="method_function_exists">function_exists</a></h2><p><code>public boolean <strong>function_exists</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name
- ,
- int arity)</code></p><p>Check for existance of function.</p><h3>Parameters</h3><p><code>name</code> - function name.</p><p><code>arity</code> - arity of function.</p><h3>Returns</h3><p><code>boolean</code> - true if function exists. False otherwise.</p><hr><h2><a name="method_get_cntxt_item_type">get_cntxt_item_type</a></h2><p><code>public java.lang.String <strong>get_cntxt_item_type</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_get_collections">get_collections</a></h2><p><code>public java.util.Map <strong>get_collections</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.util.Map</code></p><hr><h2><a name="method_get_default_collection_type">get_default_collection_type</a></h2><p><code>public java.lang.String <strong>get_default_collection_type</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.lang.String</code></p><hr><h2><a name="method_get_documents">get_documents</a></h2><p><code>public java.util.Map <strong>get_documents</strong>()</code></p><p></p><h3>Returns</h3><p><code>java.util.Map</code></p><hr><h2><a name="method_get_var">get_var</a></h2><p><code>protected org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType <strong>get_var</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName var)</code></p><p></p><h3>Parameters</h3><p><code>var</code></p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code></p><hr><h2><a name="method_make_atomic">make_atomic</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType <strong>make_atomic</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName name)</code></p><p>Creates an atomic from a specific type name initialized with a default
- value.</p><h3>Parameters</h3><p><code>name</code> - name of type to create</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyAtomicType</code> - Atomic type of desired type.</p><hr><h2><a name="method_new_scope">new_scope</a></h2><p><code>public void <strong>new_scope</strong>()</code></p><p>Creates a new scope level.</p><hr><h2><a name="method_prefix_exists">prefix_exists</a></h2><p><code>public boolean <strong>prefix_exists</strong>(java.lang.String pref)</code></p><p>does prefix exist?</p><h3>Parameters</h3><p><code>pref</code> - prefix name.</p><h3>Returns</h3><p><code>boolean</code> - true if it does.</p><hr><h2><a name="method_resolve_prefix">resolve_prefix</a></h2><p><code>public java.lang.String <strong>resolve_prefix</strong>(java.lang.String pref)</code></p><p>Resolves a prefix into a namespace URI.</p><h3>Parameters</h3><p><code>pref</code> - prefix name</p><h3>Returns</h3><p><code>java.lang.String</code> - uri prefix is resolved to or null.</p><hr><h2><a name="method_set_base_uri">set_base_uri</a></h2><p><code>public void <strong>set_base_uri</strong>(java.lang.String baseuri)</code></p><p>Set the Base URI for the static context.</p><h3>Parameters</h3><p><code>baseuri</code></p><hr><h2><a name="method_set_cntxt_item_type">set_cntxt_item_type</a></h2><p><code>public void <strong>set_cntxt_item_type</strong>(java.lang.String cntxtItemType)</code></p><p></p><h3>Parameters</h3><p><code>cntxtItemType</code></p><hr><h2><a name="method_set_collections">set_collections</a></h2><p><code>public void <strong>set_collections</strong>(java.util.Map collections)</code></p><p></p><h3>Parameters</h3><p><code>collections</code></p><hr><h2><a name="method_set_default_collection_type">set_default_collection_type</a></h2><p><code>public void <strong>set_default_collection_type</strong>(java.lang.String defaultCollectionType)</code></p><p></p><h3>Parameters</h3><p><code>defaultCollectionType</code></p><hr><h2><a name="method_set_documents">set_documents</a></h2><p><code>public void <strong>set_documents</strong>(java.util.Map _documents)</code></p><p></p><h3>Parameters</h3><p><code>_documents</code></p><hr><h2><a name="method_set_variable">set_variable</a></h2><p><code>protected void <strong>set_variable</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName var
- ,
- org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType val)</code></p><p></p><h3>Parameters</h3><p><code>var</code></p><p><code>val</code></p><hr><h2><a name="method_type_defined">type_defined</a></h2><p><code>public boolean <strong>type_defined</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName qname)</code></p><p>Checks whether the type is defined in the in scope schema definitions.</p><h3>Parameters</h3><p><code>qname</code> - type name.</p><h3>Returns</h3><p><code>boolean</code> - true if type is defined.</p><hr><h2><a name="method_type_defined">type_defined</a></h2><p><code>public boolean <strong>type_defined</strong>(java.lang.String ns
- ,
- java.lang.String type)</code></p><p>Checks whether the type is defined in the in scope schema definitions.</p><h3>Parameters</h3><p><code>ns</code> - namespace of type.</p><p><code>type</code> - name of type.</p><h3>Returns</h3><p><code>boolean</code> - true if type is defined.</p><hr><h2><a name="method_variable_exists">variable_exists</a></h2><p><code>public boolean <strong>variable_exists</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName var)</code></p><p>does variable exist in current scope ?</p><h3>Parameters</h3><p><code>var</code> - variable name.</p><h3>Returns</h3><p><code>boolean</code> - true if it does.</p><hr><h2><a name="method_variable_in_scope">variable_in_scope</a></h2><p><code>public boolean <strong>variable_in_scope</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.QName var)</code></p><p>checks to see if variable is in scope</p><h3>Parameters</h3><p><code>var</code> - variable name.</p><h3>Returns</h3><p><code>boolean</code> - true if variable is in current or above scope.</p><hr><h2><a name="method_xpath1_compatible">xpath1_compatible</a></h2><p><code>public boolean <strong>xpath1_compatible</strong>()</code></p><p>is it xpath1 compatible?</p><h3>Returns</h3><p><code>boolean</code> - boolean</p><hr></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.DescendantAxis.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.DescendantAxis.html
deleted file mode 100644
index ba112eb..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.DescendantAxis.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal</strong></font><br>
- Class DescendantAxis</h2><br><hr><pre>public class <strong>DescendantAxis</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.ChildAxis</pre>The descendant axis contains the descendants of the context node<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_DescendantAxis">DescendantAxis</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_iterate">iterate</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
- ,
- org.eclipse.wst.xml.xpath2.processor.DynamicContext dc)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Using the context node retrieve the descendants of this node</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Constructor Detail
- </h2></td></tr></table><h2><a name="con_DescendantAxis">DescendantAxis</a></h2><p><code>public <strong>DescendantAxis</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Methods Detail
- </h2></td></tr></table><h2><a name="method_iterate">iterate</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>iterate</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
- ,
- org.eclipse.wst.xml.xpath2.processor.DynamicContext dc)</code></p><p>Using the context node retrieve the descendants of this node</p><h3>Parameters</h3><p><code>node</code> - is the type of node.</p><p><code>dc</code> - is the dynamic context.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - The descendants of the context node.</p><hr></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.DescendantOrSelfAxis.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.DescendantOrSelfAxis.html
deleted file mode 100644
index de299f4..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.DescendantOrSelfAxis.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal</strong></font><br>
- Class DescendantOrSelfAxis</h2><br><hr><pre>public class <strong>DescendantOrSelfAxis</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.ForwardAxis</pre>The descendant-or-self axis contains the context node and the descendants of
- the context node.<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_DescendantOrSelfAxis">DescendantOrSelfAxis</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_iterate">iterate</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
- ,
- org.eclipse.wst.xml.xpath2.processor.DynamicContext dc)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Retrieve the the descendants of the context node and the context node
- itself.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Constructor Detail
- </h2></td></tr></table><h2><a name="con_DescendantOrSelfAxis">DescendantOrSelfAxis</a></h2><p><code>public <strong>DescendantOrSelfAxis</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Methods Detail
- </h2></td></tr></table><h2><a name="method_iterate">iterate</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>iterate</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
- ,
- org.eclipse.wst.xml.xpath2.processor.DynamicContext dc)</code></p><p>Retrieve the the descendants of the context node and the context node
- itself.</p><h3>Parameters</h3><p><code>node</code> - is the type of node.</p><p><code>dc</code> - is the dynamic context.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - The context node and its descendants.</p><hr></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.Focus.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.Focus.html
deleted file mode 100644
index 6b3fc6d..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.Focus.html
+++ /dev/null
@@ -1,17 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal</strong></font><br>
- Class Focus</h2><br><hr><pre>public class <strong>Focus</strong>
-extends java.lang.Object</pre>set the focus from a result sequence<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_Focus">Focus</a></strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence rs)</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public boolean</code></td><td width="" align="left"><code><a href="#method_advance_cp">advance_cp</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Checks to see if possible to advance rs.</td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code></td><td width="" align="left"><code><a href="#method_context_item">context_item</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Retrieves previous item from current context position.</td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_last">last</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- returns the position of the last item in rs.</td></tr><tr valign="top"><td width="20%" align="right"><code>public int</code></td><td width="" align="left"><code><a href="#method_position">position</a>()</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- returns an integer of the current position.</td></tr><tr valign="top"><td width="20%" align="right"><code>public void</code></td><td width="" align="left"><code><a href="#method_set_position">set_position</a>(int p)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- sets the position.</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Constructor Detail
- </h2></td></tr></table><h2><a name="con_Focus">Focus</a></h2><p><code>public <strong>Focus</strong>(org.eclipse.wst.xml.xpath2.processor.ResultSequence rs)</code></p><p>Sets the _rs to rs and context position to 1.</p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Methods Detail
- </h2></td></tr></table><h2><a name="method_advance_cp">advance_cp</a></h2><p><code>public boolean <strong>advance_cp</strong>()</code></p><p>Checks to see if possible to advance rs.</p><h3>Returns</h3><p><code>boolean</code> - the boolean.</p><hr><h2><a name="method_context_item">context_item</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType <strong>context_item</strong>()</code></p><p>Retrieves previous item from current context position.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.internal.types.AnyType</code> - the item from _rs, or null if there is no context item.</p><hr><h2><a name="method_last">last</a></h2><p><code>public int <strong>last</strong>()</code></p><p>returns the position of the last item in rs.</p><h3>Returns</h3><p><code>int</code> - the size of rs.</p><hr><h2><a name="method_position">position</a></h2><p><code>public int <strong>position</strong>()</code></p><p>returns an integer of the current position.</p><h3>Returns</h3><p><code>int</code> - the current position of rs.</p><hr><h2><a name="method_set_position">set_position</a></h2><p><code>public void <strong>set_position</strong>(int p)</code></p><p>sets the position.</p><h3>Parameters</h3><p><code>p</code> - is the position that is set.</p><hr></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.FollowingAxis.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.FollowingAxis.html
deleted file mode 100644
index 7e96d61..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.FollowingAxis.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal</strong></font><br>
- Class FollowingAxis</h2><br><hr><pre>public class <strong>FollowingAxis</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.ForwardAxis</pre>the following axis contains the context node's following siblings, those
- children of the context node's parent that occur after the context node in
- document order.<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_FollowingAxis">FollowingAxis</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_iterate">iterate</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
- ,
- org.eclipse.wst.xml.xpath2.processor.DynamicContext dc)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Return the result of FollowingAxis expression</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Constructor Detail
- </h2></td></tr></table><h2><a name="con_FollowingAxis">FollowingAxis</a></h2><p><code>public <strong>FollowingAxis</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Methods Detail
- </h2></td></tr></table><h2><a name="method_iterate">iterate</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>iterate</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
- ,
- org.eclipse.wst.xml.xpath2.processor.DynamicContext dc)</code></p><p>Return the result of FollowingAxis expression</p><h3>Parameters</h3><p><code>node</code> - is the type of node.</p><p><code>dc</code> - is the dynamic context.</p><h3>Returns</h3><p><code>org.eclipse.wst.xml.xpath2.processor.ResultSequence</code> - The result of FollowingAxis.</p><hr></body></html> \ No newline at end of file
diff --git a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.FollowingSiblingAxis.html b/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.FollowingSiblingAxis.html
deleted file mode 100644
index 4d65894..0000000
--- a/docs/org.eclipse.wst.xml.xpath2.processor.sdk.doc/doc/html/org.eclipse.wst.xml.xpath2.processor.internal.FollowingSiblingAxis.html
+++ /dev/null
@@ -1,16 +0,0 @@
-<html><body><p><font size="+1"><strong>Package org.eclipse.wst.xml.xpath2.processor.internal</strong></font></p><hr><h2><font size="-1"><strong>org.eclipse.wst.xml.xpath2.processor.internal</strong></font><br>
- Class FollowingSiblingAxis</h2><br><hr><pre>public class <strong>FollowingSiblingAxis</strong>
-extends org.eclipse.wst.xml.xpath2.processor.internal.ForwardAxis</pre>The following-sibling axis contains the context node's following siblings,
- those children of the context node's parent that occur after the context node
- in document order; if the context node is an attribute nodeor namespace node,
- the following-sibling axis is empty.<hr><table width="100%" border="1"><tr bgcolor="#CCCCFF"><td width="100%"><h2>Constructor Summary</h2></td></tr><tr><td><code><strong><a href="#con_FollowingSiblingAxis">FollowingSiblingAxis</a></strong>()</code></td></tr></table><br><table width="100%" border="1"><tr cols="2" bgcolor="#CCCCFF"><td colspan="2" width="100%"><h2>Method Summary</h2></td></tr><tr valign="top"><td width="20%" align="right"><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence</code></td><td width="" align="left"><code><a href="#method_iterate">iterate</a>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
- ,
- org.eclipse.wst.xml.xpath2.processor.DynamicContext dc)</code><br>
- &nbsp;&nbsp;&nbsp;&nbsp;
- Return the result of FollowingSiblingAxis expression</td></tr></table><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Constructor Detail
- </h2></td></tr></table><h2><a name="con_FollowingSiblingAxis">FollowingSiblingAxis</a></h2><p><code>public <strong>FollowingSiblingAxis</strong>()</code></p><p></p><hr><table cols="2" width="100%" border="1"><tr colspan="2" width="100%" bgcolor="#CCCCFF" align="left"><td><h2>
- Methods Detail
- </h2></td></tr></table><h2><a name="method_iterate">iterate</a></h2><p><code>public org.eclipse.wst.xml.xpath2.processor.ResultSequence <strong>iterate</strong>(org.eclipse.wst.xml.xpath2.processor.internal.types.NodeType node
- ,
- org.eclipse.wst.xml.xpath2.processor.DynamicContext dc)</code></p><p>Return the result of FollowingSiblingAxis expression</p><h3>Parameters</h3