|
From: <et...@us...> - 2011-06-29 02:36:53
|
Revision: 4416
http://mxquery.svn.sourceforge.net/mxquery/?rev=4416&view=rev
Author: etterth
Date: 2011-06-29 02:36:40 +0000 (Wed, 29 Jun 2011)
Log Message:
-----------
- added project for browser testing
Added Paths:
-----------
trunk/XQIB_Testing/
trunk/XQIB_Testing/.classpath
trunk/XQIB_Testing/.project
trunk/XQIB_Testing/.settings/
trunk/XQIB_Testing/.settings/org.eclipse.jdt.core.prefs
trunk/XQIB_Testing/XQTStoJsUnit.xsl
trunk/XQIB_Testing/browserhtmls/
trunk/XQIB_Testing/browserhtmls/MultiplicationTable.html
trunk/XQIB_Testing/build.xml
trunk/XQIB_Testing/junit/
trunk/XQIB_Testing/junit/ch/
trunk/XQIB_Testing/junit/ch/ethz/
trunk/XQIB_Testing/junit/ch/ethz/mxquery/
trunk/XQIB_Testing/junit/ch/ethz/mxquery/Appendices/
trunk/XQIB_Testing/junit/ch/ethz/mxquery/Appendices/Annex_Eclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/Appendices/Appendix_A4class.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/Catalogclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Basics/
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Basics/StaticContextclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Basics/Types/
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Basics/Types/SequenceTypeSyntaxclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/CondExprclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/ComputeCon/
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/ComputeCon/ComputeConAttrclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/ComputeCon/ComputeConCommentclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/ComputeCon/ComputeConElemclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/ComputeCon/ComputeConPIclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/ComputeCon/ConDocNodeclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/ComputeCon/ConTextclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/ConInScopeNamespaceclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/DirectConElem/
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/DirectConElem/DirectConElemAttrclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/DirectConElem/DirectConElemContentclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/DirectConElem/DirectConElemNamespaceclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/DirectConElem/DirectConElemWhitespaceclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/DirectConElemclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/DirectConOtherclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/ExtensionExpressionclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/FLWOR/
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/FLWOR/ForExpr/
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/FLWOR/ForExpr/ForExprPositionalVarclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/FLWOR/ForExpr/ForExprWithclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/FLWOR/ForExpr/ForExprWithoutclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/FLWOR/LetExpr/
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/FLWOR/LetExpr/LetExprWithclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/FLWOR/LetExpr/LetExprWithoutclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/FLWOR/OrderbyExpr/
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/FLWOR/OrderbyExpr/OrderbyExprWithclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/FLWOR/OrderbyExpr/OrderbyExprWithoutclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/FLWOR/ReturnExprclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/FLWOR/WhereExprclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/LogicExprclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationArith/
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationArith/DayTimeDurationAddclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationArith/DayTimeDurationDivideDTDclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationArith/DayTimeDurationDivideclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationArith/DayTimeDurationMultiplyclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationArith/DayTimeDurationSubtractclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationArith/YearMonthDurationAddclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationArith/YearMonthDurationDivideYMDclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationArith/YearMonthDurationDivideclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationArith/YearMonthDurationMultiplyclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationArith/YearMonthDurationSubtractclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationDateTimeArith/
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationDateTimeArith/DateAddDTDclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationDateTimeArith/DateAddYMDclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationDateTimeArith/DateSubtractDTDclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationDateTimeArith/DateSubtractYMDclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationDateTimeArith/DateTimeAddDTDclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationDateTimeArith/DateTimeSubtractDTDclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationDateTimeArith/DateTimeSubtractYMDclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationDateTimeArith/DatesSubtractclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationDateTimeArith/TimeAddDTDclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationDateTimeArith/TimeSubtractDTDclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationDateTimeArith/TimeSubtractclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationDateTimeArith/YearMonthDurationAddDTclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationDateTimeArith/dateTimesSubtractclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/NumericOpr/
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/NumericOpr/NumericAddclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/NumericOpr/NumericDivideclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/NumericOpr/NumericIntegerDivideclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/NumericOpr/NumericModclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/NumericOpr/NumericMultiplyclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/NumericOpr/NumericSubtractclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/NumericOpr/NumericUnaryMinusclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/NumericOpr/NumericUnaryPlusclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/GenComprsn/
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/GenComprsn/GenCompEqclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/GenComprsn/GenCompGTEQclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/GenComprsn/GenCompGTclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/GenComprsn/GenCompLTEQclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/GenComprsn/GenCompLTclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/GenComprsn/GenCompNEclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/NodeComp/
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/NodeComp/NodeAfterclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/NodeComp/NodeBeforeclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/NodeComp/NodeSameclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/AnyURIComp/
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/AnyURIComp/AnyURIEqualclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/BinaryOp/
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/BinaryOp/Base64BinaryEQclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/BinaryOp/HexBinaryEQclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/BooleanOp/
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/BooleanOp/BooleanEqualclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/BooleanOp/BooleanGTclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/BooleanOp/BooleanLTclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/DateEQclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/DateGTclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/DateLTclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/DateTimeEQclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/DateTimeGTclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/DateTimeLTclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/DayTimeDurationEQclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/DayTimeDurationGTclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/DayTimeDurationLTclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/DurationEQclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/TimeEQclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/TimeGTclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/TimeLTclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/YearMonthDurationEQclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/YearMonthDurationGTclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/YearMonthDurationLTclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/gDayEQclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/gMonthDayEQclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/gMonthEQclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/gYearEQclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/gYearMonthEQclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/NumericComp/
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/NumericComp/NumericEqualclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/NumericComp/NumericGTclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/NumericComp/NumericLTclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/QNameOp/
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/QNameOp/PrefixFromQNameclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/QNameOp/QNameEQclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/StringComp/
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/StringComp/StringEqualclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/StringComp/StringGTclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/StringComp/StringLTclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/ValCompTypeCheckingclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/SeqOp/
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/SeqOp/SeqExceptclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/SeqOp/SeqIntersectclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/SeqOp/SeqUnionclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/OrderExprclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/PathExpr/
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/PathExpr/AbbrAxesclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/PathExpr/PathExpressionsclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/PathExpr/Predicatesclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/PathExpr/Steps/
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/PathExpr/Steps/Axesclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/PathExpr/Steps/NodeTestSection/
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/PathExpr/Steps/NodeTestSection/NameTestclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/PathExpr/Steps/NodeTestSection/NodeTestclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/PathExpr/UnabbrAxesclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/PrimaryExpr/
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/PrimaryExpr/ContextExpr/
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/PrimaryExpr/ContextExpr/ExternalContextExprclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/PrimaryExpr/ContextExpr/InternalContextExprclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/PrimaryExpr/FunctionCallExprclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/PrimaryExpr/Literalsclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/PrimaryExpr/ParenExprclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/PrologExpr/
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/PrologExpr/BaseURIPrologclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/PrologExpr/BoundarySpacePrologclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/PrologExpr/CollationPrologclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/PrologExpr/ConstructionPrologclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/PrologExpr/CopyNamespacesPrologclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/PrologExpr/DefaultNamespacePrologclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/PrologExpr/DefaultOrderingPrologclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/PrologExpr/EmptyOrderPrologclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/PrologExpr/FunctionPrologclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/PrologExpr/NamespacePrologclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/PrologExpr/OptionDeclarationPrologclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/PrologExpr/VariableProlog/
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/PrologExpr/VariableProlog/ExternalVariablesWithclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/PrologExpr/VariableProlog/ExternalVariablesWithoutclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/PrologExpr/VariableProlog/InternalVariablesWithclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/PrologExpr/VariableProlog/InternalVariablesWithoutclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/PrologExpr/VersionPrologclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/QuantExpr/
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/QuantExpr/QuantExprWithclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/QuantExpr/QuantExprWithoutclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/SeqExpr/
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/SeqExpr/CombNodeSeqclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/SeqExpr/ConstructSeq/
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/SeqExpr/ConstructSeq/RangeExprclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/SeqExpr/ConstructSeq/commaOpclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/SeqExpr/FilterExprclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/XQueryCommentclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/seqExprTypes/
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/seqExprTypes/SeqExprCastToDerivedParentsclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/seqExprTypes/SeqExprCastToDerivedclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/seqExprTypes/SeqExprCastWithinBranchclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/seqExprTypes/SeqExprCastableclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/seqExprTypes/SeqExprCastclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/seqExprTypes/SeqExprInstanceOfclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/seqExprTypes/SeqExprTreatclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Expressions/seqExprTypes/sequenceExprTypeswitchclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/AccessorFunc/
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/AccessorFunc/BaseURIFuncclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/AccessorFunc/DataFuncclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/AccessorFunc/DocumentURIFuncclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/AccessorFunc/NilledFuncclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/AccessorFunc/NodeNameFuncclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/AccessorFunc/StaticBaseURIFuncclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/AccessorFunc/StringFuncclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/AssDisassStringFunc/
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/AssDisassStringFunc/CodepointToStringFuncclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/AssDisassStringFunc/StringToCodepointFuncclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/CompStringFunc/
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/CompStringFunc/CodepointEqualclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/CompStringFunc/compareFuncclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/GeneralStringFunc/
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/GeneralStringFunc/ConcatFuncclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/GeneralStringFunc/EncodeURIfuncclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/GeneralStringFunc/EscapeHTMLURIFuncclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/GeneralStringFunc/IRIToURIfuncclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/GeneralStringFunc/LowerCaseFuncclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/GeneralStringFunc/NormalizeSpaceFuncclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/GeneralStringFunc/NormalizeUnicodeFuncclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/GeneralStringFunc/StringJoinFuncclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/GeneralStringFunc/StringLengthFuncclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/GeneralStringFunc/SubstringFuncclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/GeneralStringFunc/Surrogatesclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/GeneralStringFunc/TranslateFuncclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/GeneralStringFunc/UpperCaseFuncclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/MatchStringFunc/
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/MatchStringFunc/MatchesFuncclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/MatchStringFunc/ReplaceFuncclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/MatchStringFunc/TokenizeFuncclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/SubstringStringFunc/
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/SubstringStringFunc/ContainsFuncclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/SubstringStringFunc/EndsWithFuncclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/SubstringStringFunc/StartsWithFuncclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/SubstringStringFunc/SubstringAfterFuncclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/SubstringStringFunc/SubstringBeforeFuncclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/BooleanFunc/
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/BooleanFunc/FalseFuncclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/BooleanFunc/NotFuncclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/BooleanFunc/TrueFuncclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/ConstructFunc/
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/ConstructFunc/DateTimeFuncclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/ContextFunc/
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/ContextFunc/ContextCurrentDateFuncclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/ContextFunc/ContextCurrentDatetimeFuncclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/ContextFunc/ContextCurrentTimeFuncclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/ContextFunc/ContextDefaultCollationFuncclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/ContextFunc/ContextImplicitTimezoneFuncclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/ContextFunc/ContextLastFuncclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/ContextFunc/ContextPositionFuncclass.java
trunk/XQIB_Testing/junit/ch/ethz/mxquery/MinimalConformance/Functions/Durati...
[truncated message content] |
|
From: <et...@us...> - 2011-06-29 11:52:22
|
Revision: 4417
http://mxquery.svn.sourceforge.net/mxquery/?rev=4417&view=rev
Author: etterth
Date: 2011-06-29 11:52:09 +0000 (Wed, 29 Jun 2011)
Log Message:
-----------
- Updated tests to also include errors
Modified Paths:
--------------
trunk/MXQuery/xqib_src/ch/ethz/mxqjs/test/JsXQueryTestCase.java
trunk/XQIB_Testing/.classpath
trunk/XQIB_Testing/XQTStoJsUnit.xsl
trunk/XQIB_Testing/build.xml
trunk/XQIB_Testing/src/ch/ethz/mxquery/testsuite/XQueryTestBase.java
trunk/XQIB_Testing/src/ch/ethz/mxquery/testsuite/XQueryTestCase.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/Appendices/Annex_Eclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/Appendices/Appendix_A4class.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/Catalogclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Basics/StaticContextclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Basics/Types/SequenceTypeSyntaxclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/CondExprclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/ComputeCon/ComputeConAttrclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/ComputeCon/ComputeConCommentclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/ComputeCon/ComputeConElemclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/ComputeCon/ComputeConPIclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/ComputeCon/ConDocNodeclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/ComputeCon/ConTextclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/ConInScopeNamespaceclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/DirectConElem/DirectConElemAttrclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/DirectConElem/DirectConElemContentclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/DirectConElem/DirectConElemNamespaceclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/DirectConElem/DirectConElemWhitespaceclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/DirectConElemclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/DirectConOtherclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/ExtensionExpressionclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/FLWOR/ForExpr/ForExprPositionalVarclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/FLWOR/ForExpr/ForExprWithclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/FLWOR/ForExpr/ForExprWithoutclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/FLWOR/LetExpr/LetExprWithclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/FLWOR/LetExpr/LetExprWithoutclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/FLWOR/OrderbyExpr/OrderbyExprWithclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/FLWOR/OrderbyExpr/OrderbyExprWithoutclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/FLWOR/ReturnExprclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/FLWOR/WhereExprclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/LogicExprclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationArith/DayTimeDurationAddclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationArith/DayTimeDurationDivideDTDclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationArith/DayTimeDurationDivideclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationArith/DayTimeDurationMultiplyclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationArith/DayTimeDurationSubtractclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationArith/YearMonthDurationAddclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationArith/YearMonthDurationDivideYMDclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationArith/YearMonthDurationDivideclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationArith/YearMonthDurationMultiplyclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationArith/YearMonthDurationSubtractclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationDateTimeArith/DateAddDTDclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationDateTimeArith/DateAddYMDclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationDateTimeArith/DateSubtractDTDclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationDateTimeArith/DateSubtractYMDclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationDateTimeArith/DateTimeAddDTDclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationDateTimeArith/DateTimeSubtractDTDclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationDateTimeArith/DateTimeSubtractYMDclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationDateTimeArith/DatesSubtractclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationDateTimeArith/TimeAddDTDclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationDateTimeArith/TimeSubtractDTDclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationDateTimeArith/TimeSubtractclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationDateTimeArith/YearMonthDurationAddDTclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationDateTimeArith/dateTimesSubtractclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/NumericOpr/NumericAddclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/NumericOpr/NumericDivideclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/NumericOpr/NumericIntegerDivideclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/NumericOpr/NumericModclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/NumericOpr/NumericMultiplyclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/NumericOpr/NumericSubtractclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/NumericOpr/NumericUnaryMinusclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/NumericOpr/NumericUnaryPlusclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/GenComprsn/GenCompEqclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/GenComprsn/GenCompGTEQclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/GenComprsn/GenCompGTclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/GenComprsn/GenCompLTEQclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/GenComprsn/GenCompLTclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/GenComprsn/GenCompNEclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/NodeComp/NodeAfterclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/NodeComp/NodeBeforeclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/NodeComp/NodeSameclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/AnyURIComp/AnyURIEqualclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/BinaryOp/Base64BinaryEQclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/BinaryOp/HexBinaryEQclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/BooleanOp/BooleanEqualclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/BooleanOp/BooleanGTclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/BooleanOp/BooleanLTclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/DateEQclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/DateGTclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/DateLTclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/DateTimeEQclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/DateTimeGTclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/DateTimeLTclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/DayTimeDurationEQclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/DayTimeDurationGTclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/DayTimeDurationLTclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/DurationEQclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/TimeEQclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/TimeGTclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/TimeLTclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/YearMonthDurationEQclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/YearMonthDurationGTclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/YearMonthDurationLTclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/gDayEQclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/gMonthDayEQclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/gMonthEQclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/gYearEQclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/gYearMonthEQclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/NumericComp/NumericEqualclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/NumericComp/NumericGTclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/NumericComp/NumericLTclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/QNameOp/PrefixFromQNameclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/QNameOp/QNameEQclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/StringComp/StringEqualclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/StringComp/StringGTclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/StringComp/StringLTclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/ValCompTypeCheckingclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/SeqOp/SeqExceptclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/SeqOp/SeqIntersectclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/SeqOp/SeqUnionclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/OrderExprclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PathExpr/AbbrAxesclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PathExpr/PathExpressionsclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PathExpr/Predicatesclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PathExpr/Steps/Axesclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PathExpr/Steps/NodeTestSection/NameTestclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PathExpr/Steps/NodeTestSection/NodeTestclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PathExpr/UnabbrAxesclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PrimaryExpr/ContextExpr/ExternalContextExprclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PrimaryExpr/ContextExpr/InternalContextExprclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PrimaryExpr/FunctionCallExprclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PrimaryExpr/Literalsclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PrimaryExpr/ParenExprclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PrologExpr/BaseURIPrologclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PrologExpr/BoundarySpacePrologclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PrologExpr/CollationPrologclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PrologExpr/ConstructionPrologclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PrologExpr/CopyNamespacesPrologclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PrologExpr/DefaultNamespacePrologclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PrologExpr/DefaultOrderingPrologclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PrologExpr/EmptyOrderPrologclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PrologExpr/FunctionPrologclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PrologExpr/NamespacePrologclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PrologExpr/OptionDeclarationPrologclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PrologExpr/VariableProlog/ExternalVariablesWithclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PrologExpr/VariableProlog/ExternalVariablesWithoutclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PrologExpr/VariableProlog/InternalVariablesWithclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PrologExpr/VariableProlog/InternalVariablesWithoutclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PrologExpr/VersionPrologclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/QuantExpr/QuantExprWithclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/QuantExpr/QuantExprWithoutclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/SeqExpr/CombNodeSeqclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/SeqExpr/ConstructSeq/RangeExprclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/SeqExpr/ConstructSeq/commaOpclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/SeqExpr/FilterExprclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/XQueryCommentclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/seqExprTypes/SeqExprCastToDerivedParentsclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/seqExprTypes/SeqExprCastToDerivedclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/seqExprTypes/SeqExprCastWithinBranchclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/seqExprTypes/SeqExprCastableclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/seqExprTypes/SeqExprCastclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/seqExprTypes/SeqExprInstanceOfclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/seqExprTypes/SeqExprTreatclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/seqExprTypes/sequenceExprTypeswitchclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AccessorFunc/BaseURIFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AccessorFunc/DataFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AccessorFunc/DocumentURIFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AccessorFunc/NilledFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AccessorFunc/NodeNameFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AccessorFunc/StaticBaseURIFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AccessorFunc/StringFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/AssDisassStringFunc/CodepointToStringFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/AssDisassStringFunc/StringToCodepointFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/CompStringFunc/CodepointEqualclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/CompStringFunc/compareFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/GeneralStringFunc/ConcatFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/GeneralStringFunc/EncodeURIfuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/GeneralStringFunc/EscapeHTMLURIFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/GeneralStringFunc/IRIToURIfuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/GeneralStringFunc/LowerCaseFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/GeneralStringFunc/NormalizeSpaceFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/GeneralStringFunc/NormalizeUnicodeFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/GeneralStringFunc/StringJoinFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/GeneralStringFunc/StringLengthFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/GeneralStringFunc/SubstringFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/GeneralStringFunc/Surrogatesclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/GeneralStringFunc/TranslateFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/GeneralStringFunc/UpperCaseFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/MatchStringFunc/MatchesFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/MatchStringFunc/ReplaceFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/MatchStringFunc/TokenizeFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/SubstringStringFunc/ContainsFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/SubstringStringFunc/EndsWithFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/SubstringStringFunc/StartsWithFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/SubstringStringFunc/SubstringAfterFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/SubstringStringFunc/SubstringBeforeFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/BooleanFunc/FalseFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/BooleanFunc/NotFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/BooleanFunc/TrueFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/ConstructFunc/DateTimeFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/ContextFunc/ContextCurrentDateFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/ContextFunc/ContextCurrentDatetimeFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/ContextFunc/ContextCurrentTimeFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/ContextFunc/ContextDefaultCollationFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/ContextFunc/ContextImplicitTimezoneFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/ContextFunc/ContextLastFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/ContextFunc/ContextPositionFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/DurationDateTimeFunc/ComponentExtractionDDT/DayFromDateFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/DurationDateTimeFunc/ComponentExtractionDDT/DayFromDateTimeFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/DurationDateTimeFunc/ComponentExtractionDDT/DaysFromDurationFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/DurationDateTimeFunc/ComponentExtractionDDT/HoursFromDateTimeFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/DurationDateTimeFunc/ComponentExtractionDDT/HoursFromDurationFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/DurationDateTimeFunc/ComponentExtractionDDT/HoursFromTimeFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/DurationDateTimeFunc/ComponentExtractionDDT/MinutesFromDateTimeFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/DurationDateTimeFunc/ComponentExtractionDDT/MinutesFromDurationFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/DurationDateTimeFunc/ComponentExtractionDDT/MinutesFromTimeFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/DurationDateTimeFunc/ComponentExtractionDDT/MonthFromDateFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/DurationDateTimeFunc/ComponentExtractionDDT/MonthFromDateTimeFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/DurationDateTimeFunc/ComponentExtractionDDT/MonthsFromDurationFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/DurationDateTimeFunc/ComponentExtractionDDT/SecondsFromDateTimeFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/DurationDateTimeFunc/ComponentExtractionDDT/SecondsFromDurationFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/DurationDateTimeFunc/ComponentExtractionDDT/SecondsFromTimeFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/DurationDateTimeFunc/ComponentExtractionDDT/TimezoneFromDateFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/DurationDateTimeFunc/ComponentExtractionDDT/TimezoneFromDateTimeFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/DurationDateTimeFunc/ComponentExtractionDDT/TimezoneFromTimeFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/DurationDateTimeFunc/ComponentExtractionDDT/YearFromDateFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/DurationDateTimeFunc/ComponentExtractionDDT/YearFromDateTimeFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/DurationDateTimeFunc/ComponentExtractionDDT/YearsFromDurationFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/DurationDateTimeFunc/TimezoneFunction/AdjDateTimeToTimezoneFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/DurationDateTimeFunc/TimezoneFunction/AdjDateToTimezoneFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/DurationDateTimeFunc/TimezoneFunction/AdjTimeToTimezoneFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/ErrorFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/NodeFunc/NameFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/NodeFunc/NodeLangFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/NodeFunc/NodeLocalNameFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/NodeFunc/NodeNamespaceURIFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/NodeFunc/NodeNumberFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/NodeFunc/NodeRootFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/NumericFunc/ABSFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/NumericFunc/CeilingFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/NumericFunc/FloorFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/NumericFunc/RoundEvenFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/NumericFunc/RoundFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/QNameFunc/InScopePrefixesFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/QNameFunc/LocalNameFromQNameFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/QNameFunc/NamespaceURIForPrefixFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/QNameFunc/NamespaceURIFromQNameFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/QNameF...
[truncated message content] |
|
From: <et...@us...> - 2011-06-30 14:18:25
|
Revision: 4418
http://mxquery.svn.sourceforge.net/mxquery/?rev=4418&view=rev
Author: etterth
Date: 2011-06-30 14:18:19 +0000 (Thu, 30 Jun 2011)
Log Message:
-----------
- Fixed bugs in Double/Float printing
- added TypeAnnotation for NodeToken
Modified Paths:
--------------
trunk/MXQuery/xqib_src/ch/ethz/mxquery/datamodel/MXQueryDouble.java
trunk/MXQuery/xqib_src/ch/ethz/mxquery/datamodel/MXQueryFloat.java
trunk/MXQuery/xqib_src/ch/ethz/mxquery/update/store/domImpl/NodeToken.java
trunk/XQIB_Testing/src/ch/ethz/mxquery/testsuite/XQueryTestCase.java
Modified: trunk/MXQuery/xqib_src/ch/ethz/mxquery/datamodel/MXQueryDouble.java
===================================================================
--- trunk/MXQuery/xqib_src/ch/ethz/mxquery/datamodel/MXQueryDouble.java 2011-06-29 11:52:09 UTC (rev 4417)
+++ trunk/MXQuery/xqib_src/ch/ethz/mxquery/datamodel/MXQueryDouble.java 2011-06-30 14:18:19 UTC (rev 4418)
@@ -293,7 +293,8 @@
*/
protected static String toString(double value, String javaStrValue, boolean isNegativeZero) {
-
+
+ javaStrValue = javaStrValue.replace("e+", "E");
if (value==0.0) {
if (javaStrValue.charAt(0) == '-' || isNegativeZero) {
return "-0";
@@ -302,45 +303,65 @@
}
}
+ if (Double.isNaN(value) ) {
+ return "NaN";
+ }
if (Double.isInfinite(value)) {
return (value > 0 ? "INF" : "-INF");
}
- if (Double.isNaN(value)) {
- return "NaN";
- }
final double absval = Math.abs(value);
String s = javaStrValue;
-// if (absval < 1.0e-6 || absval >= 1.0e+6) {
-// if (s.indexOf('E')<0) {
-// // need to use scientific notation, but Java isn't using it
-// // (Java's cutoff is 1.0E7, while XPath's is 1.0E6)
-// // So we have for example -2000000.0 rather than -2.0e6
-// StringBuffer sb = new StringBuffer(32);
-// Matcher matcher = nonExponentialPattern.matcher(s);
-//
-// if (matcher.matches()) {
-// sb.append(matcher.group(1));
-// sb.append('.');
-// sb.append(matcher.group(2));
-// final String fraction = matcher.group(4);
-// if ("0".equals(fraction)) {
-// sb.append("E" + (matcher.group(2).length() + matcher.group(3).length()));
-// return sb.toString();
-// } else {
-// sb.append(matcher.group(3));
-// sb.append(matcher.group(4));
-// sb.append("E" + (matcher.group(2).length() + matcher.group(3).length()));
-// return sb.toString();
-// }
-// } else {
-// // fallback, this shouldn't happen
-// return s;
-// }
-// } else {
-// return s;
-// }
-// }
+ if (absval < 1.0e-6 || absval >= 1.0e+6) {
+ if (s.indexOf('E')<0) {
+ String sign;
+ if (s.charAt(0) == '-') {
+ sign = "-";
+ s = s.substring(1);
+ } else {
+ sign = "";
+ }
+ char firstchar = s.charAt(0);
+ s = s.substring(1);
+ int e = s.length();
+ while (s.endsWith("0") && s.length()>1) {
+ s = s.substring(0, s.length()-1);
+ }
+ return sign + firstchar + "." + s + "E" + e;
+ } else {
+ return s;
+ }
+ }
+// if (absval < 1.0e-6 || absval >= 1.0e+6) {
+// if (s.indexOf('E')<0) {
+// // need to use scientific notation, but Java isn't using it
+// // (Java's cutoff is 1.0E7, while XPath's is 1.0E6)
+// // So we have for example -2000000.0 rather than -2.0e6
+// StringBuffer sb = new StringBuffer(32);
+// Matcher matcher = nonExponentialPattern.matcher(s);
+//
+// if (matcher.matches()) {
+// sb.append(matcher.group(1));
+// sb.append('.');
+// sb.append(matcher.group(2));
+// final String fraction = matcher.group(4);
+// if ("0".equals(fraction)) {
+// sb.append("E" + (matcher.group(2).length() + matcher.group(3).length()));
+// return sb.toString();
+// } else {
+// sb.append(matcher.group(3));
+// sb.append(matcher.group(4));
+// sb.append("E" + (matcher.group(2).length() + matcher.group(3).length()));
+// return sb.toString();
+// }
+// } else {
+// // fallback, this shouldn't happen
+// return s;
+// }
+// } else {
+// return s;
+// }
+// }
int len = s.length();
if (s.endsWith("E0")) {
@@ -351,11 +372,12 @@
}
int e = s.indexOf('E');
if (e < 0) {
- // For some reason, Double.toString() in Java can return strings such as "0.0040"
- // so we remove any trailing zeros
- while (s.charAt(len - 1) == '0' && s.charAt(len - 2) != '.') {
- s = s.substring(0, --len);
- }
+ //This problem seems not to occur in JS
+// // For some reason, Double.toString() in Java can return strings such as "0.0040"
+// // so we remove any trailing zeros
+// while (s.charAt(len - 1) == '0' && s.charAt(len - 2) != '.') {
+// s = s.substring(0, --len);
+// }
return s;
}
Modified: trunk/MXQuery/xqib_src/ch/ethz/mxquery/datamodel/MXQueryFloat.java
===================================================================
--- trunk/MXQuery/xqib_src/ch/ethz/mxquery/datamodel/MXQueryFloat.java 2011-06-29 11:52:09 UTC (rev 4417)
+++ trunk/MXQuery/xqib_src/ch/ethz/mxquery/datamodel/MXQueryFloat.java 2011-06-30 14:18:19 UTC (rev 4418)
@@ -21,6 +21,7 @@
//import java.util.Locale;
//import ch.ethz.mxquery.util.browser.regex.Matcher;
//
+
import ch.ethz.mxquery.datamodel.types.Type;
import ch.ethz.mxquery.exceptions.DynamicException;
import ch.ethz.mxquery.exceptions.ErrorCodes;
@@ -78,7 +79,8 @@
}
try {
- val = Float.parseFloat(s);
+ //parseFloat is buggy in GWT
+ val = (float) Double.parseDouble(s);
} catch (NumberFormatException nfe) { throw new TypeException(ErrorCodes.F0023_INVALID_VALUE_FOR_CAST_CONSTRUCTOR, "Not a double value", null); }
if (val == 0.0)
negativeZero = isNegative;
@@ -334,110 +336,111 @@
}
- /**
- * Conversion of a double to a string
- * @param the actual double value
- * @param the double value converted to string using the Java conventions.
- * This value is adjusted as necessary to cater for the differences between the Java and XPath rules.
- * @return the value converted to a string, according to the XPath casting rules.
- */
-
- public static String toString(float val, String javaStrValue, boolean negativeZero) {
-
-
-
- if (val==0.0) {
- if (javaStrValue.charAt(0) == '-'|| negativeZero) {
- return "-0";
- } else {
- return "0";
- }
- }
-
- if (Float.isInfinite(val)) {
- return (val > 0 ? "INF" : "-INF");
- }
- if (Float.isNaN(val)) {
- return "NaN";
- }
-
- double value = roundForOutput(val);
-
- String s = javaStrValue;
- if (val != value)
- s = ""+value;
-
-// //final float absval = (float)Math.abs(val);
-// if ((val > 0 && (val < (1.0e-6)-5e-10 || val >= 1.0e+6))||
-// (val < 0 && (val > (-1.0e-6)+5e-10 || val <= -1.0e+6))) {
-// if (s.indexOf('E')<0) {
-// // need to use scientific notation, but Java isn't using it
-// // (Java's cutoff is 1.0E7, while XPath's is 1.0E6)
-// // So we have for example -2000000.0 rather than -2.0e6
-// StringBuffer sb = new StringBuffer(32);
-// Matcher matcher = nonExponentialPattern.matcher(s);
-//
-// if (matcher.matches()) {
-// sb.append(matcher.group(1));
-// sb.append('.');
-// sb.append(matcher.group(2));
-// final String fraction = matcher.group(4);
-// if ("0".equals(fraction)) {
-// sb.append("E" + (matcher.group(2).length() + matcher.group(3).length()));
-// return sb.toString();
-// } else {
-// sb.append(matcher.group(3));
-// sb.append(matcher.group(4));
-// sb.append("E" + (matcher.group(2).length() + matcher.group(3).length()));
-// return sb.toString();
-// }
-// } else {
-// // fallback, this shouldn't happen
-// return s;
-// }
+// /**
+// * Conversion of a double to a string
+// * @param the actual double value
+// * @param the double value converted to string using the Java conventions.
+// * This value is adjusted as necessary to cater for the differences between the Java and XPath rules.
+// * @return the value converted to a string, according to the XPath casting rules.
+// */
+//
+// public static String toString(float val, String javaStrValue, boolean negativeZero) {
+//
+//
+//
+// if (val==0.0) {
+// if (javaStrValue.charAt(0) == '-'|| negativeZero) {
+// return "-0";
// } else {
-// return s;
+// return "0";
// }
// }
-
- int len = s.length();
- if (s.endsWith("E0")) {
- s = s.substring(0, len - 2);
- }
- if (s.endsWith(".0")) {
- return s.substring(0, len - 2);
- }
- int e = s.indexOf('E');
- if (e < 0) {
- // For some reason, Double.toString() in Java can return strings such as "0.0040"
- // so we remove any trailing zeros
- while (s.charAt(len - 1) == '0' && s.charAt(len - 2) != '.') {
- s = s.substring(0, --len);
- }
- return s;
- }
-
- //-- E is present in the number
- int exp = Integer.parseInt(s.substring(e + 1));
- String sign;
- if (s.charAt(0) == '-') {
- sign = "-";
- s = s.substring(1);
- --e;
- } else {
- sign = "";
- }
- int nDigits = e - 2;
- if (exp >= nDigits) {
- return sign + s.substring(0, 1) + s.substring(2, e) + zeros(exp - nDigits);
- } else if (exp > 0) {
- return sign + s.substring(0, 1) + s.substring(2, 2 + exp) + '.' + s.substring(2 + exp, e);
- } else {
- while (s.charAt(e-1) == '0') e--;
- return sign + "0." + zeros(-1 - exp) + s.substring(0, 1) + s.substring(2, e);
- }
- //--
- }
+//
+// if (Float.isNaN(val)) {
+// return "NaN";
+// }
+// if (Float.isInfinite(val)) {
+// return (val > 0 ? "INF" : "-INF");
+// }
+//
+// Environment.log("float.toString1 " + val);
+// double value = roundForOutput(val);
+// Environment.log("float.toString2 " + val);
+// String s = javaStrValue;
+// if (val != value)
+// s = ""+value;
+//
+//// //final float absval = (float)Math.abs(val);
+//// if ((val > 0 && (val < (1.0e-6)-5e-10 || val >= 1.0e+6))||
+//// (val < 0 && (val > (-1.0e-6)+5e-10 || val <= -1.0e+6))) {
+//// if (s.indexOf('E')<0) {
+//// // need to use scientific notation, but Java isn't using it
+//// // (Java's cutoff is 1.0E7, while XPath's is 1.0E6)
+//// // So we have for example -2000000.0 rather than -2.0e6
+//// StringBuffer sb = new StringBuffer(32);
+//// Matcher matcher = nonExponentialPattern.matcher(s);
+////
+//// if (matcher.matches()) {
+//// sb.append(matcher.group(1));
+//// sb.append('.');
+//// sb.append(matcher.group(2));
+//// final String fraction = matcher.group(4);
+//// if ("0".equals(fraction)) {
+//// sb.append("E" + (matcher.group(2).length() + matcher.group(3).length()));
+//// return sb.toString();
+//// } else {
+//// sb.append(matcher.group(3));
+//// sb.append(matcher.group(4));
+//// sb.append("E" + (matcher.group(2).length() + matcher.group(3).length()));
+//// return sb.toString();
+//// }
+//// } else {
+//// // fallback, this shouldn't happen
+//// return s;
+//// }
+//// } else {
+//// return s;
+//// }
+//// }
+//
+// int len = s.length();
+// if (s.endsWith("E0")) {
+// s = s.substring(0, len - 2);
+// }
+// if (s.endsWith(".0")) {
+// return s.substring(0, len - 2);
+// }
+// int e = s.indexOf('E');
+// if (e < 0) {
+// // For some reason, Double.toString() in Java can return strings such as "0.0040"
+// // so we remove any trailing zeros
+// while (s.charAt(len - 1) == '0' && s.charAt(len - 2) != '.') {
+// s = s.substring(0, --len);
+// }
+// return s;
+// }
+//
+// //-- E is present in the number
+// int exp = Integer.parseInt(s.substring(e + 1));
+// String sign;
+// if (s.charAt(0) == '-') {
+// sign = "-";
+// s = s.substring(1);
+// --e;
+// } else {
+// sign = "";
+// }
+// int nDigits = e - 2;
+// if (exp >= nDigits) {
+// return sign + s.substring(0, 1) + s.substring(2, e) + zeros(exp - nDigits);
+// } else if (exp > 0) {
+// return sign + s.substring(0, 1) + s.substring(2, 2 + exp) + '.' + s.substring(2 + exp, e);
+// } else {
+// while (s.charAt(e-1) == '0') e--;
+// return sign + "0." + zeros(-1 - exp) + s.substring(0, 1) + s.substring(2, e);
+// }
+// //--
+// }
static String zeros(int n) {
char[] buf = new char[n];
@@ -452,15 +455,15 @@
public String toString() {
- return MXQueryFloat.toString(val, ""+val, negativeZero);
+ return MXQueryDouble.toString(val, ""+val, negativeZero);
}
- public String toTypedString(boolean isFloat) {
- if (isFloat)
- return MXQueryFloat.toString((float)val, ""+(float)val, negativeZero);
- else
- return MXQueryFloat.toString(val, ""+val, negativeZero);
- }
+// public String toTypedString(boolean isFloat) {
+// if (isFloat)
+// return MXQueryFloat.toString((float)val, ""+(float)val, negativeZero);
+// else
+// return MXQueryFloat.toString(val, ""+val, negativeZero);
+// }
// public String toFormatString(int digit) {
Modified: trunk/MXQuery/xqib_src/ch/ethz/mxquery/update/store/domImpl/NodeToken.java
===================================================================
--- trunk/MXQuery/xqib_src/ch/ethz/mxquery/update/store/domImpl/NodeToken.java 2011-06-29 11:52:09 UTC (rev 4417)
+++ trunk/MXQuery/xqib_src/ch/ethz/mxquery/update/store/domImpl/NodeToken.java 2011-06-30 14:18:19 UTC (rev 4418)
@@ -18,6 +18,7 @@
import ch.ethz.mxquery.datamodel.Namespace;
import ch.ethz.mxquery.datamodel.QName;
import ch.ethz.mxquery.datamodel.StructuralIdentifier;
+import ch.ethz.mxquery.datamodel.types.Type;
import ch.ethz.mxquery.datamodel.xdm.TokenInterface;
import ch.ethz.mxquery.datamodel.xdm.XDMScope;
import ch.ethz.mxquery.exceptions.MXQueryException;
@@ -85,12 +86,12 @@
if (other.node == this.node)
return 0;
short comp = this.node.compareDocumentPosition(other.node);
- if ((comp | Node.DOCUMENT_POSITION_PRECEDING) != 0 ||
- (comp | Node.DOCUMENT_POSITION_CONTAINS) != 0)//the other is parent
+ if ((comp & Node.DOCUMENT_POSITION_PRECEDING) != 0 ||
+ (comp & Node.DOCUMENT_POSITION_CONTAINS) != 0)//the other is parent
return -1;
- if ((comp | Node.DOCUMENT_POSITION_FOLLOWING) != 0 ||
- (comp | Node.DOCUMENT_POSITION_CONTAINED_BY) != 0)//the other is child
+ if ((comp & Node.DOCUMENT_POSITION_FOLLOWING) != 0 ||
+ (comp & Node.DOCUMENT_POSITION_CONTAINED_BY) != 0)//the other is child
return 1;
return -2;
@@ -153,7 +154,7 @@
@Override
public int getTypeAnnotation() {
- return 0;
+ return Type.UNTYPED;
}
public String getPrefix(){
Modified: trunk/XQIB_Testing/src/ch/ethz/mxquery/testsuite/XQueryTestCase.java
===================================================================
--- trunk/XQIB_Testing/src/ch/ethz/mxquery/testsuite/XQueryTestCase.java 2011-06-29 11:52:09 UTC (rev 4417)
+++ trunk/XQIB_Testing/src/ch/ethz/mxquery/testsuite/XQueryTestCase.java 2011-06-30 14:18:19 UTC (rev 4418)
@@ -78,7 +78,7 @@
public void addSchemaMapping(String namespace, String uri) {
schemas.add(new NamespaceToUri(namespace, uri));
- throw new UnsupportedOperationException("There is no schema support in XQIB");
+// throw new UnsupportedOperationException("There is no schema support in XQIB");
}
public void addInputQuery(String varname, String source) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <et...@us...> - 2011-06-30 17:02:18
|
Revision: 4419
http://mxquery.svn.sourceforge.net/mxquery/?rev=4419&view=rev
Author: etterth
Date: 2011-06-30 17:02:08 +0000 (Thu, 30 Jun 2011)
Log Message:
-----------
- Added module import testing
Modified Paths:
--------------
trunk/MXQuery/xqib_src/ch/ethz/mxqjs/test/JsXQueryTestCase.java
trunk/XQIB_Testing/XQTStoJsUnit.xsl
trunk/XQIB_Testing/build.xml
trunk/XQIB_Testing/src/ch/ethz/mxquery/testsuite/XQueryTestCase.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/Catalogclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/ComputeCon/ComputeConAttrclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/ComputeCon/ComputeConCommentclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/ComputeCon/ComputeConElemclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/ComputeCon/ComputeConPIclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/ComputeCon/ConDocNodeclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/DirectConElem/DirectConElemContentclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/FLWOR/ForExpr/ForExprWithclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/FLWOR/OrderbyExpr/OrderbyExprWithclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/SeqOp/SeqExceptclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/SeqOp/SeqIntersectclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/SeqOp/SeqUnionclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/QNameFunc/LocalNameFromQNameFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/QNameFunc/NamespaceURIFromQNameFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/OptionalFeatureErrors/CombinedErrorCodesclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/Optional/Modules/ModuleImportclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/Optional/SchemaImport/ConstructSIclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/Optional/SchemaImport/FLWORExprSIclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/Optional/SchemaImport/ForExprTypeSIclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/Optional/SchemaImport/MiscFunctionsclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/Optional/SchemaImport/NotationEQSIclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/Optional/SchemaImport/SchemaImportPrologclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/Optional/SchemaImport/SeqExprCastSIclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/Optional/SchemaValidation/ValidateExpressionclass.java
Modified: trunk/MXQuery/xqib_src/ch/ethz/mxqjs/test/JsXQueryTestCase.java
===================================================================
--- trunk/MXQuery/xqib_src/ch/ethz/mxqjs/test/JsXQueryTestCase.java 2011-06-30 14:18:19 UTC (rev 4418)
+++ trunk/MXQuery/xqib_src/ch/ethz/mxqjs/test/JsXQueryTestCase.java 2011-06-30 17:02:08 UTC (rev 4419)
@@ -62,6 +62,7 @@
private static native void n_setup(JsXQueryTestCase o) /*-{
o.addVariable = o....@ch....JsXQueryTestCase::addVariable(Ljava/lang/String;Ljava/lang/String;);
+ o.addModuleLocation = o....@ch....JsXQueryTestCase::addModuleLocation(Ljava/lang/String;Ljava/lang/String;);
o.execute = o....@ch....JsXQueryTestCase::execute();
o.getResult = o....@ch....JsXQueryTestCase::getResult();
o.getErrorCode = o....@ch....JsXQueryTestCase::getErrorCode();
@@ -94,6 +95,9 @@
try {
co.setSchemaAwareness(true);
+ for (NamespaceToUri module: moduleLocations) {
+ ctx.addModuleLocation(module.namespace, module.uri);
+ }
stat = comp.compile(ctx, query,co,null,null);
for (VariableWithUri var:variables){
Modified: trunk/XQIB_Testing/XQTStoJsUnit.xsl
===================================================================
--- trunk/XQIB_Testing/XQTStoJsUnit.xsl 2011-06-30 14:18:19 UTC (rev 4418)
+++ trunk/XQIB_Testing/XQTStoJsUnit.xsl 2011-06-30 17:02:08 UTC (rev 4419)
@@ -10,12 +10,12 @@
</xd:desc>
</xd:doc>
<xsl:variable name="outputpath">test/ch/ethz/mxquery</xsl:variable>
- <xsl:variable name="packageprefix">ch.ethz.mxquery.</xsl:variable>
+ <xsl:variable name="packageprefix">ch.ethz.mxquery</xsl:variable>
<xsl:variable name="testsuitepath"
>../MXQuery_Testing/tests</xsl:variable>
<xsl:variable name="executionpath"
>http://127.0.0.1:8090/test/tests</xsl:variable>
- <xsl:variable name="relativetestdir">tests/</xsl:variable>
+ <xsl:variable name="relativetestdir">http://127.0.0.1:8090/test/tests/</xsl:variable>
<xsl:template match="/">
<xsl:for-each select="test-suite/test-group">
<xsl:call-template name="test-group">
@@ -149,10 +149,10 @@
<xsl:param name="name"/>
<xsl:variable name="currentTestGroup" select="."/>
package <xsl:value-of select="$packageprefix"/><xsl:for-each
- select="ancestor::node()[local-name() = 'test-group']"><xsl:call-template
+ select="ancestor::node()[local-name() = 'test-group']"><xsl:if test="not(. is $currentTestGroup)"
+ >.</xsl:if><xsl:call-template
name="getJavaString"><xsl:with-param name="string" select="./@name"
- /></xsl:call-template><xsl:if test="empty(./child::node()[. is $currentTestGroup])"
- >.</xsl:if></xsl:for-each>;
+ /></xsl:call-template></xsl:for-each>;
import org.junit.Test;
import ch.ethz.mxquery.testsuite.XQueryTestBase;
import ch.ethz.mxquery.testsuite.XQueryTestCase;
@@ -167,10 +167,10 @@
String query = <xsl:call-template
name="getQuery"/>; <!-- module -->
XQueryTestCase testcase = new XQueryTestCase(driver,query); <xsl:for-each
- select="module">
+ select="module"><xsl:variable name="currentmodule" select="."/>
testcase.addModuleLocation("<xsl:value-of select="./@namespace"
/>", "<xsl:value-of
- select="concat($relativetestdir, 'TestSources/',./text(), '.xq')"/>"); </xsl:for-each>
+ select="concat($relativetestdir, root(.)//module[@ID = $currentmodule/text()]/@FileName, '.xq')"/>"); </xsl:for-each>
<!-- input-file -->
<xsl:for-each select="input-file"><xsl:variable name="sourceid" select="text()"/>
<xsl:variable name="source" select="//source[@ID = $sourceid]"/>
Modified: trunk/XQIB_Testing/build.xml
===================================================================
--- trunk/XQIB_Testing/build.xml 2011-06-30 14:18:19 UTC (rev 4418)
+++ trunk/XQIB_Testing/build.xml 2011-06-30 17:02:08 UTC (rev 4419)
@@ -90,10 +90,19 @@
<!--<pathelement location="${ECLIPSE_HOME}/plugins/org.hamcrest.core_1.1.0.v20090501071000.jar"/>-->
</path>
<property name="junit.output.dir" value="junit-out" />
+ <target name="aggregate">
+ <junitreport todir="${junit.output.dir}" tofile="report.xml">
+ <fileset dir="${junit.output.dir}">
+ <include name="TEST-*.xml"/>
+ </fileset>
+ <!--<report format="frames" todir="${junit.output.dir}" />-->
+ </junitreport>
+
+ </target>
<target name="testsuite">
<mkdir dir="${junit.output.dir}"/>
<junit fork="yes" printsummary="withOutAndErr">
- <formatter type="xml"/>
+ <formatter type="xml" />
<test name="ch.ethz.mxquery.Appendices.Annex_Eclass" todir="${junit.output.dir}"/>
<test name="ch.ethz.mxquery.Appendices.Appendix_A4class" todir="${junit.output.dir}"/>
<test name="ch.ethz.mxquery.Catalogclass" todir="${junit.output.dir}"/>
Modified: trunk/XQIB_Testing/src/ch/ethz/mxquery/testsuite/XQueryTestCase.java
===================================================================
--- trunk/XQIB_Testing/src/ch/ethz/mxquery/testsuite/XQueryTestCase.java 2011-06-30 14:18:19 UTC (rev 4418)
+++ trunk/XQIB_Testing/src/ch/ethz/mxquery/testsuite/XQueryTestCase.java 2011-06-30 17:02:08 UTC (rev 4419)
@@ -5,6 +5,7 @@
import org.openqa.selenium.remote.RemoteWebDriver;
+
public class XQueryTestCase {
class VariableWithUri {
@@ -61,6 +62,10 @@
driver.executeScript("window.testcase.addVariable(arguments[0],arguments[1])", new Object[] {var.name,var.uri});
}
+ for (NamespaceToUri module: moduleLocations) {
+ driver.executeScript("window.testcase.addModuleLocation(arguments[0],arguments[1])", new Object[] {module.namespace,module.uri});
+
+ }
driver.executeScript("window.testcase.execute()",new Object[0]);
}
Modified: trunk/XQIB_Testing/test/ch/ethz/mxquery/Catalogclass.java
===================================================================
--- trunk/XQIB_Testing/test/ch/ethz/mxquery/Catalogclass.java 2011-06-30 14:18:19 UTC (rev 4418)
+++ trunk/XQIB_Testing/test/ch/ethz/mxquery/Catalogclass.java 2011-06-30 17:02:08 UTC (rev 4419)
@@ -8,7 +8,7 @@
public void test_Catalog001() throws Exception{
String query = "(: Name: Catalog001 :)\n(: Description: test that most input files have variable references :)\n\n(: insert-start :)\ndeclare variable $input-context external;\n(: insert-end :)\n\n\n<missing-variable>{for $x in $input-context//*:input-file[count(@variable) = 0 and\n./text() != \"emptydoc\"] return string($x/../@name)}</missing-variable>";
XQueryTestCase testcase = new XQueryTestCase(driver,query);
- testcase.addSchemaMapping("http://www.w3.org/2005/02/query-test-XQTSCatalog", "tests/XQTSCatalog.xsd");
+ testcase.addSchemaMapping("http://www.w3.org/2005/02/query-test-XQTSCatalog", "http://127.0.0.1:8090/test/tests/XQTSCatalog.xsd");
testcase.addVariable("input-context",
"http://127.0.0.1:8090/test/tests/XQTSCatalog.xml", true);
testcase.execute();
@@ -26,7 +26,7 @@
public void test_Catalog002() throws Exception{
String query = "(: Name: Catalog002 :)\n(: Description: test all standard test cases have at least one output file :)\n\n(: insert-start :)\ndeclare variable $input-context external;\n(: insert-end :)\n\n<standard-no-outputfile>{$input-context//*:test-case[@scenario = \"standard\"][fn:count(*:output-file) = 0]/@name/string()}</standard-no-outputfile>\n";
XQueryTestCase testcase = new XQueryTestCase(driver,query);
- testcase.addSchemaMapping("http://www.w3.org/2005/02/query-test-XQTSCatalog", "tests/XQTSCatalog.xsd");
+ testcase.addSchemaMapping("http://www.w3.org/2005/02/query-test-XQTSCatalog", "http://127.0.0.1:8090/test/tests/XQTSCatalog.xsd");
testcase.addVariable("input-context",
"http://127.0.0.1:8090/test/tests/XQTSCatalog.xml", true);
testcase.execute();
@@ -44,7 +44,7 @@
public void test_Catalog003() throws Exception{
String query = "(: Name: Catalog003 :)\n(: Description: test all error test cases have at least one expected error :)\n\n(: insert-start :)\ndeclare variable $input-context external;\n(: insert-end :)\n\n<error-no-expected-error>{$input-context//*:test-case[@scenario = \"runtime-error\" or @scenario = \"parse-error\"][fn:count(*:expected-error) = 0 and fn:count(*:output-file[@compare = \"Inspect\"]) = 0]/@name/string()}</error-no-expected-error>";
XQueryTestCase testcase = new XQueryTestCase(driver,query);
- testcase.addSchemaMapping("http://www.w3.org/2005/02/query-test-XQTSCatalog", "tests/XQTSCatalog.xsd");
+ testcase.addSchemaMapping("http://www.w3.org/2005/02/query-test-XQTSCatalog", "http://127.0.0.1:8090/test/tests/XQTSCatalog.xsd");
testcase.addVariable("input-context",
"http://127.0.0.1:8090/test/tests/XQTSCatalog.xml", true);
testcase.execute();
Modified: trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/ComputeCon/ComputeConAttrclass.java
===================================================================
--- trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/ComputeCon/ComputeConAttrclass.java 2011-06-30 14:18:19 UTC (rev 4418)
+++ trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/ComputeCon/ComputeConAttrclass.java 2011-06-30 17:02:08 UTC (rev 4419)
@@ -234,7 +234,7 @@
public void test_Constr_compattr_compname_8() throws Exception{
String query = "(: Name: Constr-compattr-compname-8 :)\n(: Written by: Andreas Behm :)\n(: Description: NCName as name :)\n\n(: insert-start :)\ndeclare variable $input-context external;\n(: insert-end :)\n\nelement elem {attribute {$input-context//*:NCName} {'text'}}\n";
XQueryTestCase testcase = new XQueryTestCase(driver,query);
- testcase.addSchemaMapping("http://www.w3.org/XQueryTest", "tests/TestSources/atomic.xsd");
+ testcase.addSchemaMapping("http://www.w3.org/XQueryTest", "http://127.0.0.1:8090/test/tests/TestSources/atomic.xsd");
testcase.addVariable("input-context",
"http://127.0.0.1:8090/test/tests/TestSources/atomic.xml", true);
testcase.execute();
Modified: trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/ComputeCon/ComputeConCommentclass.java
===================================================================
--- trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/ComputeCon/ComputeConCommentclass.java 2011-06-30 14:18:19 UTC (rev 4418)
+++ trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/ComputeCon/ComputeConCommentclass.java 2011-06-30 17:02:08 UTC (rev 4419)
@@ -284,7 +284,7 @@
public void test_Constr_compcomment_dash_4() throws Exception{
String query = "(: Name: Constr-compcomment-dash-4 :)\n(: Written by: Andreas Behm :)\n(: Description: dash at the end of content - :)\n\n(: insert-start :)\ndeclare variable $input-context external;\n(: insert-end :)\n\ncomment {$input-context//*:test-case[@name=\"Constr-compcomment-dash-4\"]/*:description}\n";
XQueryTestCase testcase = new XQueryTestCase(driver,query);
- testcase.addSchemaMapping("http://www.w3.org/2005/02/query-test-XQTSCatalog", "tests/XQTSCatalog.xsd");
+ testcase.addSchemaMapping("http://www.w3.org/2005/02/query-test-XQTSCatalog", "http://127.0.0.1:8090/test/tests/XQTSCatalog.xsd");
testcase.addVariable("input-context",
"http://127.0.0.1:8090/test/tests/XQTSCatalog.xml", true);
testcase.execute();
@@ -381,7 +381,7 @@
public void test_Constr_compcomment_doubledash_4() throws Exception{
String query = "(: Name: Constr-compcomment-doubledash-4 :)\n(: Written by: Andreas Behm :)\n(: Description: double dash -- in content :)\n\n(: insert-start :)\ndeclare variable $input-context external;\n(: insert-end :)\n\ncomment {$input-context//*:test-case[@name=\"Constr-compcomment-doubledash-4\"]/*:description}\n";
XQueryTestCase testcase = new XQueryTestCase(driver,query);
- testcase.addSchemaMapping("http://www.w3.org/2005/02/query-test-XQTSCatalog", "tests/XQTSCatalog.xsd");
+ testcase.addSchemaMapping("http://www.w3.org/2005/02/query-test-XQTSCatalog", "http://127.0.0.1:8090/test/tests/XQTSCatalog.xsd");
testcase.addVariable("input-context",
"http://127.0.0.1:8090/test/tests/XQTSCatalog.xml", true);
testcase.execute();
Modified: trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/ComputeCon/ComputeConElemclass.java
===================================================================
--- trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/ComputeCon/ComputeConElemclass.java 2011-06-30 14:18:19 UTC (rev 4418)
+++ trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/ComputeCon/ComputeConElemclass.java 2011-06-30 17:02:08 UTC (rev 4419)
@@ -234,7 +234,7 @@
public void test_Constr_compelem_compname_8() throws Exception{
String query = "(: Name: Constr-compelem-compname-8 :)\n(: Written by: Andreas Behm :)\n(: Description: NCName as name :)\n\n(: insert-start :)\ndeclare variable $input-context external;\n(: insert-end :)\n\nelement {$input-context//*:NCName} {'text'}\n";
XQueryTestCase testcase = new XQueryTestCase(driver,query);
- testcase.addSchemaMapping("http://www.w3.org/XQueryTest", "tests/TestSources/atomic.xsd");
+ testcase.addSchemaMapping("http://www.w3.org/XQueryTest", "http://127.0.0.1:8090/test/tests/TestSources/atomic.xsd");
testcase.addVariable("input-context",
"http://127.0.0.1:8090/test/tests/TestSources/atomic.xml", true);
testcase.execute();
Modified: trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/ComputeCon/ComputeConPIclass.java
===================================================================
--- trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/ComputeCon/ComputeConPIclass.java 2011-06-30 14:18:19 UTC (rev 4418)
+++ trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/ComputeCon/ComputeConPIclass.java 2011-06-30 17:02:08 UTC (rev 4419)
@@ -217,7 +217,7 @@
public void test_Constr_comppi_compname_8() throws Exception{
String query = "(: Name: Constr-comppi-compname-8 :)\n(: Written by: Andreas Behm :)\n(: Description: NCName as name :)\n\n(: insert-start :)\ndeclare variable $input-context external;\n(: insert-end :)\n\nprocessing-instruction {$input-context//*:NCName} {'text'}\n";
XQueryTestCase testcase = new XQueryTestCase(driver,query);
- testcase.addSchemaMapping("http://www.w3.org/XQueryTest", "tests/TestSources/atomic.xsd");
+ testcase.addSchemaMapping("http://www.w3.org/XQueryTest", "http://127.0.0.1:8090/test/tests/TestSources/atomic.xsd");
testcase.addVariable("input-context",
"http://127.0.0.1:8090/test/tests/TestSources/atomic.xml", true);
testcase.execute();
@@ -235,7 +235,7 @@
public void test_Constr_comppi_compname_9() throws Exception{
String query = "(: Name: Constr-comppi-compname-9 :)\n(: Written by: Andreas Behm :)\n(: Description: QName as name :)\n\n(: insert-start :)\ndeclare variable $input-context external;\n(: insert-end :)\n\nprocessing-instruction {$input-context//*:QName} {'text'}\n";
XQueryTestCase testcase = new XQueryTestCase(driver,query);
- testcase.addSchemaMapping("http://www.w3.org/XQueryTest", "tests/TestSources/atomic.xsd");
+ testcase.addSchemaMapping("http://www.w3.org/XQueryTest", "http://127.0.0.1:8090/test/tests/TestSources/atomic.xsd");
testcase.addVariable("input-context",
"http://127.0.0.1:8090/test/tests/TestSources/atomic.xml", true);
testcase.execute();
Modified: trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/ComputeCon/ConDocNodeclass.java
===================================================================
--- trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/ComputeCon/ConDocNodeclass.java 2011-06-30 14:18:19 UTC (rev 4418)
+++ trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/ComputeCon/ConDocNodeclass.java 2011-06-30 17:02:08 UTC (rev 4419)
@@ -229,7 +229,7 @@
public void test_Constr_docnode_constrmod_1() throws Exception{
String query = "(: Name: Constr-docnode-constrmod-1 :)\n(: Written by: Andreas Behm :)\n(: Description: strip IDREFS type :)\n\ndeclare construction strip;\n\n(: insert-start :)\ndeclare variable $input-context external;\n(: insert-end :)\n\nfn:count(fn:data((document {$input-context//*:idrefs})/*))\n";
XQueryTestCase testcase = new XQueryTestCase(driver,query);
- testcase.addSchemaMapping("http://www.w3.org/XQueryTest", "tests/TestSources/atomic.xsd");
+ testcase.addSchemaMapping("http://www.w3.org/XQueryTest", "http://127.0.0.1:8090/test/tests/TestSources/atomic.xsd");
testcase.addVariable("input-context",
"http://127.0.0.1:8090/test/tests/TestSources/atomic.xml", true);
testcase.execute();
@@ -247,7 +247,7 @@
public void test_Constr_docnode_constrmod_2() throws Exception{
String query = "(: Name: Constr-docnode-constrmod-2 :)\n(: Written by: Andreas Behm :)\n(: Description: preserve IDREFS type :)\n\ndeclare construction preserve;\n\n(: insert-start :)\ndeclare variable $input-context external;\n(: insert-end :)\n\nfn:count(fn:data((document {$input-context//*:idrefs})/*))\n";
XQueryTestCase testcase = new XQueryTestCase(driver,query);
- testcase.addSchemaMapping("http://www.w3.org/XQueryTest", "tests/TestSources/atomic.xsd");
+ testcase.addSchemaMapping("http://www.w3.org/XQueryTest", "http://127.0.0.1:8090/test/tests/TestSources/atomic.xsd");
testcase.addVariable("input-context",
"http://127.0.0.1:8090/test/tests/TestSources/atomic.xml", true);
testcase.execute();
@@ -265,7 +265,7 @@
public void test_Constr_docnode_constrmod_3() throws Exception{
String query = "(: Name: Constr-docnode-constrmod-3 :)\n(: Written by: Andreas Behm :)\n(: Description: strip decimal type :)\n\ndeclare construction strip;\n\n(: insert-start :)\ndeclare variable $input-context external;\n(: insert-end :)\n\n(document {$input-context//*:decimal})/* cast as xs:integer\n";
XQueryTestCase testcase = new XQueryTestCase(driver,query);
- testcase.addSchemaMapping("http://www.w3.org/XQueryTest", "tests/TestSources/atomic.xsd");
+ testcase.addSchemaMapping("http://www.w3.org/XQueryTest", "http://127.0.0.1:8090/test/tests/TestSources/atomic.xsd");
testcase.addVariable("input-context",
"http://127.0.0.1:8090/test/tests/TestSources/atomic.xml", true);
testcase.execute();
@@ -290,7 +290,7 @@
public void test_Constr_docnode_constrmod_4() throws Exception{
String query = "(: Name: Constr-docnode-constrmod-4 :)\n(: Written by: Andreas Behm :)\n(: Description: preserve decimal type :)\n\ndeclare construction preserve;\n\n(: insert-start :)\ndeclare variable $input-context external;\n(: insert-end :)\n\n(document {$input-context//*:decimal})/* cast as xs:integer\n\n";
XQueryTestCase testcase = new XQueryTestCase(driver,query);
- testcase.addSchemaMapping("http://www.w3.org/XQueryTest", "tests/TestSources/atomic.xsd");
+ testcase.addSchemaMapping("http://www.w3.org/XQueryTest", "http://127.0.0.1:8090/test/tests/TestSources/atomic.xsd");
testcase.addVariable("input-context",
"http://127.0.0.1:8090/test/tests/TestSources/atomic.xml", true);
testcase.execute();
Modified: trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/DirectConElem/DirectConElemContentclass.java
===================================================================
--- trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/DirectConElem/DirectConElemContentclass.java 2011-06-30 14:18:19 UTC (rev 4418)
+++ trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/DirectConElem/DirectConElemContentclass.java 2011-06-30 17:02:08 UTC (rev 4419)
@@ -604,7 +604,7 @@
public void test_Constr_cont_constrmod_1() throws Exception{
String query = "(: Name: Constr-cont-constrmod-1 :)\n(: Written by: Andreas Behm :)\n(: Description: strip IDREFS type :)\n\ndeclare construction strip;\n\n(: insert-start :)\ndeclare variable $input-context external;\n(: insert-end :)\n\nfn:count(fn:data(<elem>{$input-context//*:idrefs}</elem>/*))\n";
XQueryTestCase testcase = new XQueryTestCase(driver,query);
- testcase.addSchemaMapping("http://www.w3.org/XQueryTest", "tests/TestSources/atomic.xsd");
+ testcase.addSchemaMapping("http://www.w3.org/XQueryTest", "http://127.0.0.1:8090/test/tests/TestSources/atomic.xsd");
testcase.addVariable("input-context",
"http://127.0.0.1:8090/test/tests/TestSources/atomic.xml", true);
testcase.execute();
@@ -622,7 +622,7 @@
public void test_Constr_cont_constrmod_2() throws Exception{
String query = "(: Name: Constr-cont-constrmod-2 :)\n(: Written by: Andreas Behm :)\n(: Description: preserve IDREFS type :)\n\ndeclare construction preserve;\n\n(: insert-start :)\ndeclare variable $input-context external;\n(: insert-end :)\n\nfn:count(fn:data(<elem>{$input-context//*:idrefs}</elem>/*))\n";
XQueryTestCase testcase = new XQueryTestCase(driver,query);
- testcase.addSchemaMapping("http://www.w3.org/XQueryTest", "tests/TestSources/atomic.xsd");
+ testcase.addSchemaMapping("http://www.w3.org/XQueryTest", "http://127.0.0.1:8090/test/tests/TestSources/atomic.xsd");
testcase.addVariable("input-context",
"http://127.0.0.1:8090/test/tests/TestSources/atomic.xml", true);
testcase.execute();
@@ -640,7 +640,7 @@
public void test_Constr_cont_constrmod_3() throws Exception{
String query = "(: Name: Constr-cont-constrmod-3 :)\n(: Written by: Andreas Behm :)\n(: Description: strip decimal type :)\n\ndeclare construction strip;\n\n(: insert-start :)\ndeclare variable $input-context external;\n(: insert-end :)\n\n<elem>{$input-context//*:decimal}</elem>/* cast as xs:integer\n";
XQueryTestCase testcase = new XQueryTestCase(driver,query);
- testcase.addSchemaMapping("http://www.w3.org/XQueryTest", "tests/TestSources/atomic.xsd");
+ testcase.addSchemaMapping("http://www.w3.org/XQueryTest", "http://127.0.0.1:8090/test/tests/TestSources/atomic.xsd");
testcase.addVariable("input-context",
"http://127.0.0.1:8090/test/tests/TestSources/atomic.xml", true);
testcase.execute();
@@ -665,7 +665,7 @@
public void test_Constr_cont_constrmod_4() throws Exception{
String query = "(: Name: Constr-cont-constrmod-4 :)\n(: Written by: Andreas Behm :)\n(: Description: preserve decimal type :)\n\ndeclare construction preserve;\n\n(: insert-start :)\ndeclare variable $input-context external;\n(: insert-end :)\n\n<elem>{$input-context//*:decimal}</elem>/* cast as xs:integer\n\n";
XQueryTestCase testcase = new XQueryTestCase(driver,query);
- testcase.addSchemaMapping("http://www.w3.org/XQueryTest", "tests/TestSources/atomic.xsd");
+ testcase.addSchemaMapping("http://www.w3.org/XQueryTest", "http://127.0.0.1:8090/test/tests/TestSources/atomic.xsd");
testcase.addVariable("input-context",
"http://127.0.0.1:8090/test/tests/TestSources/atomic.xml", true);
testcase.execute();
@@ -686,7 +686,7 @@
public void test_Constr_cont_constrmod_5() throws Exception{
String query = "(: Name: Constr-cont-constrmod-5 :)\n(: Written by: Andreas Behm :)\n(: Description: strip IDREFS type in attribute :)\n\ndeclare construction strip;\n\n(: insert-start :)\ndeclare variable $input-context external;\n(: insert-end :)\n\nfn:count(fn:data((<elem>{$input-context//*:idrefs/@*:attr}</elem>)/@*:attr))\n";
XQueryTestCase testcase = new XQueryTestCase(driver,query);
- testcase.addSchemaMapping("http://www.w3.org/XQueryTest", "tests/TestSources/atomic.xsd");
+ testcase.addSchemaMapping("http://www.w3.org/XQueryTest", "http://127.0.0.1:8090/test/tests/TestSources/atomic.xsd");
testcase.addVariable("input-context",
"http://127.0.0.1:8090/test/tests/TestSources/atomic.xml", true);
testcase.execute();
@@ -704,7 +704,7 @@
public void test_Constr_cont_constrmod_6() throws Exception{
String query = "(: Name: Constr-co...
[truncated message content] |
|
From: <pm_...@us...> - 2011-08-31 15:47:13
|
Revision: 4440
http://mxquery.svn.sourceforge.net/mxquery/?rev=4440&view=rev
Author: pm_fischer
Date: 2011-08-31 15:47:06 +0000 (Wed, 31 Aug 2011)
Log Message:
-----------
- support for cdata-section in Serializer
- support for open-only serialization in HTML mode (e.g. <br>
- <script> content is not escaped in HTML mode
Modified Paths:
--------------
trunk/MXQuery/src/ch/ethz/mxquery/xdmio/XDMSerializer.java
trunk/MXQuery_Testing/src/ch/ethz/mxquery/test/HTMLSerializerTests.java
Modified: trunk/MXQuery/src/ch/ethz/mxquery/xdmio/XDMSerializer.java
===================================================================
--- trunk/MXQuery/src/ch/ethz/mxquery/xdmio/XDMSerializer.java 2011-08-31 11:22:41 UTC (rev 4439)
+++ trunk/MXQuery/src/ch/ethz/mxquery/xdmio/XDMSerializer.java 2011-08-31 15:47:06 UTC (rev 4440)
@@ -26,6 +26,7 @@
import ch.ethz.mxquery.contextConfig.Context;
import ch.ethz.mxquery.contextConfig.XQStaticContext;
import ch.ethz.mxquery.datamodel.Namespace;
+import ch.ethz.mxquery.datamodel.QName;
import ch.ethz.mxquery.datamodel.types.Type;
import ch.ethz.mxquery.datamodel.types.TypeDictionary;
import ch.ethz.mxquery.datamodel.types.TypeInfo;
@@ -55,7 +56,8 @@
protected boolean startTagStarted = false;
private static TypeDictionary dictionary = Context.getDictionary();
private XDMSerializerSettings settings;
-
+ private QName cdataRoot; // topmost node for CDATA sections
+ private boolean inScriptTag; // for HTML, no escaping inside script tags
//private static boolean endTagFound = false;
private final static String xhtml_empty_elems [] = {"area",
@@ -110,11 +112,32 @@
case Type.START_TAG :
stream.print("<" + tok.getName());
startTagStarted = true;
+ if (settings.getCdataSectionElements() != null && cdataRoot == null) {
+ QName qn = new QName(tok.getNS(),tok.getPrefix(),tok.getName());
+ if (settings.getCdataSectionElements().contains(qn))
+ cdataRoot = qn;
+ }
+ if (tok.getName().equals("script") && settings.getOutputMethod().equals(XDMSerializerSettings.METHOD_HTML))
+ inScriptTag = true;
break;
case Type.END_TAG :
+ // if we have the root of a cdata section, check if the current
+ if (cdataRoot != null && settings.getCdataSectionElements().size() != 0) {
+ QName qn = new QName(tok.getNS(),tok.getPrefix(),tok.getName());
+ if (cdataRoot.equals(qn))
+ cdataRoot = null;
+ }
+ if (tok.getName().equals("script") && settings.getOutputMethod().equals(XDMSerializerSettings.METHOD_HTML))
+ inScriptTag = false;
+ // HTML serialization skips end elements from empty content
+ if ((settings.getOutputMethod().equals(XDMSerializerSettings.METHOD_HTML) &&
+ xhtml_empty_set.contains(tok.getName())))
+ stream.print(">");
+ else
if (prevEventType == Type.START_TAG || Type.isAttribute(prevEventType))
- if (!settings.getOutputMethod().equals(XDMSerializerSettings.METHOD_XHTML))
+ if (!(settings.getOutputMethod().equals(XDMSerializerSettings.METHOD_XHTML) ||
+ settings.getOutputMethod().equals(XDMSerializerSettings.METHOD_HTML)))
stream.print("/>");
else if (xhtml_empty_set.contains(tok.getName()))
stream.print(" />");
@@ -141,7 +164,13 @@
}
if ( Type.isAtomicType(type, dictionary) || type == Type.UNTYPED) {
- String serValue = getSerializedValue(tok);
+ String serValue;
+ if (cdataRoot == null)
+ if (!inScriptTag)
+ serValue = getSerializedValue(tok);
+ else serValue = tok.getText();
+ else
+ serValue = "<![CDATA["+tok.getText()+"]]>";
stream.print(serValue);
}
Modified: trunk/MXQuery_Testing/src/ch/ethz/mxquery/test/HTMLSerializerTests.java
===================================================================
--- trunk/MXQuery_Testing/src/ch/ethz/mxquery/test/HTMLSerializerTests.java 2011-08-31 11:22:41 UTC (rev 4439)
+++ trunk/MXQuery_Testing/src/ch/ethz/mxquery/test/HTMLSerializerTests.java 2011-08-31 15:47:06 UTC (rev 4440)
@@ -1,8 +1,10 @@
package ch.ethz.mxquery.test;
+import ch.ethz.mxquery.datamodel.QName;
import ch.ethz.mxquery.model.XDMIterator;
import ch.ethz.mxquery.query.PreparedStatement;
import ch.ethz.mxquery.testsuite.XQueryTestBase;
+import ch.ethz.mxquery.util.Set;
import ch.ethz.mxquery.xdmio.XDMSerializer;
import ch.ethz.mxquery.xdmio.XDMSerializerSettings;
@@ -125,5 +127,171 @@
result.close(false);
assertEquals(resultBuffer.toString().trim(), "<html><head><script></script></head><body>'</body></html>");
};
+
+ public void testHTMLSerialization() throws Exception{
+ String query = "<html><head/><body/></html>";
+ PreparedStatement prep = prepareQuery(query, false,false, false, false, false);
+
+ result = prep.evaluate();
+ resultBuffer = new StringBuffer();
+ storeBuffer = new StringBuffer();
+ XDMSerializerSettings ser = prep.getOutputSettings();
+ if (ser == null)
+ ser = new XDMSerializerSettings();
+ ser.setOutputMethod(XDMSerializerSettings.METHOD_HTML);
+ ser.setOmitXMLDeclaration(true);
+ XDMSerializer ip = new XDMSerializer(ser);
+ resultBuffer.append(ip.eventsToXML(result));
+
+ prep.applyPUL();
+ if (result.getExpressionCategoryType(false) == XDMIterator.EXPR_CATEGORY_UPDATING)
+ storeBuffer.append(result.getContext().getStores().toString());
+ result.close(false);
+ assertEquals(resultBuffer.toString().trim(), "<html><head></head><body></body></html>");
+ };
+
+ public void testHTMLSerialization_2() throws Exception{
+ String query = "<html><head><script/></head><body><br/></body></html>";
+ PreparedStatement prep = prepareQuery(query, false,false, false, false, false);
+
+ result = prep.evaluate();
+ resultBuffer = new StringBuffer();
+ storeBuffer = new StringBuffer();
+ XDMSerializerSettings ser = prep.getOutputSettings();
+ if (ser == null)
+ ser = new XDMSerializerSettings();
+ ser.setOutputMethod(XDMSerializerSettings.METHOD_HTML);
+ ser.setOmitXMLDeclaration(true);
+ XDMSerializer ip = new XDMSerializer(ser);
+ resultBuffer.append(ip.eventsToXML(result));
+
+ prep.applyPUL();
+ if (result.getExpressionCategoryType(false) == XDMIterator.EXPR_CATEGORY_UPDATING)
+ storeBuffer.append(result.getContext().getStores().toString());
+ result.close(false);
+ assertEquals(resultBuffer.toString().trim(), "<html><head><script></script></head><body><br></body></html>");
+ };
+
+
+ public void testHTMLSerialization_3() throws Exception{
+ String query = "<html><head><script/></head><body><area/><base/><br/><col/><hr/><img/><input/><link/><meta/><basefont/><frame/><isindex/><param/></body></html>";
+ PreparedStatement prep = prepareQuery(query, false,false, false, false, false);
+
+ result = prep.evaluate();
+ resultBuffer = new StringBuffer();
+ storeBuffer = new StringBuffer();
+ XDMSerializerSettings ser = prep.getOutputSettings();
+ if (ser == null)
+ ser = new XDMSerializerSettings();
+ ser.setOutputMethod(XDMSerializerSettings.METHOD_HTML);
+ ser.setOmitXMLDeclaration(true);
+ XDMSerializer ip = new XDMSerializer(ser);
+ resultBuffer.append(ip.eventsToXML(result));
+
+ prep.applyPUL();
+ if (result.getExpressionCategoryType(false) == XDMIterator.EXPR_CATEGORY_UPDATING)
+ storeBuffer.append(result.getContext().getStores().toString());
+ result.close(false);
+ assertEquals(resultBuffer.toString().trim(), "<html><head><script></script></head><body><area><base><br><col><hr><img><input><link><meta><basefont><frame><isindex><param></body></html>");
+ };
+
+ public void testHTMLSerialization_Script() throws Exception{
+ String query = "<html><head><script><![CDATA[if (a < b) foo()]]></script></head><body></body></html>";
+ PreparedStatement prep = prepareQuery(query, false,false, false, false, false);
+
+ result = prep.evaluate();
+ resultBuffer = new StringBuffer();
+ storeBuffer = new StringBuffer();
+ XDMSerializerSettings ser = prep.getOutputSettings();
+ if (ser == null)
+ ser = new XDMSerializerSettings();
+ ser.setOutputMethod(XDMSerializerSettings.METHOD_HTML);
+ ser.setOmitXMLDeclaration(true);
+ XDMSerializer ip = new XDMSerializer(ser);
+ resultBuffer.append(ip.eventsToXML(result));
+
+ prep.applyPUL();
+ if (result.getExpressionCategoryType(false) == XDMIterator.EXPR_CATEGORY_UPDATING)
+ storeBuffer.append(result.getContext().getStores().toString());
+ result.close(false);
+ assertEquals(resultBuffer.toString().trim(), "<html><head><script>if (a < b) foo()</script></head><body></body></html>");
+ };
+
+
+ public void testXMLCDATASerialization() throws Exception{
+ String query = "<html><head><script/></head><body>'</body></html>";
+ PreparedStatement prep = prepareQuery(query, false,false, false, false, false);
+
+ result = prep.evaluate();
+ resultBuffer = new StringBuffer();
+ storeBuffer = new StringBuffer();
+ XDMSerializerSettings ser = prep.getOutputSettings();
+ if (ser == null)
+ ser = new XDMSerializerSettings();
+ Set cdata = new Set();
+ cdata.add(new QName("body"));
+ ser.setCdataSectionElements(cdata);
+ ser.setOmitXMLDeclaration(true);
+ XDMSerializer ip = new XDMSerializer(ser);
+ resultBuffer.append(ip.eventsToXML(result));
+
+ prep.applyPUL();
+ if (result.getExpressionCategoryType(false) == XDMIterator.EXPR_CATEGORY_UPDATING)
+ storeBuffer.append(result.getContext().getStores().toString());
+ result.close(false);
+ assertEquals(resultBuffer.toString().trim(), "<html><head><script/></head><body><![CDATA[']]></body></html>");
+ };
+
+
+ public void testXMLCDATASerializationDesc() throws Exception{
+ String query = "<html><head><script/></head><body><p>Mickey</p><p>Mouse</p>show</body></html>";
+ PreparedStatement prep = prepareQuery(query, false,false, false, false, false);
+
+ result = prep.evaluate();
+ resultBuffer = new StringBuffer();
+ storeBuffer = new StringBuffer();
+ XDMSerializerSettings ser = prep.getOutputSettings();
+ if (ser == null)
+ ser = new XDMSerializerSettings();
+ Set cdata = new Set();
+ cdata.add(new QName("body"));
+ ser.setCdataSectionElements(cdata);
+ ser.setOmitXMLDeclaration(true);
+ XDMSerializer ip = new XDMSerializer(ser);
+ resultBuffer.append(ip.eventsToXML(result));
+
+ prep.applyPUL();
+ if (result.getExpressionCategoryType(false) == XDMIterator.EXPR_CATEGORY_UPDATING)
+ storeBuffer.append(result.getContext().getStores().toString());
+ result.close(false);
+ assertEquals(resultBuffer.toString().trim(), "<html><head><script/></head><body><p><![CDATA[Mickey]]></p><p><![CDATA[Mouse]]></p><![CDATA[show]]></body></html>");
+ };
+
+ public void testXMLCDATASerializationDescManyElemens() throws Exception{
+ String query = "<html><head><script/></head><body><p>Mickey</p><p>Mouse</p>show</body></html>";
+ PreparedStatement prep = prepareQuery(query, false,false, false, false, false);
+
+ result = prep.evaluate();
+ resultBuffer = new StringBuffer();
+ storeBuffer = new StringBuffer();
+ XDMSerializerSettings ser = prep.getOutputSettings();
+ if (ser == null)
+ ser = new XDMSerializerSettings();
+ Set cdata = new Set();
+ cdata.add(new QName("body"));
+ cdata.add(new QName("p"));
+ ser.setCdataSectionElements(cdata);
+ ser.setOmitXMLDeclaration(true);
+ XDMSerializer ip = new XDMSerializer(ser);
+ resultBuffer.append(ip.eventsToXML(result));
+
+ prep.applyPUL();
+ if (result.getExpressionCategoryType(false) == XDMIterator.EXPR_CATEGORY_UPDATING)
+ storeBuffer.append(result.getContext().getStores().toString());
+ result.close(false);
+ assertEquals(resultBuffer.toString().trim(), "<html><head><script/></head><body><p><![CDATA[Mickey]]></p><p><![CDATA[Mouse]]></p><![CDATA[show]]></body></html>");
+ };
+
+
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <et...@us...> - 2011-09-16 11:35:55
|
Revision: 4443
http://mxquery.svn.sourceforge.net/mxquery/?rev=4443&view=rev
Author: etterth
Date: 2011-09-16 11:35:48 +0000 (Fri, 16 Sep 2011)
Log Message:
-----------
- Added more Tests for the XQIB-specific features
- Bugfixes for the cookie functions
Modified Paths:
--------------
trunk/MXQuery/xqib_src/ch/ethz/mxquery/functions/b/JsEval.java
trunk/MXQuery/xqib_src/ch/ethz/mxquery/functions/b/RemoveCookie.java
trunk/MXQuery/xqib_src/ch/ethz/mxquery/functions/b/SetCookie.java
trunk/MXQuery/xqib_src/ch/ethz/mxquery/functions/b/Timer.java
trunk/XQIB_Testing/src/ch/ethz/mxquery/browsertests/JsApi.java
trunk/XQIB_Testing/src/ch/ethz/mxquery/testsuite/XQueryTestBase.java
Added Paths:
-----------
trunk/XQIB_Testing/src/ch/ethz/mxquery/browsertests/Classes.java
trunk/XQIB_Testing/src/ch/ethz/mxquery/browsertests/Cookies.java
trunk/XQIB_Testing/src/ch/ethz/mxquery/browsertests/EventListeners.java
trunk/XQIB_Testing/src/ch/ethz/mxquery/browsertests/Timer.java
trunk/XQIB_Testing/src/ch/ethz/mxquery/browsertests/UrlManipulation.java
Modified: trunk/MXQuery/xqib_src/ch/ethz/mxquery/functions/b/JsEval.java
===================================================================
--- trunk/MXQuery/xqib_src/ch/ethz/mxquery/functions/b/JsEval.java 2011-09-15 13:44:40 UTC (rev 4442)
+++ trunk/MXQuery/xqib_src/ch/ethz/mxquery/functions/b/JsEval.java 2011-09-16 11:35:48 UTC (rev 4443)
@@ -53,7 +53,7 @@
}
protected native JavaScriptObject eval(String script)/*-{
- return eval(script);
+ return $wnd.eval(script);
}-*/;
}
Modified: trunk/MXQuery/xqib_src/ch/ethz/mxquery/functions/b/RemoveCookie.java
===================================================================
--- trunk/MXQuery/xqib_src/ch/ethz/mxquery/functions/b/RemoveCookie.java 2011-09-15 13:44:40 UTC (rev 4442)
+++ trunk/MXQuery/xqib_src/ch/ethz/mxquery/functions/b/RemoveCookie.java 2011-09-16 11:35:48 UTC (rev 4443)
@@ -5,6 +5,7 @@
import com.google.gwt.user.client.Cookies;
import ch.ethz.mxquery.contextConfig.Context;
+import ch.ethz.mxquery.datamodel.xdm.Token;
import ch.ethz.mxquery.datamodel.xdm.TokenInterface;
import ch.ethz.mxquery.datamodel.xdm.UntypedAtomicToken;
import ch.ethz.mxquery.exceptions.ErrorCodes;
@@ -17,6 +18,9 @@
@Override
protected void init() throws MXQueryException {
+
+ this.currentToken = Token.END_SEQUENCE_TOKEN;
+
TokenInterface tok = subIters[0].next();
String name = tok.getValueAsString();
if (name == null){
Modified: trunk/MXQuery/xqib_src/ch/ethz/mxquery/functions/b/SetCookie.java
===================================================================
--- trunk/MXQuery/xqib_src/ch/ethz/mxquery/functions/b/SetCookie.java 2011-09-15 13:44:40 UTC (rev 4442)
+++ trunk/MXQuery/xqib_src/ch/ethz/mxquery/functions/b/SetCookie.java 2011-09-16 11:35:48 UTC (rev 4443)
@@ -6,6 +6,7 @@
import ch.ethz.mxquery.contextConfig.Context;
import ch.ethz.mxquery.datamodel.MXQueryDateTime;
+import ch.ethz.mxquery.datamodel.xdm.Token;
import ch.ethz.mxquery.datamodel.xdm.TokenInterface;
import ch.ethz.mxquery.exceptions.ErrorCodes;
import ch.ethz.mxquery.exceptions.MXQueryException;
@@ -17,6 +18,7 @@
@Override
protected void init() throws MXQueryException {
+ this.currentToken = Token.END_SEQUENCE_TOKEN;
TokenInterface tok = subIters[0].next();
String name = tok.getValueAsString();
if (name == null) {
@@ -35,6 +37,7 @@
Cookies.setCookie(name, value);
return;
}
+ tok = subIters[2].next();
MXQueryDateTime expires = tok.getDateTime();
if (expires == null) {
throw new TypeException(ErrorCodes.E0004_TYPE_INAPPROPRIATE_TYPE,
Modified: trunk/MXQuery/xqib_src/ch/ethz/mxquery/functions/b/Timer.java
===================================================================
--- trunk/MXQuery/xqib_src/ch/ethz/mxquery/functions/b/Timer.java 2011-09-15 13:44:40 UTC (rev 4442)
+++ trunk/MXQuery/xqib_src/ch/ethz/mxquery/functions/b/Timer.java 2011-09-16 11:35:48 UTC (rev 4443)
@@ -16,6 +16,12 @@
import ch.ethz.mxquery.util.LogLevel;
import ch.ethz.mxquery.util.Logger;
+/**
+ * Provides the timer($milliseconds as xs:integer, $handler as function()) function which
+ * creates timer which fires once
+ * @author etterth
+ *
+ */
public class Timer extends TokenBasedIterator {
FunctionItemToken fi;
Added: trunk/XQIB_Testing/src/ch/ethz/mxquery/browsertests/Classes.java
===================================================================
--- trunk/XQIB_Testing/src/ch/ethz/mxquery/browsertests/Classes.java (rev 0)
+++ trunk/XQIB_Testing/src/ch/ethz/mxquery/browsertests/Classes.java 2011-09-16 11:35:48 UTC (rev 4443)
@@ -0,0 +1,46 @@
+package ch.ethz.mxquery.browsertests;
+
+import java.util.List;
+import java.util.NoSuchElementException;
+
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.openqa.selenium.WebElement;
+
+import ch.ethz.mxquery.testsuite.XQueryTestBase;
+
+public class Classes extends XQueryTestBase {
+
+
+ @Test
+ /**
+ * test the b:addClass function
+ */
+ public void class_addclass() throws Exception {
+ driver.get("http://127.0.0.1:8090/test/test.html");
+ executeNewScript("insert node <p/> as first into b:dom()//body");
+ executeNewScript("b:addClass(b:dom()//p,'class1')");
+ String value = executeNewScript("b:getClasses(b:dom()//p) = 'class1'");
+ Assert.assertEquals("true", value);
+ }
+
+ @Test
+ /**
+ * test the b:removeClass function
+ */
+ public void class_removeclass() throws Exception {
+ driver.get("http://127.0.0.1:8090/test/test.html");
+ executeNewScript("insert node <p/> as first into b:dom()//body");
+ executeNewScript("b:addClass(b:dom()//p,'class1')");
+ executeNewScript("b:addClass(b:dom()//p,'class2')");
+ executeNewScript("b:removeClass(b:dom()//p,'class1')");
+ String value = executeNewScript("b:getClasses(b:dom()//p)");
+ Assert.assertEquals("class2", value);
+ }
+
+
+
+
+
+}
Added: trunk/XQIB_Testing/src/ch/ethz/mxquery/browsertests/Cookies.java
===================================================================
--- trunk/XQIB_Testing/src/ch/ethz/mxquery/browsertests/Cookies.java (rev 0)
+++ trunk/XQIB_Testing/src/ch/ethz/mxquery/browsertests/Cookies.java 2011-09-16 11:35:48 UTC (rev 4443)
@@ -0,0 +1,86 @@
+package ch.ethz.mxquery.browsertests;
+
+import java.util.List;
+import java.util.NoSuchElementException;
+
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.openqa.selenium.WebElement;
+
+import ch.ethz.mxquery.testsuite.XQueryTestBase;
+
+public class Cookies extends XQueryTestBase {
+
+
+ @Test
+ /**
+ * test the b:setCookie and b:getCookie functions
+ *
+ */
+ public void cookie_set_and_test() throws Exception {
+ driver.get("http://127.0.0.1:8090/test/test.html");
+ executeNewScript("b:setCookie('cookie-01','cookie-value-01')");
+ String value = executeNewScript("b:getCookie('cookie-01')");
+ Assert.assertEquals("cookie-value-01", value);
+ }
+
+
+ @Test
+ /**
+ * test the b:setCookie with expiration after one second
+ * and b:getCookie functions
+ *
+ */
+ public void cookie_with_time() throws Exception {
+ driver.get("http://127.0.0.1:8090/test/test.html");
+ executeNewScript("b:setCookie('cookie-02', 'cookie-value-02', fn:current-dateTime()+xs:dayTimeDuration('PT2S'))");
+ String value = executeNewScript("b:getCookie('cookie-02')");
+ Assert.assertEquals( "cookie-value-02",value);
+
+ Thread.sleep(500);
+ value = executeNewScript("b:getCookie('cookie-02')");
+ Assert.assertEquals( "cookie-value-02",value);
+
+ Thread.sleep(2000);
+ value = executeNewScript("b:getCookie('cookie-02')");
+ Assert.assertEquals("",value);
+ }
+
+ @Test
+ /**
+ * test the b:setCookie and b:removeCookie functions
+ *
+ */
+ public void cookie_remove() throws Exception {
+ driver.get("http://127.0.0.1:8090/test/test.html");
+ executeNewScript("b:setCookie('cookie-01','cookie-value-01')");
+ String value = executeNewScript("b:getCookie('cookie-01')");
+ Assert.assertEquals("cookie-value-01", value);
+
+ //remove the cookie
+ executeNewScript("b:removeCookie('cookie-01')");
+
+ value = executeNewScript("b:getCookie('cookie-01')");
+ Assert.assertEquals("", value);
+ }
+
+ @Test
+ /**
+ * test the b:getCookieNames function
+ *
+ */
+ public void cookie_getCookies() throws Exception {
+ driver.get("http://127.0.0.1:8090/test/test.html");
+ executeNewScript("b:setCookie('cookie-01','cookie-value-01')");
+ String value = executeNewScript("b:getCookieNames() = 'cookie-01'");
+ Assert.assertEquals("true", value);
+
+ value = executeNewScript("b:getCookieNames() = 'non-existing-cookie'");
+ Assert.assertEquals("false", value);
+
+ }
+
+
+
+}
Added: trunk/XQIB_Testing/src/ch/ethz/mxquery/browsertests/EventListeners.java
===================================================================
--- trunk/XQIB_Testing/src/ch/ethz/mxquery/browsertests/EventListeners.java (rev 0)
+++ trunk/XQIB_Testing/src/ch/ethz/mxquery/browsertests/EventListeners.java 2011-09-16 11:35:48 UTC (rev 4443)
@@ -0,0 +1,103 @@
+package ch.ethz.mxquery.browsertests;
+
+import java.util.List;
+import java.util.NoSuchElementException;
+
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.openqa.selenium.WebElement;
+
+import ch.ethz.mxquery.testsuite.XQueryTestBase;
+
+public class EventListeners extends XQueryTestBase {
+
+
+ @Test
+ /**
+ * test the b:addEventListener function
+ */
+ public void event_add_listener() throws Exception {
+ driver.get("http://127.0.0.1:8090/test/test.html");
+ executeNewScript("insert node <input type='button'/> as first into b:dom()//body");
+ executeNewScript("declare updating function local:onclick($loc, $evtObj) {\n" +
+ " insert node <p/> as last into b:dom()//body\n" +
+ "};\n" +
+ "b:addEventListener(b:dom()//input, \"onclick\", local:onclick#2)");
+
+ WebElement button = driver.findElementByTagName("input");
+ button.click();
+ button.click();
+
+ Assert.assertEquals(2,driver.findElementsByTagName("p").size());
+ }
+
+
+ @Test
+ /**
+ * test b:removeEventListener
+ * the click should only trigger an insert once
+ */
+ public void event_remove_listener() throws Exception {
+ driver.get("http://127.0.0.1:8090/test/test.html");
+ executeNewScript("insert node <input type='button'/> as first into b:dom()//body");
+ executeNewScript("declare updating function local:onclick($loc, $evtObj) {\n" +
+ " b:removeEventListener(b:dom()//input, \"onclick\", local:onclick#2)," +
+ " insert node <p/> as last into b:dom()//body\n" +
+ "};\n" +
+ "b:addEventListener(b:dom()//input, \"onclick\", local:onclick#2)");
+
+ WebElement button = driver.findElementByTagName("input");
+ button.click();
+ button.click();
+
+ Assert.assertEquals(1,driver.findElementsByTagName("p").size());
+ }
+
+
+ @Test
+ /**
+ * test b:addEventListener with an anonymous function
+ */
+ public void event_add_anonymous() throws Exception {
+ driver.get("http://127.0.0.1:8090/test/test.html");
+ executeNewScript("insert node <input type='button'/> as first into b:dom()//body");
+ executeNewScript(
+ "b:addEventListener(b:dom()//input, \"onclick\", "+
+ "%updating function ($loc, $evtObj) {\n" +
+ " insert node <p/> as last into b:dom()//body\n" +
+ "})\n" );
+
+ WebElement button = driver.findElementByTagName("input");
+ button.click();
+ button.click();
+
+ Assert.assertEquals(2,driver.findElementsByTagName("p").size());
+ }
+
+
+ @Test
+ /**
+ * test b:removeAnonymousEventListeners
+ * the click should only trigger an insert once
+ */
+ public void event_remove_anonymous() throws Exception {
+ driver.get("http://127.0.0.1:8090/test/test.html");
+ executeNewScript("insert node <input type='button'/> as first into b:dom()//body");
+ executeNewScript(
+ "b:addEventListener(b:dom()//input, \"onclick\", "+
+ "%updating function ($loc, $evtObj) {\n" +
+ " b:removeAnonymousEventListeners(b:dom()//input, \"onclick\")," +
+ " insert node <p/> as last into b:dom()//body\n" +
+ "})\n" );
+
+ WebElement button = driver.findElementByTagName("input");
+ button.click();
+ button.click();
+
+ Assert.assertEquals(1,driver.findElementsByTagName("p").size());
+ }
+
+
+
+}
Modified: trunk/XQIB_Testing/src/ch/ethz/mxquery/browsertests/JsApi.java
===================================================================
--- trunk/XQIB_Testing/src/ch/ethz/mxquery/browsertests/JsApi.java 2011-09-15 13:44:40 UTC (rev 4442)
+++ trunk/XQIB_Testing/src/ch/ethz/mxquery/browsertests/JsApi.java 2011-09-16 11:35:48 UTC (rev 4443)
@@ -38,9 +38,18 @@
Assert.assertEquals(result.size(), 2);
Assert.assertEquals(result.get(0).getText(),"div generated by XQIB with \"Some Text\" which was passed from JS");
Assert.assertEquals(result.get(1).getText(),"div generated by XQIB with \"Some more text\" which was passed from JS");
-
-
+
+ };
- };
+
+ @Test
+ /**
+ * tests the js-eval function
+ */
+ public void js_eval() throws Exception {
+ driver.get("http://127.0.0.1:8090/test/test.html");
+ executeNewScript("b:js-eval('document.title = \"js-eval\"')");
+ Assert.assertEquals("js-eval", driver.getTitle());
+ }
}
Added: trunk/XQIB_Testing/src/ch/ethz/mxquery/browsertests/Timer.java
===================================================================
--- trunk/XQIB_Testing/src/ch/ethz/mxquery/browsertests/Timer.java (rev 0)
+++ trunk/XQIB_Testing/src/ch/ethz/mxquery/browsertests/Timer.java 2011-09-16 11:35:48 UTC (rev 4443)
@@ -0,0 +1,37 @@
+package ch.ethz.mxquery.browsertests;
+
+import java.util.List;
+import java.util.NoSuchElementException;
+
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.openqa.selenium.WebElement;
+
+import ch.ethz.mxquery.testsuite.XQueryTestBase;
+
+public class Timer extends XQueryTestBase {
+
+
+ @Test
+ /**
+ * test the b:timer function
+ */
+ public void timer_test01() throws Exception {
+ driver.get("http://127.0.0.1:8090/test/test.html");
+ final String script = " declare sequential function local:listener($loc, $evtObj) {\n" +
+ " b:js-eval('document.title = \"timer-test01\"')\n" +
+ " };\n" +
+ "b:timer(1000,local:listener#2)";
+ executeNewScript(script);
+ Assert.assertNotSame("timer-test01", driver.getTitle());
+ Thread.sleep(500);
+ Assert.assertNotSame("timer-test01", driver.getTitle());
+ Thread.sleep(1000);
+ Assert.assertEquals("timer-test01", driver.getTitle());
+
+ }
+
+
+
+}
Added: trunk/XQIB_Testing/src/ch/ethz/mxquery/browsertests/UrlManipulation.java
===================================================================
--- trunk/XQIB_Testing/src/ch/ethz/mxquery/browsertests/UrlManipulation.java (rev 0)
+++ trunk/XQIB_Testing/src/ch/ethz/mxquery/browsertests/UrlManipulation.java 2011-09-16 11:35:48 UTC (rev 4443)
@@ -0,0 +1,51 @@
+package ch.ethz.mxquery.browsertests;
+
+import java.util.List;
+import java.util.NoSuchElementException;
+
+import org.junit.Assert;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.openqa.selenium.WebElement;
+
+import ch.ethz.mxquery.testsuite.XQueryTestBase;
+
+public class UrlManipulation extends XQueryTestBase {
+
+
+ @Test
+ /**
+ * test the b:pageURI function
+ */
+ public void url_pageuri() throws Exception {
+ driver.get("http://127.0.0.1:8090/test/test.html");
+ String value = executeNewScript("b:pageURI()");
+ Assert.assertEquals("http://127.0.0.1:8090/test/test.html", value);
+ }
+
+ @Test
+ /**
+ * test the b:setHref function
+ */
+ public void url_setHref() throws Exception {
+ driver.get("http://127.0.0.1:8090/test/test.html");
+ String newurl = "http://127.0.0.1:8090/test/test.html#some_stuff";
+ String value = executeNewScript("b:setHref('" + newurl + "')");
+ Assert.assertEquals(newurl, driver.getCurrentUrl());
+ }
+
+ @Test
+ /**
+ * tests if the b:getLocation function returns the hash correctly
+ */
+ public void url_getLocation() throws Exception {
+ driver.get("http://127.0.0.1:8090/test/test.html");
+ String newurl = "http://127.0.0.1:8090/test/test.html#some_stuff";
+ executeNewScript("b:setHref('" + newurl + "')");
+ String value = executeNewScript("b:getLocation()/b:hash/text()");
+ Assert.assertEquals("#some_stuff", value);
+ }
+
+
+
+}
Modified: trunk/XQIB_Testing/src/ch/ethz/mxquery/testsuite/XQueryTestBase.java
===================================================================
--- trunk/XQIB_Testing/src/ch/ethz/mxquery/testsuite/XQueryTestBase.java 2011-09-15 13:44:40 UTC (rev 4442)
+++ trunk/XQIB_Testing/src/ch/ethz/mxquery/testsuite/XQueryTestBase.java 2011-09-16 11:35:48 UTC (rev 4443)
@@ -49,6 +49,10 @@
}
return new FirefoxDriver();
}
+
+ protected static String executeNewScript(String script) {
+ return (String) driver.executeScript("return xqib.executeNewScript(arguments[0])", new Object[] {script});
+ }
@AfterClass
public static void tearDown() throws Exception {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <et...@us...> - 2011-09-27 18:08:51
|
Revision: 4452
http://mxquery.svn.sourceforge.net/mxquery/?rev=4452&view=rev
Author: etterth
Date: 2011-09-27 18:08:45 +0000 (Tue, 27 Sep 2011)
Log Message:
-----------
- Changed test infrastructure to support XQUTS
Modified Paths:
--------------
trunk/MXQuery/xqib_src/ch/ethz/mxqjs/test/JsXQueryTestCase.java
trunk/MXQuery/xqib_src/ch/ethz/mxqjs/test/TestResourceManager.java
trunk/XQIB_Testing/XQUTStoJsUnit.xsl
Modified: trunk/MXQuery/xqib_src/ch/ethz/mxqjs/test/JsXQueryTestCase.java
===================================================================
--- trunk/MXQuery/xqib_src/ch/ethz/mxqjs/test/JsXQueryTestCase.java 2011-09-26 17:24:02 UTC (rev 4451)
+++ trunk/MXQuery/xqib_src/ch/ethz/mxqjs/test/JsXQueryTestCase.java 2011-09-27 18:08:45 UTC (rev 4452)
@@ -4,7 +4,6 @@
import java.util.Vector;
import com.google.gwt.xml.client.XMLParser;
-import com.google.gwt.xml.client.Document;
import ch.ethz.mxquery.contextConfig.CompilerOptions;
import ch.ethz.mxquery.contextConfig.Context;
@@ -13,10 +12,13 @@
import ch.ethz.mxquery.exceptions.MXQueryException;
import ch.ethz.mxquery.exceptions.QueryLocation;
import ch.ethz.mxquery.iterators.TokenIterator;
+import ch.ethz.mxquery.iterators.browser.NodeStoreIterator;
import ch.ethz.mxquery.model.XDMIterator;
import ch.ethz.mxquery.query.PreparedStatement;
import ch.ethz.mxquery.query.XQCompiler;
import ch.ethz.mxquery.query.impl.CompilerImpl;
+import ch.ethz.mxquery.util.Hashtable;
+import ch.ethz.mxquery.util.browser.dom.Document;
import ch.ethz.mxquery.xdmio.XDMSerializer;
import ch.ethz.mxquery.xdmio.XDMSerializerSettings;
import ch.ethz.mxquery.xdmio.xmlAdapters.NonValidatingDOMAdapter;
@@ -50,6 +52,7 @@
// }
private String query;
private String errorcode;
+ private Vector<VariableWithUri> reuseVariables;
public static JsXQueryTestCase create(String query) {
return new JsXQueryTestCase(query);
@@ -62,6 +65,7 @@
private static native void n_setup(JsXQueryTestCase o) /*-{
o.addVariable = o....@ch....JsXQueryTestCase::addVariable(Ljava/lang/String;Ljava/lang/String;);
+ o.reuseVariable = o....@ch....JsXQueryTestCase::reuseVariable(Ljava/lang/String;Ljava/lang/String;);
o.addModuleLocation = o....@ch....JsXQueryTestCase::addModuleLocation(Ljava/lang/String;Ljava/lang/String;);
o.execute = o....@ch....JsXQueryTestCase::execute();
o.getResult = o....@ch....JsXQueryTestCase::getResult();
@@ -85,6 +89,12 @@
public void addVariable(String name, String xml) {
variables.add(new VariableWithUri(name, xml, false));
}
+
+ public void reuseVariable(String name, String xml) {
+ reuseVariables.add(new VariableWithUri(name, xml, false));
+ }
+ protected Hashtable<String, Document>
+ variableCache = new Hashtable<String, Document>();
public void execute() throws Exception {
XQCompiler comp = new CompilerImpl();
@@ -101,20 +111,34 @@
stat = comp.compile(ctx, query,co,null,null);
for (VariableWithUri var:variables){
-
+ Document xmldoc = TestResourceManager.getFile(var.uri);
//variables pass the fileid in the xml field
if (var.name.equals(Context.CONTEXT_ITEM.toString())) {
- com.google.gwt.xml.client.Document xmldoc = XMLParser.parse(var.uri);
- NonValidatingDOMAdapter resource = new NonValidatingDOMAdapter((Context)stat.getContext(), QueryLocation.OUTSIDE_QUERY_LOC, xmldoc);
+
+ NodeStoreIterator resource = new NodeStoreIterator(xmldoc);
stat.setContextItem(resource);
+ variableCache.put(var.uri, xmldoc);
}
else {
- System.out.println("useslow");
- stat.addExternalResource(new QName(var.name), TestResourceManager.getFile(var.uri));
+ stat.addExternalResource(new QName(var.name), new NodeStoreIterator(xmldoc));
+ variableCache.put(var.uri, xmldoc);
+ }
+ }
+ for (VariableWithUri var:reuseVariables){
+ Document xmldoc = variableCache.get(var.uri);
+ //variables pass the fileid in the xml field
+ if (var.name.equals(Context.CONTEXT_ITEM.toString())) {
+ NodeStoreIterator resource = new NodeStoreIterator(xmldoc);
+ stat.setContextItem(resource);
}
+ else {
+
+ stat.addExternalResource(new QName(var.name), new NodeStoreIterator(xmldoc));
+ }
}
+
// // add external queries!
//
Modified: trunk/MXQuery/xqib_src/ch/ethz/mxqjs/test/TestResourceManager.java
===================================================================
--- trunk/MXQuery/xqib_src/ch/ethz/mxqjs/test/TestResourceManager.java 2011-09-26 17:24:02 UTC (rev 4451)
+++ trunk/MXQuery/xqib_src/ch/ethz/mxqjs/test/TestResourceManager.java 2011-09-27 18:08:45 UTC (rev 4452)
@@ -8,12 +8,11 @@
public class TestResourceManager {
- public static XDMIterator getFile(String uri) {
+ public static Document getFile(String uri) {
SyncXmlHttpRequestWrapper xhr = new SyncXmlHttpRequestWrapper();
xhr.setUrl(uri);
xhr.send();
- Document doc = xhr.responseAsXML();
- return new NodeStoreIterator(doc);
+ return xhr.responseAsXML();
}
}
Modified: trunk/XQIB_Testing/XQUTStoJsUnit.xsl
===================================================================
--- trunk/XQIB_Testing/XQUTStoJsUnit.xsl 2011-09-26 17:24:02 UTC (rev 4451)
+++ trunk/XQIB_Testing/XQUTStoJsUnit.xsl 2011-09-27 18:08:45 UTC (rev 4452)
@@ -167,6 +167,8 @@
String query;
XQueryTestCase testcase;
<xsl:for-each select="state">
+ <xsl:variable name="initialstate" select="empty(preceding-sibling::node()[local-name() = 'state'])"/>
+ //<xsl:value-of select="$initialstate"></xsl:value-of>
query = <xsl:call-template
name="getQuery"/>; <!-- module -->
testcase = new XQueryTestCase(driver,query); <xsl:for-each
@@ -187,8 +189,16 @@
"<xsl:call-template name="getVariable"/>", true);</xsl:when>
<xsl:otherwise>
- testcase.addVariable("<xsl:value-of select="./@variable"/>",
- "<xsl:call-template name="getVariable"/>", false);</xsl:otherwise>
+ <xsl:choose>
+
+ <xsl:when test="$initialstate">testcase.addVariable("<xsl:value-of select="./@variable"/>",
+ "<xsl:call-template name="getVariable"/>", false);</xsl:when>
+ <xsl:otherwise>
+ testcase.reuseVariable("<xsl:value-of select="./@variable"/>",
+ "<xsl:call-template name="getVariable"/>");
+ </xsl:otherwise>
+ </xsl:choose>
+ </xsl:otherwise>
</xsl:choose>
</xsl:for-each>
@@ -210,10 +220,10 @@
<xsl:otherwise>null</xsl:otherwise>
</xsl:choose>
</xsl:variable>
- do {
+ do {
+ boolean match = false;
<xsl:choose>
<xsl:when test="../@scenario = 'standard'">
- boolean match = false;
String[] expectedoutput = new String[]<xsl:call-template name="getOutput"/>;
String errorcode = testcase.getErrorCode();
if (errorcode != null){<xsl:for-each select="./expected-error">
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <et...@us...> - 2011-09-27 22:50:20
|
Revision: 4454
http://mxquery.svn.sourceforge.net/mxquery/?rev=4454&view=rev
Author: etterth
Date: 2011-09-27 22:50:13 +0000 (Tue, 27 Sep 2011)
Log Message:
-----------
- Further changes for update testsuite
Modified Paths:
--------------
trunk/MXQuery/xqib_src/ch/ethz/mxqjs/client/JsApi.java
trunk/MXQuery/xqib_src/ch/ethz/mxqjs/test/JsXQueryTestCase.java
trunk/XQIB_Testing/XQUTStoJsUnit.xsl
trunk/XQIB_Testing/src/ch/ethz/mxquery/testsuite/XQueryTestBase.java
trunk/XQIB_Testing/src/ch/ethz/mxquery/testsuite/XQueryTestCase.java
Modified: trunk/MXQuery/xqib_src/ch/ethz/mxqjs/client/JsApi.java
===================================================================
--- trunk/MXQuery/xqib_src/ch/ethz/mxqjs/client/JsApi.java 2011-09-27 19:59:42 UTC (rev 4453)
+++ trunk/MXQuery/xqib_src/ch/ethz/mxqjs/client/JsApi.java 2011-09-27 22:50:13 UTC (rev 4454)
@@ -31,6 +31,8 @@
$wnd.eval ('xqib.call = function () {return xqib.__executeWithArray(arguments);}');
$wnd.xqib.generatetest = @ch.ethz.mxqjs.test.JsXQueryTestCase::create(Ljava/lang/String;);
$wnd.xqib.executeNewScript = @ch.ethz.mxqjs.client.MXQueryJS::executeNewScript(Ljava/lang/String;);
+ $wnd.xqib.clearVariableCache = @ch.ethz.mxqjs.test.JsXQueryTestCase::clearVariableCache();
+
}-*/;
public static JsArray<JavaScriptObject> call(JsArray<JavaScriptObject> args){
Modified: trunk/MXQuery/xqib_src/ch/ethz/mxqjs/test/JsXQueryTestCase.java
===================================================================
--- trunk/MXQuery/xqib_src/ch/ethz/mxqjs/test/JsXQueryTestCase.java 2011-09-27 19:59:42 UTC (rev 4453)
+++ trunk/MXQuery/xqib_src/ch/ethz/mxqjs/test/JsXQueryTestCase.java 2011-09-27 22:50:13 UTC (rev 4454)
@@ -24,6 +24,9 @@
import ch.ethz.mxquery.xdmio.xmlAdapters.NonValidatingDOMAdapter;
public class JsXQueryTestCase {
+ public static void clearVariableCache() {
+ variableCache = new Hashtable<String, Document>();
+ }
class VariableWithUri {
@@ -62,7 +65,6 @@
this.query = query;
n_setup(this);
}
-
private static native void n_setup(JsXQueryTestCase o) /*-{
o.addVariable = o....@ch....JsXQueryTestCase::addVariable(Ljava/lang/String;Ljava/lang/String;);
o.reuseVariable = o....@ch....JsXQueryTestCase::reuseVariable(Ljava/lang/String;Ljava/lang/String;);
@@ -93,7 +95,7 @@
public void reuseVariable(String name, String xml) {
reuseVariables.add(new VariableWithUri(name, xml, false));
}
- protected Hashtable<String, Document>
+ protected static Hashtable<String, Document>
variableCache = new Hashtable<String, Document>();
public void execute() throws Exception {
@@ -104,6 +106,7 @@
try {
co.setSchemaAwareness(true);
+ co.setUpdate(true);
for (NamespaceToUri module: moduleLocations) {
ctx.addModuleLocation(module.namespace, module.uri);
Modified: trunk/XQIB_Testing/XQUTStoJsUnit.xsl
===================================================================
--- trunk/XQIB_Testing/XQUTStoJsUnit.xsl 2011-09-27 19:59:42 UTC (rev 4453)
+++ trunk/XQIB_Testing/XQUTStoJsUnit.xsl 2011-09-27 22:50:13 UTC (rev 4454)
@@ -118,7 +118,7 @@
</xsl:template>
- <xsl:template name="getOutput"> {<xsl:variable name="filepath" select="../@FilePath"/>
+ <xsl:template name="getOutput"> {<xsl:variable name="filepath" select="parent::test-case/@FilePath"/>
<xsl:for-each select="./output-file"><xsl:call-template name="getFileContentsAsString">
<xsl:with-param name="filepath">
<xsl:value-of
@@ -163,7 +163,8 @@
/></xsl:call-template></xsl:variable>
@Test
public void test_<xsl:value-of
- select="$casename"/>() throws Exception{
+ select="$casename"/>() throws Exception{
+ clearVariableCache();
String query;
XQueryTestCase testcase;
<xsl:for-each select="state">
@@ -223,7 +224,8 @@
do {
boolean match = false;
<xsl:choose>
- <xsl:when test="../@scenario = 'standard'">
+ <xsl:when test="../@scenario = 'standard' and output-file">
+
String[] expectedoutput = new String[]<xsl:call-template name="getOutput"/>;
String errorcode = testcase.getErrorCode();
if (errorcode != null){<xsl:for-each select="./expected-error">
@@ -237,7 +239,7 @@
}
testcase.assertXMLEqual(<xsl:value-of select="$CompareType"/>, expectedoutput);
</xsl:when>
- <xsl:when test="../@scenario=('runtime-error', 'parse-error')">
+ <xsl:when test="../@scenario=('runtime-error', 'parse-error') and expected-error">
String errorcode = testcase.getErrorCode();
String[] errorcodes = {
<xsl:for-each select="./expected-error">
Modified: trunk/XQIB_Testing/src/ch/ethz/mxquery/testsuite/XQueryTestBase.java
===================================================================
--- trunk/XQIB_Testing/src/ch/ethz/mxquery/testsuite/XQueryTestBase.java 2011-09-27 19:59:42 UTC (rev 4453)
+++ trunk/XQIB_Testing/src/ch/ethz/mxquery/testsuite/XQueryTestBase.java 2011-09-27 22:50:13 UTC (rev 4454)
@@ -59,5 +59,9 @@
public static void tearDown() throws Exception {
driver.close();
}
+
+ public static void clearVariableCache() {
+ driver.executeScript("xqib.clearVariableCache();",new Object[0]);
+ }
}
Modified: trunk/XQIB_Testing/src/ch/ethz/mxquery/testsuite/XQueryTestCase.java
===================================================================
--- trunk/XQIB_Testing/src/ch/ethz/mxquery/testsuite/XQueryTestCase.java 2011-09-27 19:59:42 UTC (rev 4453)
+++ trunk/XQIB_Testing/src/ch/ethz/mxquery/testsuite/XQueryTestCase.java 2011-09-27 22:50:13 UTC (rev 4454)
@@ -24,6 +24,7 @@
String namespace;
String uri;
}
+ protected Vector<VariableWithUri> reuseVariables = new Vector<VariableWithUri>();
protected Vector<VariableWithUri> variables = new Vector<XQueryTestCase.VariableWithUri>();
protected Vector<NamespaceToUri> schemas = new Vector<XQueryTestCase.NamespaceToUri>();
protected Vector<NamespaceToUri> inputURIs = new Vector<XQueryTestCase.NamespaceToUri>();
@@ -59,9 +60,11 @@
crap = driver.executeScript("return arguments[0]", new Object[] {query});
crap = driver.executeScript("return window.testcase.toString()", new Object[] {});
for (VariableWithUri var :variables) {
- driver.executeScript("window.testcase.addVariable(arguments[0],arguments[1])", new Object[] {var.name,var.uri});
-
+ driver.executeScript("window.testcase.addVariable(arguments[0],arguments[1])", new Object[] {var.name,var.uri});
}
+ for (VariableWithUri var :reuseVariables) {
+ driver.executeScript("window.testcase.reuseVariable(arguments[0],arguments[1])", new Object[] {var.name,var.uri});
+ }
for (NamespaceToUri module: moduleLocations) {
driver.executeScript("window.testcase.addModuleLocation(arguments[0],arguments[1])", new Object[] {module.namespace,module.uri});
@@ -111,4 +114,10 @@
}
+
+ public void reuseVariable(String name, String uri) {
+ reuseVariables.add(new VariableWithUri(name, uri, false));
+
+ }
+
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <et...@us...> - 2011-09-27 23:46:00
|
Revision: 4455
http://mxquery.svn.sourceforge.net/mxquery/?rev=4455&view=rev
Author: etterth
Date: 2011-09-27 23:45:29 +0000 (Tue, 27 Sep 2011)
Log Message:
-----------
- Updates are now applied in JsXQueryTestCase
- added the XQUTS (XQuery Update TestSuite)
- update tests can be run in eclipse
Modified Paths:
--------------
trunk/MXQuery/xqib_src/ch/ethz/mxqjs/test/JsXQueryTestCase.java
trunk/XQIB_Testing/XQTStoJsUnit.xsl
Added Paths:
-----------
trunk/XQIB_Testing/xquts/
trunk/XQIB_Testing/xquts/ExpectedTestResults/
trunk/XQIB_Testing/xquts/ExpectedTestResults/CommaExpression/
trunk/XQIB_Testing/xquts/ExpectedTestResults/CommaExpression/id-comma-expr-01.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/CommaExpression/id-comma-expr-010.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/CommaExpression/id-comma-expr-011.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/CommaExpression/id-comma-expr-012.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/CommaExpression/id-comma-expr-015.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/CommaExpression/id-comma-expr-016.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/CommaExpression/id-comma-expr-017.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/CommaExpression/id-comma-expr-018.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/CommaExpression/id-comma-expr-019.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/CommaExpression/id-comma-expr-02.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/CommaExpression/id-comma-expr-022.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/CommaExpression/id-comma-expr-023.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/CommaExpression/id-comma-expr-024.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/CommaExpression/id-comma-expr-025.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/CommaExpression/id-comma-expr-026.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/CommaExpression/id-comma-expr-029.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/CommaExpression/id-comma-expr-03.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/CommaExpression/id-comma-expr-030.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/CommaExpression/id-comma-expr-031.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/CommaExpression/id-comma-expr-032.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/CommaExpression/id-comma-expr-033.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/CommaExpression/id-comma-expr-034.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/CommaExpression/id-comma-expr-035.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/CommaExpression/id-comma-expr-036.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/CommaExpression/id-comma-expr-037.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/CommaExpression/id-comma-expr-04.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/CommaExpression/id-comma-expr-05.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/CommaExpression/id-comma-expr-08.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/CommaExpression/id-comma-expr-09.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/CommaExpression/id-comma-expr-35.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/Compatibility/
trunk/XQIB_Testing/xquts/ExpectedTestResults/Compatibility/compatibility-027.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/Compatibility/compatibility-028.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/Compatibility/compatibility-029.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/Compatibility/compatibility-030.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ConditionalExpression/
trunk/XQIB_Testing/xquts/ExpectedTestResults/ConditionalExpression/id-conditional-expr-01.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ConditionalExpression/id-conditional-expr-010.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ConditionalExpression/id-conditional-expr-013.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ConditionalExpression/id-conditional-expr-014.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ConditionalExpression/id-conditional-expr-015.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ConditionalExpression/id-conditional-expr-016.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ConditionalExpression/id-conditional-expr-019.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ConditionalExpression/id-conditional-expr-02.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ConditionalExpression/id-conditional-expr-020.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ConditionalExpression/id-conditional-expr-021.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ConditionalExpression/id-conditional-expr-022.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ConditionalExpression/id-conditional-expr-025.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ConditionalExpression/id-conditional-expr-026.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ConditionalExpression/id-conditional-expr-027.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ConditionalExpression/id-conditional-expr-028.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ConditionalExpression/id-conditional-expr-029.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ConditionalExpression/id-conditional-expr-03.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ConditionalExpression/id-conditional-expr-030.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ConditionalExpression/id-conditional-expr-031.txt
trunk/XQIB_Testing/xquts/ExpectedTestResults/ConditionalExpression/id-conditional-expr-033.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ConditionalExpression/id-conditional-expr-035.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ConditionalExpression/id-conditional-expr-036.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ConditionalExpression/id-conditional-expr-037.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ConditionalExpression/id-conditional-expr-04.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ConditionalExpression/id-conditional-expr-07.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ConditionalExpression/id-conditional-expr-08.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ConditionalExpression/id-conditional-expr-09.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/DeleteExpressions/
trunk/XQIB_Testing/xquts/ExpectedTestResults/DeleteExpressions/complex-deletes-q1-2.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/DeleteExpressions/complex-deletes-q1.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/DeleteExpressions/complex-deletes-q10-2.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/DeleteExpressions/complex-deletes-q10.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/DeleteExpressions/complex-deletes-q11-2.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/DeleteExpressions/complex-deletes-q11.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/DeleteExpressions/complex-deletes-q12-2.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/DeleteExpressions/complex-deletes-q12.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/DeleteExpressions/complex-deletes-q13-2.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/DeleteExpressions/complex-deletes-q13.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/DeleteExpressions/complex-deletes-q14-2.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/DeleteExpressions/complex-deletes-q14.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/DeleteExpressions/complex-deletes-q2-2.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/DeleteExpressions/complex-deletes-q2.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/DeleteExpressions/complex-deletes-q3-2.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/DeleteExpressions/complex-deletes-q3.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/DeleteExpressions/complex-deletes-q4-2.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/DeleteExpressions/complex-deletes-q4.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/DeleteExpressions/complex-deletes-q5-2.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/DeleteExpressions/complex-deletes-q5.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/DeleteExpressions/complex-deletes-q6-2.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/DeleteExpressions/complex-deletes-q6.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/DeleteExpressions/complex-deletes-q7-2.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/DeleteExpressions/complex-deletes-q7.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/DeleteExpressions/complex-deletes-q8-2.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/DeleteExpressions/complex-deletes-q8.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/DeleteExpressions/complex-deletes-q9-2.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/DeleteExpressions/complex-deletes-q9.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/DeleteExpressions/id-delete-expr-01.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/DeleteExpressions/id-delete-expr-010.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/DeleteExpressions/id-delete-expr-012-1.txt
trunk/XQIB_Testing/xquts/ExpectedTestResults/DeleteExpressions/id-delete-expr-012.txt
trunk/XQIB_Testing/xquts/ExpectedTestResults/DeleteExpressions/id-delete-expr-013.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/DeleteExpressions/id-delete-expr-014.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/DeleteExpressions/id-delete-expr-015.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/DeleteExpressions/id-delete-expr-016.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/DeleteExpressions/id-delete-expr-017.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/DeleteExpressions/id-delete-expr-018.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/DeleteExpressions/id-delete-expr-019.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/DeleteExpressions/id-delete-expr-02.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/DeleteExpressions/id-delete-expr-020.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/DeleteExpressions/id-delete-expr-021.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/DeleteExpressions/id-delete-expr-022.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/DeleteExpressions/id-delete-expr-03.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/DeleteExpressions/id-delete-expr-04.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/DeleteExpressions/id-delete-expr-05.txt
trunk/XQIB_Testing/xquts/ExpectedTestResults/DeleteExpressions/id-delete-expr-08.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/DeleteExpressions/id-delete-expr-09.txt
trunk/XQIB_Testing/xquts/ExpectedTestResults/FLWORExpression/
trunk/XQIB_Testing/xquts/ExpectedTestResults/FLWORExpression/id-flwor-expr-01-test.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/FLWORExpression/id-flwor-expr-010-test.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/FLWORExpression/id-flwor-expr-011-test.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/FLWORExpression/id-flwor-expr-012-test.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/FLWORExpression/id-flwor-expr-013-test.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/FLWORExpression/id-flwor-expr-014-test.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/FLWORExpression/id-flwor-expr-015-test.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/FLWORExpression/id-flwor-expr-016-test.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/FLWORExpression/id-flwor-expr-017.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/FLWORExpression/id-flwor-expr-018.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/FLWORExpression/id-flwor-expr-019.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/FLWORExpression/id-flwor-expr-02-test.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/FLWORExpression/id-flwor-expr-020.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/FLWORExpression/id-flwor-expr-021.txt
trunk/XQIB_Testing/xquts/ExpectedTestResults/FLWORExpression/id-flwor-expr-022.txt
trunk/XQIB_Testing/xquts/ExpectedTestResults/FLWORExpression/id-flwor-expr-023.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/FLWORExpression/id-flwor-expr-025.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/FLWORExpression/id-flwor-expr-03-test.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/FLWORExpression/id-flwor-expr-04-test.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/FLWORExpression/id-flwor-expr-05-test.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/FLWORExpression/id-flwor-expr-06-test.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/FLWORExpression/id-flwor-expr-07-test.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/FLWORExpression/id-flwor-expr-08-test.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/FLWORExpression/id-flwor-expr-09-test.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/FunctionCall/
trunk/XQIB_Testing/xquts/ExpectedTestResults/FunctionCall/id-function-call-05.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/FunctionDeclaration/
trunk/XQIB_Testing/xquts/ExpectedTestResults/FunctionDeclaration/id-function-declaration-01.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/FunctionDeclaration/id-function-declaration-010.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/FunctionDeclaration/id-function-declaration-012.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/FunctionDeclaration/id-function-declaration-013.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/FunctionDeclaration/id-function-declaration-017.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/FunctionDeclaration/id-function-declaration-03.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/FunctionDeclaration/id-function-declaration-04.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/FunctionDeclaration/id-function-declaration-06.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/FunctionDeclaration/id-function-declaration-08.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-01.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-010.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-011.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-012.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-013.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-014.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-015.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-016.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-017.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-018.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-019.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-02.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-020.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-021.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-022.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-03.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-030.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-031.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-032.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-033.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-034.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-035.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-036.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-037.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-038.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-039.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-04.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-040-alt.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-040.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-041-alt.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-041.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-042.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-043.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-044.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-047.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-048.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-049-alt.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-049.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-05.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-050-alt.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-050.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-051.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-052a.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-052b.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-052c.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-052d.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-052e.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-052f.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-053.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-06.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-07.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-077.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-078.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-079.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-08.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-080.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-081-no-inherit.txt
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-081a.txt
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-081b.txt
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-082-no-inherit.txt
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-082a.txt
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-082b.txt
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-083-no-inherit.txt
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-083a.txt
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-083b.txt
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-084-no-inherit.txt
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-084a.txt
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-084b.txt
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-085-no-inherit.txt
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-085a.txt
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-085b.txt
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-086-no-inherit.txt
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-086a.txt
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-086b.txt
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-09.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-093.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/InsertExpressions/id-insert-expr-094.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/Other/
trunk/XQIB_Testing/xquts/ExpectedTestResults/Other/update10keywords.txt
trunk/XQIB_Testing/xquts/ExpectedTestResults/OtherExpressions/
trunk/XQIB_Testing/xquts/ExpectedTestResults/OtherExpressions/id-other-expr-013.txt
trunk/XQIB_Testing/xquts/ExpectedTestResults/OtherExpressions/id-other-expr-017.txt
trunk/XQIB_Testing/xquts/ExpectedTestResults/OtherExpressions/id-other-expr-018.txt
trunk/XQIB_Testing/xquts/ExpectedTestResults/OtherExpressions/id-other-expr-029-2.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/OtherExpressions/id-other-expr-029.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/OtherExpressions/id-other-expr-030.txt
trunk/XQIB_Testing/xquts/ExpectedTestResults/OtherExpressions/id-other-expr-031.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/OtherExpressions/id-other-expr-05.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ParenthesizedExpressions/
trunk/XQIB_Testing/xquts/ExpectedTestResults/ParenthesizedExpressions/parenthesized-expr-01.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ParenthesizedExpressions/parenthesized-expr-03.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/Prolog/
trunk/XQIB_Testing/xquts/ExpectedTestResults/Prolog/FunctionDeclaration/
trunk/XQIB_Testing/xquts/ExpectedTestResults/Prolog/FunctionDeclaration/function-declaration-04.txt
trunk/XQIB_Testing/xquts/ExpectedTestResults/Prolog/RevalidationDeclaration/
trunk/XQIB_Testing/xquts/ExpectedTestResults/Prolog/RevalidationDeclaration/revalidation-declaration-01.txt
trunk/XQIB_Testing/xquts/ExpectedTestResults/Prolog/RevalidationDeclaration/revalidation-declaration-03.txt
trunk/XQIB_Testing/xquts/ExpectedTestResults/Prolog/RevalidationDeclaration/revalidation-declaration-05.txt
trunk/XQIB_Testing/xquts/ExpectedTestResults/Put/
trunk/XQIB_Testing/xquts/ExpectedTestResults/Put/fn-put-001.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/Put/fn-put-002.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/Put/fn-put-009a.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/Put/fn-put-009b.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/Put/fn-put-010a.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/Put/fn-put-010b.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/Put/fn-put-013a.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/Put/fn-put-013b.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/Put/put-001.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/RenameExpressions/
trunk/XQIB_Testing/xquts/ExpectedTestResults/RenameExpressions/complex-renames-q1-2.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/RenameExpressions/complex-renames-q1.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/RenameExpressions/complex-renames-q2-2.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/RenameExpressions/complex-renames-q2.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/RenameExpressions/complex-renames-q3-2.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/RenameExpressions/complex-renames-q3.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/RenameExpressions/complex-renames-q4-2.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/RenameExpressions/complex-renames-q4.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/RenameExpressions/complex-renames-q5-2.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/RenameExpressions/complex-renames-q5.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/RenameExpressions/complex-renames-q6-2.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/RenameExpressions/complex-renames-q6.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/RenameExpressions/complex-renames-q7-2.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/RenameExpressions/complex-renames-q7.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/RenameExpressions/complex-renames-q8-2.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/RenameExpressions/complex-renames-q8.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/RenameExpressions/id-rename-expr-01.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/RenameExpressions/id-rename-expr-011.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/RenameExpressions/id-rename-expr-014.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/RenameExpressions/id-rename-expr-016.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/RenameExpressions/id-rename-expr-017.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/RenameExpressions/id-rename-expr-018.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/RenameExpressions/id-rename-expr-02.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/RenameExpressions/id-rename-expr-029.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/RenameExpressions/id-rename-expr-03.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/RenameExpressions/id-rename-expr-030.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/RenameExpressions/id-rename-expr-031.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/RenameExpressions/id-rename-expr-032.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/RenameExpressions/id-rename-expr-033-no-inherit.txt
trunk/XQIB_Testing/xquts/ExpectedTestResults/RenameExpressions/id-rename-expr-033a.txt
trunk/XQIB_Testing/xquts/ExpectedTestResults/RenameExpressions/id-rename-expr-033b.txt
trunk/XQIB_Testing/xquts/ExpectedTestResults/RenameExpressions/id-rename-expr-034-no-inherit.txt
trunk/XQIB_Testing/xquts/ExpectedTestResults/RenameExpressions/id-rename-expr-034a.txt
trunk/XQIB_Testing/xquts/ExpectedTestResults/RenameExpressions/id-rename-expr-034b.txt
trunk/XQIB_Testing/xquts/ExpectedTestResults/RenameExpressions/id-rename-expr-035.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/RenameExpressions/id-rename-expr-036.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/RenameExpressions/id-rename-expr-037.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/RenameExpressions/id-rename-expr-04.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/RenameExpressions/id-rename-expr-05.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ReplaceExpressions/
trunk/XQIB_Testing/xquts/ExpectedTestResults/ReplaceExpressions/complex-replacevalues-q1-2.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ReplaceExpressions/complex-replacevalues-q1.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ReplaceExpressions/complex-replacevalues-q10-2.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ReplaceExpressions/complex-replacevalues-q10.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ReplaceExpressions/complex-replacevalues-q11-2.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ReplaceExpressions/complex-replacevalues-q11.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ReplaceExpressions/complex-replacevalues-q12-2.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ReplaceExpressions/complex-replacevalues-q12.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ReplaceExpressions/complex-replacevalues-q13-2.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ReplaceExpressions/complex-replacevalues-q13.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ReplaceExpressions/complex-replacevalues-q14-2.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ReplaceExpressions/complex-replacevalues-q14.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ReplaceExpressions/complex-replacevalues-q2-2.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ReplaceExpressions/complex-replacevalues-q2.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ReplaceExpressions/complex-replacevalues-q3-2.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ReplaceExpressions/complex-replacevalues-q3.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ReplaceExpressions/complex-replacevalues-q4-2.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ReplaceExpressions/complex-replacevalues-q4.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ReplaceExpressions/complex-replacevalues-q5-2.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ReplaceExpressions/complex-replacevalues-q5.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ReplaceExpressions/complex-replacevalues-q6-2.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ReplaceExpressions/complex-replacevalues-q6.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ReplaceExpressions/complex-replacevalues-q7-2.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ReplaceExpressions/complex-replacevalues-q7.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ReplaceExpressions/complex-replacevalues-q8-2.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ReplaceExpressions/complex-replacevalues-q8.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ReplaceExpressions/complex-replacevalues-q9-2.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ReplaceExpressions/complex-replacevalues-q9.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ReplaceExpressions/id-replace-expr-01.xml
trunk/XQIB_Testing/xquts/ExpectedTestResults/ReplaceExpressions/id-replace-expr-010.xml
trunk/...
[truncated message content] |
|
From: <et...@us...> - 2011-10-03 23:40:07
|
Revision: 4468
http://mxquery.svn.sourceforge.net/mxquery/?rev=4468&view=rev
Author: etterth
Date: 2011-10-03 23:39:55 +0000 (Mon, 03 Oct 2011)
Log Message:
-----------
- Updated all tests to use new test.url format
Modified Paths:
--------------
trunk/MXQuery/xqib_samples/MultiplicationTable.html
trunk/XQIB_Testing/XQTStoJsUnit.xsl
trunk/XQIB_Testing/XQUTStoJsUnit.xsl
trunk/XQIB_Testing/src/ch/ethz/mxquery/browsertests/AsyncWeatherForecast.java
trunk/XQIB_Testing/src/ch/ethz/mxquery/browsertests/Classes.java
trunk/XQIB_Testing/src/ch/ethz/mxquery/browsertests/Cookies.java
trunk/XQIB_Testing/src/ch/ethz/mxquery/browsertests/EventListeners.java
trunk/XQIB_Testing/src/ch/ethz/mxquery/browsertests/JsApi.java
trunk/XQIB_Testing/src/ch/ethz/mxquery/browsertests/MultiplicationTable.java
trunk/XQIB_Testing/src/ch/ethz/mxquery/browsertests/Style.java
trunk/XQIB_Testing/src/ch/ethz/mxquery/browsertests/Timer.java
trunk/XQIB_Testing/src/ch/ethz/mxquery/browsertests/UrlManipulation.java
trunk/XQIB_Testing/src/ch/ethz/mxquery/browsertests/WeatherForecast.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/Appendices/Annex_Eclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/Appendices/Appendix_A4class.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/Catalogclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Basics/StaticContextclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Basics/Types/SequenceTypeSyntaxclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/CondExprclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/ComputeCon/ComputeConAttrclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/ComputeCon/ComputeConCommentclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/ComputeCon/ComputeConElemclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/ComputeCon/ComputeConPIclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/ComputeCon/ConDocNodeclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/ComputeCon/ConTextclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/ConInScopeNamespaceclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/DirectConElem/DirectConElemAttrclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/DirectConElem/DirectConElemContentclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/DirectConElem/DirectConElemNamespaceclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/DirectConElem/DirectConElemWhitespaceclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/DirectConElemclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Construct/DirectConOtherclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/ExtensionExpressionclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/FLWOR/ForExpr/ForExprPositionalVarclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/FLWOR/ForExpr/ForExprWithclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/FLWOR/ForExpr/ForExprWithoutclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/FLWOR/LetExpr/LetExprWithclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/FLWOR/LetExpr/LetExprWithoutclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/FLWOR/OrderbyExpr/OrderbyExprWithclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/FLWOR/OrderbyExpr/OrderbyExprWithoutclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/FLWOR/ReturnExprclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/FLWOR/WhereExprclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/LogicExprclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationArith/DayTimeDurationAddclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationArith/DayTimeDurationDivideDTDclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationArith/DayTimeDurationDivideclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationArith/DayTimeDurationMultiplyclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationArith/DayTimeDurationSubtractclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationArith/YearMonthDurationAddclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationArith/YearMonthDurationDivideYMDclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationArith/YearMonthDurationDivideclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationArith/YearMonthDurationMultiplyclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationArith/YearMonthDurationSubtractclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationDateTimeArith/DateAddDTDclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationDateTimeArith/DateAddYMDclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationDateTimeArith/DateSubtractDTDclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationDateTimeArith/DateSubtractYMDclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationDateTimeArith/DateTimeAddDTDclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationDateTimeArith/DateTimeSubtractDTDclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationDateTimeArith/DateTimeSubtractYMDclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationDateTimeArith/DatesSubtractclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationDateTimeArith/TimeAddDTDclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationDateTimeArith/TimeSubtractDTDclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationDateTimeArith/TimeSubtractclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationDateTimeArith/YearMonthDurationAddDTclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/DurationDateTimeArith/dateTimesSubtractclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/NumericOpr/NumericAddclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/NumericOpr/NumericDivideclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/NumericOpr/NumericIntegerDivideclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/NumericOpr/NumericModclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/NumericOpr/NumericMultiplyclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/NumericOpr/NumericSubtractclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/NumericOpr/NumericUnaryMinusclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/ArithExpr/NumericOpr/NumericUnaryPlusclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/GenComprsn/GenCompEqclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/GenComprsn/GenCompGTEQclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/GenComprsn/GenCompGTclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/GenComprsn/GenCompLTEQclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/GenComprsn/GenCompLTclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/GenComprsn/GenCompNEclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/NodeComp/NodeAfterclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/NodeComp/NodeBeforeclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/NodeComp/NodeSameclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/AnyURIComp/AnyURIEqualclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/BinaryOp/Base64BinaryEQclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/BinaryOp/HexBinaryEQclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/BooleanOp/BooleanEqualclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/BooleanOp/BooleanGTclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/BooleanOp/BooleanLTclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/DateEQclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/DateGTclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/DateLTclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/DateTimeEQclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/DateTimeGTclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/DateTimeLTclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/DayTimeDurationEQclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/DayTimeDurationGTclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/DayTimeDurationLTclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/DurationEQclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/TimeEQclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/TimeGTclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/TimeLTclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/YearMonthDurationEQclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/YearMonthDurationGTclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/YearMonthDurationLTclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/gDayEQclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/gMonthDayEQclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/gMonthEQclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/gYearEQclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/DurationDateTimeOp/gYearMonthEQclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/NumericComp/NumericEqualclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/NumericComp/NumericGTclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/NumericComp/NumericLTclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/QNameOp/PrefixFromQNameclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/QNameOp/QNameEQclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/StringComp/StringEqualclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/StringComp/StringGTclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/StringComp/StringLTclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/CompExpr/ValComp/ValCompTypeCheckingclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/SeqOp/SeqExceptclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/SeqOp/SeqIntersectclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/Operators/SeqOp/SeqUnionclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/OrderExprclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PathExpr/AbbrAxesclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PathExpr/PathExpressionsclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PathExpr/Predicatesclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PathExpr/Steps/Axesclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PathExpr/Steps/NodeTestSection/NameTestclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PathExpr/Steps/NodeTestSection/NodeTestclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PathExpr/UnabbrAxesclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PrimaryExpr/ContextExpr/ExternalContextExprclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PrimaryExpr/ContextExpr/InternalContextExprclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PrimaryExpr/FunctionCallExprclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PrimaryExpr/Literalsclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PrimaryExpr/ParenExprclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PrologExpr/BaseURIPrologclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PrologExpr/BoundarySpacePrologclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PrologExpr/CollationPrologclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PrologExpr/ConstructionPrologclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PrologExpr/CopyNamespacesPrologclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PrologExpr/DefaultNamespacePrologclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PrologExpr/DefaultOrderingPrologclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PrologExpr/EmptyOrderPrologclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PrologExpr/FunctionPrologclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PrologExpr/NamespacePrologclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PrologExpr/OptionDeclarationPrologclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PrologExpr/VariableProlog/ExternalVariablesWithclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PrologExpr/VariableProlog/ExternalVariablesWithoutclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PrologExpr/VariableProlog/InternalVariablesWithclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PrologExpr/VariableProlog/InternalVariablesWithoutclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/PrologExpr/VersionPrologclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/QuantExpr/QuantExprWithclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/QuantExpr/QuantExprWithoutclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/SeqExpr/CombNodeSeqclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/SeqExpr/ConstructSeq/RangeExprclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/SeqExpr/ConstructSeq/commaOpclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/SeqExpr/FilterExprclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/XQueryCommentclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/seqExprTypes/SeqExprCastToDerivedParentsclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/seqExprTypes/SeqExprCastToDerivedclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/seqExprTypes/SeqExprCastWithinBranchclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/seqExprTypes/SeqExprCastableclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/seqExprTypes/SeqExprCastclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/seqExprTypes/SeqExprInstanceOfclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/seqExprTypes/SeqExprTreatclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Expressions/seqExprTypes/sequenceExprTypeswitchclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AccessorFunc/BaseURIFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AccessorFunc/DataFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AccessorFunc/DocumentURIFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AccessorFunc/NilledFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AccessorFunc/NodeNameFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AccessorFunc/StaticBaseURIFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AccessorFunc/StringFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/AssDisassStringFunc/CodepointToStringFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/AssDisassStringFunc/StringToCodepointFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/CompStringFunc/CodepointEqualclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/CompStringFunc/compareFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/GeneralStringFunc/ConcatFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/GeneralStringFunc/EncodeURIfuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/GeneralStringFunc/EscapeHTMLURIFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/GeneralStringFunc/IRIToURIfuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/GeneralStringFunc/LowerCaseFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/GeneralStringFunc/NormalizeSpaceFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/GeneralStringFunc/NormalizeUnicodeFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/GeneralStringFunc/StringJoinFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/GeneralStringFunc/StringLengthFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/GeneralStringFunc/SubstringFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/GeneralStringFunc/Surrogatesclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/GeneralStringFunc/TranslateFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/GeneralStringFunc/UpperCaseFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/MatchStringFunc/MatchesFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/MatchStringFunc/ReplaceFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/MatchStringFunc/TokenizeFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/SubstringStringFunc/ContainsFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/SubstringStringFunc/EndsWithFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/SubstringStringFunc/StartsWithFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/SubstringStringFunc/SubstringAfterFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/AllStringFunc/SubstringStringFunc/SubstringBeforeFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/BooleanFunc/FalseFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/BooleanFunc/NotFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/BooleanFunc/TrueFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/ConstructFunc/DateTimeFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/ContextFunc/ContextCurrentDateFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/ContextFunc/ContextCurrentDatetimeFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/ContextFunc/ContextCurrentTimeFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/ContextFunc/ContextDefaultCollationFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/ContextFunc/ContextImplicitTimezoneFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/ContextFunc/ContextLastFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/ContextFunc/ContextPositionFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/DurationDateTimeFunc/ComponentExtractionDDT/DayFromDateFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/DurationDateTimeFunc/ComponentExtractionDDT/DayFromDateTimeFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/DurationDateTimeFunc/ComponentExtractionDDT/DaysFromDurationFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/DurationDateTimeFunc/ComponentExtractionDDT/HoursFromDateTimeFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/DurationDateTimeFunc/ComponentExtractionDDT/HoursFromDurationFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/DurationDateTimeFunc/ComponentExtractionDDT/HoursFromTimeFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/DurationDateTimeFunc/ComponentExtractionDDT/MinutesFromDateTimeFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/DurationDateTimeFunc/ComponentExtractionDDT/MinutesFromDurationFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/DurationDateTimeFunc/ComponentExtractionDDT/MinutesFromTimeFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/DurationDateTimeFunc/ComponentExtractionDDT/MonthFromDateFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/DurationDateTimeFunc/ComponentExtractionDDT/MonthFromDateTimeFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/DurationDateTimeFunc/ComponentExtractionDDT/MonthsFromDurationFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/DurationDateTimeFunc/ComponentExtractionDDT/SecondsFromDateTimeFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/DurationDateTimeFunc/ComponentExtractionDDT/SecondsFromDurationFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/DurationDateTimeFunc/ComponentExtractionDDT/SecondsFromTimeFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/DurationDateTimeFunc/ComponentExtractionDDT/TimezoneFromDateFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/DurationDateTimeFunc/ComponentExtractionDDT/TimezoneFromDateTimeFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/DurationDateTimeFunc/ComponentExtractionDDT/TimezoneFromTimeFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/DurationDateTimeFunc/ComponentExtractionDDT/YearFromDateFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/DurationDateTimeFunc/ComponentExtractionDDT/YearFromDateTimeFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/DurationDateTimeFunc/ComponentExtractionDDT/YearsFromDurationFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/DurationDateTimeFunc/TimezoneFunction/AdjDateTimeToTimezoneFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/DurationDateTimeFunc/TimezoneFunction/AdjDateToTimezoneFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/DurationDateTimeFunc/TimezoneFunction/AdjTimeToTimezoneFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/ErrorFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/NodeFunc/NameFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/NodeFunc/NodeLangFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/NodeFunc/NodeLocalNameFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/NodeFunc/NodeNamespaceURIFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/NodeFunc/NodeNumberFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/NodeFunc/NodeRootFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/NumericFunc/ABSFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/NumericFunc/CeilingFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/NumericFunc/FloorFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/NumericFunc/RoundEvenFuncclass.java
trunk/XQIB_Testing/test/ch/ethz/mxquery/MinimalConformance/Functions/NumericFunc/RoundFunccl...
[truncated message content] |
|
From: <et...@us...> - 2011-10-19 23:51:58
|
Revision: 4493
http://mxquery.svn.sourceforge.net/mxquery/?rev=4493&view=rev
Author: etterth
Date: 2011-10-19 23:51:52 +0000 (Wed, 19 Oct 2011)
Log Message:
-----------
- added the functions b:preventDefault() and b:stopPropagation()
- added overloads for capturing in b:addEventListener()
- added a test for capturing and b:stopPropagation
Modified Paths:
--------------
trunk/MXQuery/xqib_src/ch/ethz/mxqjs/client/Environment.java
trunk/MXQuery/xqib_src/ch/ethz/mxquery/functions/FG.xml
trunk/MXQuery/xqib_src/ch/ethz/mxquery/functions/FGPopulator.java
trunk/XQIB_Testing/src/ch/ethz/mxquery/browsertests/EventListeners.java
Added Paths:
-----------
trunk/MXQuery/xqib_src/ch/ethz/mxquery/functions/b/PreventDefault.java
trunk/MXQuery/xqib_src/ch/ethz/mxquery/functions/b/StopPropagation.java
Modified: trunk/MXQuery/xqib_src/ch/ethz/mxqjs/client/Environment.java
===================================================================
--- trunk/MXQuery/xqib_src/ch/ethz/mxqjs/client/Environment.java 2011-10-19 12:37:25 UTC (rev 4492)
+++ trunk/MXQuery/xqib_src/ch/ethz/mxqjs/client/Environment.java 2011-10-19 23:51:52 UTC (rev 4493)
@@ -126,7 +126,7 @@
JavaScriptObject handler = createHandler(fi);
- nativeAddEventListener(el, eventName, handler, false);
+ nativeAddEventListener(el, eventName, handler, captures);
lst.add(new FunctionItemAndHandler(fi, handler,captures));
}
@@ -314,9 +314,6 @@
e.printStackTrace();
}
// }
- // TODO decide this dynamically
- event.stopPropagation();
- event.preventDefault();
}
/**
* the callback called by any listened window event
@@ -566,6 +563,14 @@
return false;
}
+ public static void stopPropagation() {
+ current_event.stopPropagation();
+ }
+
+ public static void preventDefault() {
+ current_event.preventDefault();
+ }
+
}
class NodeAndEventName {
Modified: trunk/MXQuery/xqib_src/ch/ethz/mxquery/functions/FG.xml
===================================================================
--- trunk/MXQuery/xqib_src/ch/ethz/mxquery/functions/FG.xml 2011-10-19 12:37:25 UTC (rev 4492)
+++ trunk/MXQuery/xqib_src/ch/ethz/mxquery/functions/FG.xml 2011-10-19 23:51:52 UTC (rev 4493)
@@ -237,10 +237,12 @@
</parameters>
<className>RemoveAnonymousEventListener</className>
</functionDescription>
+<!-- dom -->
<functionDescription>
<functionName>dom</functionName>
<className>Dom</className>
</functionDescription>
+<!-- windowinfo -->
<functionDescription>
<functionName>windowInfo</functionName>
<className>WindowInfo</className>
Modified: trunk/MXQuery/xqib_src/ch/ethz/mxquery/functions/FGPopulator.java
===================================================================
--- trunk/MXQuery/xqib_src/ch/ethz/mxquery/functions/FGPopulator.java 2011-10-19 12:37:25 UTC (rev 4492)
+++ trunk/MXQuery/xqib_src/ch/ethz/mxquery/functions/FGPopulator.java 2011-10-19 23:51:52 UTC (rev 4493)
@@ -43,6 +43,7 @@
TypeInfo xs_dateTime = new TypeInfo(FunctionGallery.getType("xs:dateTime",ctx), Type.OCCURRENCE_IND_EXACTLY_ONE,null);
TypeInfo node___plus = new TypeInfo(FunctionGallery.getType("node()+",ctx), Type.OCCURRENCE_IND_ONE_OR_MORE,null);
TypeInfo node__ = new TypeInfo(FunctionGallery.getType("node()",ctx), Type.OCCURRENCE_IND_EXACTLY_ONE,null);
+ TypeInfo xs_boolean = new TypeInfo(FunctionGallery.getType("xs:boolean",ctx), Type.OCCURRENCE_IND_EXACTLY_ONE,null);
TypeInfo xs_string_quest = new TypeInfo(FunctionGallery.getType("xs:string?",ctx), Type.OCCURRENCE_IND_ZERO_OR_ONE,null);
TypeInfo numeric_quest = new TypeInfo(FunctionGallery.getType("numeric?",ctx), Type.OCCURRENCE_IND_ZERO_OR_ONE,null);
TypeInfo xs_date_quest = new TypeInfo(FunctionGallery.getType("xs:date?",ctx), Type.OCCURRENCE_IND_ZERO_OR_ONE,null);
@@ -694,6 +695,30 @@
qn = new QName(
"http://xqib.org",
"b",
+ "addEventListener");
+ paramTypes = new TypeInfo[4];
+
+ paramTypes[0] = node___plus;
+ paramTypes[1] = xs_string;
+ paramTypes[2] = function__;
+ paramTypes[3] = xs_boolean;
+ signature = new FunctionSignature(qn, paramTypes, FunctionSignature.SYSTEM_FUNCTION, new Hashtable());
+
+ {
+ ch.ethz.mxquery.functions.b.AddEventListener iter = new ch.ethz.mxquery.functions.b.AddEventListener();
+ iter.setContext(context, false);
+
+ type = null;
+
+ function = new Function(
+ null,signature,
+ iter, null, type );
+ fg.add(function);
+ }
+
+ qn = new QName(
+ "http://xqib.org",
+ "b",
"removeEventListener");
paramTypes = new TypeInfo[3];
@@ -717,6 +742,30 @@
qn = new QName(
"http://xqib.org",
"b",
+ "removeEventListener");
+ paramTypes = new TypeInfo[4];
+
+ paramTypes[0] = node__;
+ paramTypes[1] = xs_string;
+ paramTypes[2] = function__;
+ paramTypes[3] = xs_boolean;
+ signature = new FunctionSignature(qn, paramTypes, FunctionSignature.SYSTEM_FUNCTION, new Hashtable());
+
+ {
+ ch.ethz.mxquery.functions.b.RemoveEventListener iter = new ch.ethz.mxquery.functions.b.RemoveEventListener();
+ iter.setContext(context, false);
+
+ type = null;
+
+ function = new Function(
+ null,signature,
+ iter, null, type );
+ fg.add(function);
+ }
+
+ qn = new QName(
+ "http://xqib.org",
+ "b",
"removeAnonymousEventListeners");
paramTypes = new TypeInfo[2];
@@ -739,6 +788,46 @@
qn = new QName(
"http://xqib.org",
"b",
+ "preventDefault");
+ paramTypes = new TypeInfo[0];
+
+ signature = new FunctionSignature(qn, paramTypes, FunctionSignature.SYSTEM_FUNCTION, new Hashtable());
+
+ {
+ ch.ethz.mxquery.functions.b.PreventDefault iter = new ch.ethz.mxquery.functions.b.PreventDefault();
+ iter.setContext(context, false);
+
+ type = null;
+
+ function = new Function(
+ null,signature,
+ iter, null, type );
+ fg.add(function);
+ }
+
+ qn = new QName(
+ "http://xqib.org",
+ "b",
+ "stopPropagation");
+ paramTypes = new TypeInfo[0];
+
+ signature = new FunctionSignature(qn, paramTypes, FunctionSignature.SYSTEM_FUNCTION, new Hashtable());
+
+ {
+ ch.ethz.mxquery.functions.b.StopPropagation iter = new ch.ethz.mxquery.functions.b.StopPropagation();
+ iter.setContext(context, false);
+
+ type = null;
+
+ function = new Function(
+ null,signature,
+ iter, null, type );
+ fg.add(function);
+ }
+
+ qn = new QName(
+ "http://xqib.org",
+ "b",
"dom");
paramTypes = new TypeInfo[0];
Added: trunk/MXQuery/xqib_src/ch/ethz/mxquery/functions/b/PreventDefault.java
===================================================================
--- trunk/MXQuery/xqib_src/ch/ethz/mxquery/functions/b/PreventDefault.java (rev 0)
+++ trunk/MXQuery/xqib_src/ch/ethz/mxquery/functions/b/PreventDefault.java 2011-10-19 23:51:52 UTC (rev 4493)
@@ -0,0 +1,34 @@
+package ch.ethz.mxquery.functions.b;
+
+import java.util.Vector;
+
+import ch.ethz.mxqjs.client.Environment;
+import ch.ethz.mxquery.contextConfig.Context;
+import ch.ethz.mxquery.datamodel.xdm.Token;
+import ch.ethz.mxquery.datamodel.xdm.TokenInterface;
+import ch.ethz.mxquery.exceptions.MXQueryException;
+import ch.ethz.mxquery.exceptions.QueryLocation;
+import ch.ethz.mxquery.model.Iterator;
+import ch.ethz.mxquery.model.XDMIterator;
+
+public class PreventDefault extends Iterator {
+
+ public PreventDefault() {
+ super(null,null);
+ }
+
+ @Override
+ public TokenInterface next() throws MXQueryException {
+ Environment.preventDefault();
+ return Token.END_SEQUENCE_TOKEN;
+ }
+
+ @Override
+ protected XDMIterator copy(Context context, XDMIterator[] subIters,
+ Vector nestedPredCtxStack) throws MXQueryException {
+ PreventDefault copy = new PreventDefault();
+ copy.setContext(context, true);
+ return copy;
+ }
+
+}
Added: trunk/MXQuery/xqib_src/ch/ethz/mxquery/functions/b/StopPropagation.java
===================================================================
--- trunk/MXQuery/xqib_src/ch/ethz/mxquery/functions/b/StopPropagation.java (rev 0)
+++ trunk/MXQuery/xqib_src/ch/ethz/mxquery/functions/b/StopPropagation.java 2011-10-19 23:51:52 UTC (rev 4493)
@@ -0,0 +1,35 @@
+package ch.ethz.mxquery.functions.b;
+
+import java.util.Vector;
+
+import ch.ethz.mxqjs.client.Environment;
+import ch.ethz.mxquery.contextConfig.Context;
+import ch.ethz.mxquery.datamodel.xdm.Token;
+import ch.ethz.mxquery.datamodel.xdm.TokenInterface;
+import ch.ethz.mxquery.exceptions.MXQueryException;
+import ch.ethz.mxquery.exceptions.QueryLocation;
+import ch.ethz.mxquery.model.EmptySequenceIterator;
+import ch.ethz.mxquery.model.Iterator;
+import ch.ethz.mxquery.model.XDMIterator;
+
+public class StopPropagation extends Iterator {
+
+ public StopPropagation() {
+ super(null,null);
+ }
+
+ @Override
+ public TokenInterface next() throws MXQueryException {
+ Environment.stopPropagation();
+ return Token.END_SEQUENCE_TOKEN;
+ }
+
+ @Override
+ protected XDMIterator copy(Context context, XDMIterator[] subIters,
+ Vector nestedPredCtxStack) throws MXQueryException {
+ StopPropagation copy = new StopPropagation();
+ copy.setContext(context, true);
+ return copy;
+ }
+
+}
Modified: trunk/XQIB_Testing/src/ch/ethz/mxquery/browsertests/EventListeners.java
===================================================================
--- trunk/XQIB_Testing/src/ch/ethz/mxquery/browsertests/EventListeners.java 2011-10-19 12:37:25 UTC (rev 4492)
+++ trunk/XQIB_Testing/src/ch/ethz/mxquery/browsertests/EventListeners.java 2011-10-19 23:51:52 UTC (rev 4493)
@@ -35,6 +35,34 @@
@Test
/**
+ * test the b:addEventListener with capturing and stopPropagation
+ */
+ public void event_add_listener_stopPropagation() throws Exception {
+ driver.get(executionpath + "/test/test.html");
+ executeNewScript("insert node <div id='b1_parent'><div id='b1' type='button'>text</div></div> as first into b:dom()//body");
+ executeNewScript("declare updating function local:onclick($loc, $evtObj) {\n" +
+ " insert node <p name='b1_fired'/> as last into b:dom()//body\n" +
+ "};\n" +
+ "b:addEventListener(b:dom()/id('b1'), \"onclick\", local:onclick#2, true())");
+ executeNewScript("declare updating function local:onclick($loc, $evtObj) {\n" +
+ " insert node <p name='parent_fired'/> as last into b:dom()//body\n" +
+ ", b:stopPropagation()\n" +
+ "};\n" +
+ "b:addEventListener(b:dom()/id('b1_parent'), \"onclick\", local:onclick#2, true())");
+
+ WebElement button = driver.findElementById("b1");
+ button.click();
+ button.click();
+
+ //if the capture fails, 4 are added
+ Assert.assertEquals(2,driver.findElementsByTagName("p").size());
+ //if the capture is correct, all elements created are from the parent
+ Assert.assertEquals(2,driver.findElementsByName("parent_fired").size());
+ }
+
+
+ @Test
+ /**
* test b:removeEventListener
* the click should only trigger an insert once
*/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <pm_...@us...> - 2011-12-19 13:27:01
|
Revision: 4501
http://mxquery.svn.sourceforge.net/mxquery/?rev=4501&view=rev
Author: pm_fischer
Date: 2011-12-19 13:26:50 +0000 (Mon, 19 Dec 2011)
Log Message:
-----------
- Extend PreparedStatement to expose Projections paths
- Support projection paths in doc() and Child step
- Test cases for simple paths expressions, FLWOR, Conditional, XMark Q1
Modified Paths:
--------------
trunk/MXQuery/src/ch/ethz/mxquery/functions/fn/Doc.java
trunk/MXQuery/src/ch/ethz/mxquery/iterators/ChildIterator.java
trunk/MXQuery/src/ch/ethz/mxquery/model/updatePrimitives/PendingUpdateList.java
trunk/MXQuery/src/ch/ethz/mxquery/query/PreparedStatement.java
trunk/MXQuery/src/ch/ethz/mxquery/query/impl/PreparedStatementImpl.java
Added Paths:
-----------
trunk/MXQuery_Testing/ProjectionTests/
trunk/MXQuery_Testing/ProjectionTests/expectedPaths/
trunk/MXQuery_Testing/ProjectionTests/expectedPaths/XMark01.txt
trunk/MXQuery_Testing/ProjectionTests/queries/
trunk/MXQuery_Testing/ProjectionTests/queries/Cond1.xq
trunk/MXQuery_Testing/ProjectionTests/queries/FLWOR1.xq
trunk/MXQuery_Testing/ProjectionTests/queries/Path1.xq
trunk/MXQuery_Testing/ProjectionTests/queries/Path2.xq
trunk/MXQuery_Testing/ProjectionTests/queries/XMark01.xq
trunk/MXQuery_Testing/src/ch/ethz/mxquery/test/ProjectionTests.java
Modified: trunk/MXQuery/src/ch/ethz/mxquery/functions/fn/Doc.java
===================================================================
--- trunk/MXQuery/src/ch/ethz/mxquery/functions/fn/Doc.java 2011-12-19 13:23:24 UTC (rev 4500)
+++ trunk/MXQuery/src/ch/ethz/mxquery/functions/fn/Doc.java 2011-12-19 13:26:50 UTC (rev 4501)
@@ -36,6 +36,8 @@
import ch.ethz.mxquery.model.XDMIterator;
import ch.ethz.mxquery.util.IOLib;
import ch.ethz.mxquery.util.LineReader;
+import ch.ethz.mxquery.util.ObjectObjectPair;
+import ch.ethz.mxquery.util.Set;
import ch.ethz.mxquery.util.URIUtils;
import ch.ethz.mxquery.xdmio.XDMInputFactory;
import ch.ethz.mxquery.xdmio.XMLSource;
@@ -251,4 +253,12 @@
else
return null;
}
+
+ public ObjectObjectPair getProjectionPaths() {
+ Set returned = new Set();
+ returned.add("/");
+ return new ObjectObjectPair(returned, new Set());
+ }
+
+
}
Modified: trunk/MXQuery/src/ch/ethz/mxquery/iterators/ChildIterator.java
===================================================================
--- trunk/MXQuery/src/ch/ethz/mxquery/iterators/ChildIterator.java 2011-12-19 13:23:24 UTC (rev 4500)
+++ trunk/MXQuery/src/ch/ethz/mxquery/iterators/ChildIterator.java 2011-12-19 13:26:50 UTC (rev 4501)
@@ -15,6 +15,7 @@
package ch.ethz.mxquery.iterators;
+import java.util.Enumeration;
import java.util.Vector;
import ch.ethz.mxquery.contextConfig.Context;
@@ -35,6 +36,8 @@
import ch.ethz.mxquery.model.Window;
import ch.ethz.mxquery.model.XDMIterator;
import ch.ethz.mxquery.util.KXmlSerializer;
+import ch.ethz.mxquery.util.ObjectObjectPair;
+import ch.ethz.mxquery.util.Set;
/**
*
@@ -261,5 +264,30 @@
exprCategory = checkExprDefault(subIters,isScripting);
}
}
+
+ public ObjectObjectPair getProjectionPaths() {
+ XDMIterator curSub; // TODO: deal with context item
+ curSub = subIters[0];
+ ObjectObjectPair paths = curSub.getProjectionPaths();
+ Set returnedBelow = (Set)paths.getFirst();
+ Set returned = new Set();
+ Enumeration pathEnum = returnedBelow.elements();
+ while (pathEnum.hasMoreElements()) {
+ String res = (String) pathEnum.nextElement();
+ if (res.endsWith("/"))
+ res = res.substring(0, res.length()-1);
+ if (step_uri != null)
+ res = res+"/{"+step_uri+"}:";
+ if (step_local != null) {
+ if (step_uri == null)
+ res = res+"/";
+ res = res+step_local;
+ }
+ returned.add(res);
+ }
+ return new ObjectObjectPair(returned, paths.getSecond());
+ }
+
+
}
Modified: trunk/MXQuery/src/ch/ethz/mxquery/model/updatePrimitives/PendingUpdateList.java
===================================================================
--- trunk/MXQuery/src/ch/ethz/mxquery/model/updatePrimitives/PendingUpdateList.java 2011-12-19 13:23:24 UTC (rev 4500)
+++ trunk/MXQuery/src/ch/ethz/mxquery/model/updatePrimitives/PendingUpdateList.java 2011-12-19 13:26:50 UTC (rev 4501)
@@ -387,10 +387,7 @@
throw new DynamicException(ErrorCodes.U0021_UPDATE_DYNAMIC_INVALID_XDM,"Duplicate attribute names in updates",null);
else
seenAttrNames.add(attName);
- } else {
- if (seenAttrNames.size() > 0)
- seenAttrNames = new Set();
- }
+ }
else {
if (seenAttrNames.size() > 0)
seenAttrNames = new Set();
Modified: trunk/MXQuery/src/ch/ethz/mxquery/query/PreparedStatement.java
===================================================================
--- trunk/MXQuery/src/ch/ethz/mxquery/query/PreparedStatement.java 2011-12-19 13:23:24 UTC (rev 4500)
+++ trunk/MXQuery/src/ch/ethz/mxquery/query/PreparedStatement.java 2011-12-19 13:26:50 UTC (rev 4501)
@@ -23,6 +23,7 @@
import ch.ethz.mxquery.datamodel.types.TypeInfo;
import ch.ethz.mxquery.exceptions.MXQueryException;
import ch.ethz.mxquery.model.XDMIterator;
+import ch.ethz.mxquery.util.Hashtable;
import ch.ethz.mxquery.xdmio.StoreSet;
import ch.ethz.mxquery.xdmio.XDMSerializerSettings;
@@ -143,5 +144,10 @@
* @return null if no output settings in the query, the settings object otherwise
*/
public XDMSerializerSettings getOutputSettings();
+ /**
+ * Get the projection paths for all accessed resources
+ * @return a mapping from resourcename (URI, variable QName) -> Pair (returned, used) Paths
+ */
+ public Hashtable getProjectionPaths();
}
Modified: trunk/MXQuery/src/ch/ethz/mxquery/query/impl/PreparedStatementImpl.java
===================================================================
--- trunk/MXQuery/src/ch/ethz/mxquery/query/impl/PreparedStatementImpl.java 2011-12-19 13:23:24 UTC (rev 4500)
+++ trunk/MXQuery/src/ch/ethz/mxquery/query/impl/PreparedStatementImpl.java 2011-12-19 13:26:50 UTC (rev 4501)
@@ -17,6 +17,7 @@
import java.util.Enumeration;
import ch.ethz.mxquery.util.Hashtable;
+import ch.ethz.mxquery.util.ObjectObjectPair;
import java.util.Vector;
@@ -180,4 +181,12 @@
public XDMSerializerSettings getOutputSettings() {
return ser;
}
+
+ public Hashtable getProjectionPaths() {
+ //Preliminary implementation, producing just a single doc
+ ObjectObjectPair paths = iter.getProjectionPaths();
+ Hashtable ht = new Hashtable();
+ ht.put("DOC", paths);
+ return ht;
+ }
}
Added: trunk/MXQuery_Testing/ProjectionTests/expectedPaths/XMark01.txt
===================================================================
--- trunk/MXQuery_Testing/ProjectionTests/expectedPaths/XMark01.txt (rev 0)
+++ trunk/MXQuery_Testing/ProjectionTests/expectedPaths/XMark01.txt 2011-12-19 13:26:50 UTC (rev 4501)
@@ -0,0 +1,2 @@
+/site/people/person/@id
+/site/peope/person/name #
\ No newline at end of file
Added: trunk/MXQuery_Testing/ProjectionTests/queries/Cond1.xq
===================================================================
--- trunk/MXQuery_Testing/ProjectionTests/queries/Cond1.xq (rev 0)
+++ trunk/MXQuery_Testing/ProjectionTests/queries/Cond1.xq 2011-12-19 13:26:50 UTC (rev 4501)
@@ -0,0 +1,3 @@
+if(true)
+then doc("xmark.xml")/site/people/person
+else doc("xmark.xml")/site/open_auctions/open_auctions
\ No newline at end of file
Added: trunk/MXQuery_Testing/ProjectionTests/queries/FLWOR1.xq
===================================================================
--- trunk/MXQuery_Testing/ProjectionTests/queries/FLWOR1.xq (rev 0)
+++ trunk/MXQuery_Testing/ProjectionTests/queries/FLWOR1.xq 2011-12-19 13:26:50 UTC (rev 4501)
@@ -0,0 +1,2 @@
+for $a in doc("xmark.xml")/site/people/person
+return $a/name
\ No newline at end of file
Added: trunk/MXQuery_Testing/ProjectionTests/queries/Path1.xq
===================================================================
--- trunk/MXQuery_Testing/ProjectionTests/queries/Path1.xq (rev 0)
+++ trunk/MXQuery_Testing/ProjectionTests/queries/Path1.xq 2011-12-19 13:26:50 UTC (rev 4501)
@@ -0,0 +1 @@
+doc("xmark.xml")/site
\ No newline at end of file
Added: trunk/MXQuery_Testing/ProjectionTests/queries/Path2.xq
===================================================================
--- trunk/MXQuery_Testing/ProjectionTests/queries/Path2.xq (rev 0)
+++ trunk/MXQuery_Testing/ProjectionTests/queries/Path2.xq 2011-12-19 13:26:50 UTC (rev 4501)
@@ -0,0 +1 @@
+doc("xmark.xml")/site/people/person
\ No newline at end of file
Added: trunk/MXQuery_Testing/ProjectionTests/queries/XMark01.xq
===================================================================
--- trunk/MXQuery_Testing/ProjectionTests/queries/XMark01.xq (rev 0)
+++ trunk/MXQuery_Testing/ProjectionTests/queries/XMark01.xq 2011-12-19 13:26:50 UTC (rev 4501)
@@ -0,0 +1,3 @@
+let $auction := doc()
+return for $b in $auction/site/people/person[@id = 'person0']
+return $b/name/text()
\ No newline at end of file
Added: trunk/MXQuery_Testing/src/ch/ethz/mxquery/test/ProjectionTests.java
===================================================================
--- trunk/MXQuery_Testing/src/ch/ethz/mxquery/test/ProjectionTests.java (rev 0)
+++ trunk/MXQuery_Testing/src/ch/ethz/mxquery/test/ProjectionTests.java 2011-12-19 13:26:50 UTC (rev 4501)
@@ -0,0 +1,78 @@
+/**
+ *
+ */
+package ch.ethz.mxquery.test;
+
+import java.util.Enumeration;
+
+
+import ch.ethz.mxquery.query.PreparedStatement;
+import ch.ethz.mxquery.testsuite.XQueryTestBase;
+import ch.ethz.mxquery.util.Hashtable;
+import ch.ethz.mxquery.util.ObjectObjectPair;
+import ch.ethz.mxquery.util.Set;
+
+
+/**
+ * @author petfisch
+ *
+ */
+public class ProjectionTests extends XQueryTestBase{
+
+ private static final String TEST_PROJECTION_PREFIX = "ProjectionTests";
+ private static final String TEST_PROJECTION_QUERY_PREFIX = TEST_PROJECTION_PREFIX+"/queries/";
+
+ public void test_Path1() throws Exception{
+ String query = UriToString(TEST_PROJECTION_QUERY_PREFIX+"Path1.xq");
+ PreparedStatement pi = prepareQuery(query, false,false, false, false, false);
+ Hashtable ht = pi.getProjectionPaths();
+ handleProjectionPaths(ht);
+
+ //assertEquals(resultBuffer.toString().trim(), "false");
+ }
+
+ public void test_Path2() throws Exception{
+ String query = UriToString(TEST_PROJECTION_QUERY_PREFIX+"Path2.xq");
+ PreparedStatement pi = prepareQuery(query, false,false, false, false, false);
+ Hashtable ht = pi.getProjectionPaths();
+ handleProjectionPaths(ht);
+
+ //assertEquals(resultBuffer.toString().trim(), "false");
+ }
+
+ public void test_FLWOR1() throws Exception{
+ String query = UriToString(TEST_PROJECTION_QUERY_PREFIX+"FLWOR1.xq");
+ PreparedStatement pi = prepareQuery(query, false,false, false, false, false);
+ Hashtable ht = pi.getProjectionPaths();
+ handleProjectionPaths(ht);
+
+ //assertEquals(resultBuffer.toString().trim(), "false");
+ }
+
+
+ public void test_XMark01() throws Exception{
+ String query = UriToString(TEST_PROJECTION_QUERY_PREFIX+"XMark01.xq");
+ PreparedStatement pi = prepareQuery(query, false,false, false, false, false);
+ Hashtable ht = pi.getProjectionPaths();
+ handleProjectionPaths(ht);
+
+ //assertEquals(resultBuffer.toString().trim(), "false");
+ };
+
+ private void handleProjectionPaths(Hashtable projPaths) {
+ ObjectObjectPair paths = (ObjectObjectPair) projPaths.get("DOC");
+ Set returned = (Set) paths.getFirst();
+ Set used = (Set) paths.getSecond();
+ Enumeration en = returned.elements();
+ while (en.hasMoreElements()) {
+ String curPath = (String) en.nextElement();
+ System.out.println(curPath+" #");
+ }
+ en = used.elements();
+ while (en.hasMoreElements()) {
+ String curPath = (String) en.nextElement();
+ System.out.println(curPath);
+ }
+ };
+
+}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <pm_...@us...> - 2011-12-19 13:28:53
|
Revision: 4502
http://mxquery.svn.sourceforge.net/mxquery/?rev=4502&view=rev
Author: pm_fischer
Date: 2011-12-19 13:28:47 +0000 (Mon, 19 Dec 2011)
Log Message:
-----------
- Attribute Iterator is now also an Axis Iterator
- Projection for Attribute
- Test for complex conditionals
Modified Paths:
--------------
trunk/MXQuery/src/ch/ethz/mxquery/iterators/AttributeIterator.java
trunk/MXQuery/src/ch/ethz/mxquery/iterators/AxisIterator.java
trunk/MXQuery_Testing/src/ch/ethz/mxquery/test/ProjectionTests.java
Modified: trunk/MXQuery/src/ch/ethz/mxquery/iterators/AttributeIterator.java
===================================================================
--- trunk/MXQuery/src/ch/ethz/mxquery/iterators/AttributeIterator.java 2011-12-19 13:26:50 UTC (rev 4501)
+++ trunk/MXQuery/src/ch/ethz/mxquery/iterators/AttributeIterator.java 2011-12-19 13:28:47 UTC (rev 4502)
@@ -15,6 +15,7 @@
package ch.ethz.mxquery.iterators;
+import java.util.Enumeration;
import java.util.Vector;
import ch.ethz.mxquery.contextConfig.Context;
@@ -32,6 +33,8 @@
import ch.ethz.mxquery.model.CurrentBasedIterator;
import ch.ethz.mxquery.model.XDMIterator;
import ch.ethz.mxquery.util.KXmlSerializer;
+import ch.ethz.mxquery.util.ObjectObjectPair;
+import ch.ethz.mxquery.util.Set;
/**
* Event of an Attribute Declaration in XQuery ('@attributename')
@@ -39,7 +42,7 @@
* @author Matthias Braun
*
*/
-public class AttributeIterator extends CurrentBasedIterator {
+public class AttributeIterator extends CurrentBasedIterator implements AxisIterator{
private String local = null;
@@ -163,5 +166,34 @@
return super.staticInit();
}
+ public int getDirection() {
+ // TODO Auto-generated method stub
+ return AXIS_ATTRIBUTE;
+ }
+
+ public ObjectObjectPair getProjectionPaths() {
+ XDMIterator curSub; // TODO: deal with context item
+ curSub = subIters[0];
+ ObjectObjectPair paths = curSub.getProjectionPaths();
+ Set returnedBelow = (Set)paths.getFirst();
+ Set returned = new Set();
+ Enumeration pathEnum = returnedBelow.elements();
+ while (pathEnum.hasMoreElements()) {
+ String res = (String) pathEnum.nextElement();
+ if (res.endsWith("/"))
+ res = res.substring(0, res.length()-1);
+ if (namespace != null)
+ res = res+"/@{"+namespace+"}:";
+ if (local != null) {
+ if (namespace == null)
+ res = res+"/@";
+ res = res+local;
+ }
+ returned.add(res);
+ }
+ return new ObjectObjectPair(returned, paths.getSecond());
+ }
+
+
}
Modified: trunk/MXQuery/src/ch/ethz/mxquery/iterators/AxisIterator.java
===================================================================
--- trunk/MXQuery/src/ch/ethz/mxquery/iterators/AxisIterator.java 2011-12-19 13:26:50 UTC (rev 4501)
+++ trunk/MXQuery/src/ch/ethz/mxquery/iterators/AxisIterator.java 2011-12-19 13:28:47 UTC (rev 4502)
@@ -15,7 +15,7 @@
public static final int AXIS_PRECEDING_SIBLING = 24;
public static final int BACKWARD_AXIS_MASK = 16;
public static final int SELF_AXIS_MASK = 1;
-
+ public static final int AXIS_ATTRIBUTE = 10;
public abstract int getDirection();
}
\ No newline at end of file
Modified: trunk/MXQuery_Testing/src/ch/ethz/mxquery/test/ProjectionTests.java
===================================================================
--- trunk/MXQuery_Testing/src/ch/ethz/mxquery/test/ProjectionTests.java 2011-12-19 13:26:50 UTC (rev 4501)
+++ trunk/MXQuery_Testing/src/ch/ethz/mxquery/test/ProjectionTests.java 2011-12-19 13:28:47 UTC (rev 4502)
@@ -40,6 +40,54 @@
//assertEquals(resultBuffer.toString().trim(), "false");
}
+ public void test_Path3() throws Exception{
+ String query = UriToString(TEST_PROJECTION_QUERY_PREFIX+"Path3.xq");
+ PreparedStatement pi = prepareQuery(query, false,false, false, false, false);
+ Hashtable ht = pi.getProjectionPaths();
+ handleProjectionPaths(ht);
+
+ //assertEquals(resultBuffer.toString().trim(), "false");
+ }
+
+
+ public void test_Cond1() throws Exception{
+ String query = UriToString(TEST_PROJECTION_QUERY_PREFIX+"Cond1.xq");
+ PreparedStatement pi = prepareQuery(query, false,false, false, false, false);
+ Hashtable ht = pi.getProjectionPaths();
+ handleProjectionPaths(ht);
+
+ //assertEquals(resultBuffer.toString().trim(), "false");
+ }
+
+
+ public void test_Cond2() throws Exception{
+ String query = UriToString(TEST_PROJECTION_QUERY_PREFIX+"Cond2.xq");
+ PreparedStatement pi = prepareQuery(query, false,false, false, false, false);
+ Hashtable ht = pi.getProjectionPaths();
+ handleProjectionPaths(ht);
+
+ //assertEquals(resultBuffer.toString().trim(), "false");
+ }
+
+ public void test_Cond3() throws Exception{
+ String query = UriToString(TEST_PROJECTION_QUERY_PREFIX+"Cond3.xq");
+ PreparedStatement pi = prepareQuery(query, false,false, false, false, false);
+ Hashtable ht = pi.getProjectionPaths();
+ handleProjectionPaths(ht);
+
+ //assertEquals(resultBuffer.toString().trim(), "false");
+ }
+
+ public void test_Cond4() throws Exception{
+ String query = UriToString(TEST_PROJECTION_QUERY_PREFIX+"Cond4.xq");
+ PreparedStatement pi = prepareQuery(query, false,false, false, false, false);
+ Hashtable ht = pi.getProjectionPaths();
+ handleProjectionPaths(ht);
+
+ //assertEquals(resultBuffer.toString().trim(), "false");
+ }
+
+
public void test_FLWOR1() throws Exception{
String query = UriToString(TEST_PROJECTION_QUERY_PREFIX+"FLWOR1.xq");
PreparedStatement pi = prepareQuery(query, false,false, false, false, false);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <pm_...@us...> - 2011-12-19 13:35:05
|
Revision: 4503
http://mxquery.svn.sourceforge.net/mxquery/?rev=4503&view=rev
Author: pm_fischer
Date: 2011-12-19 13:34:52 +0000 (Mon, 19 Dec 2011)
Log Message:
-----------
- Projection on XMark
- Add changes to other platforms
Modified Paths:
--------------
trunk/MXQuery/midp_src/ch/ethz/mxquery/query/impl/PreparedStatementImpl.java
trunk/MXQuery/src/ch/ethz/mxquery/iterators/AttributeIterator.java
trunk/MXQuery/src/ch/ethz/mxquery/iterators/ChildIterator.java
trunk/MXQuery/src/ch/ethz/mxquery/iterators/CompareIterator.java
trunk/MXQuery/src/ch/ethz/mxquery/iterators/DescendantOrSelfIterator.java
trunk/MXQuery/src/ch/ethz/mxquery/iterators/ForIterator.java
trunk/MXQuery/src/ch/ethz/mxquery/iterators/GOrderByIterator.java
trunk/MXQuery/src/ch/ethz/mxquery/iterators/IfThenElseIterator.java
trunk/MXQuery/src/ch/ethz/mxquery/iterators/LetIterator.java
trunk/MXQuery/src/ch/ethz/mxquery/iterators/UserdefFuncCall.java
trunk/MXQuery/src/ch/ethz/mxquery/iterators/XMLContent.java
trunk/MXQuery/src/ch/ethz/mxquery/model/Iterator.java
trunk/MXQuery/src/ch/ethz/mxquery/model/XDMIterator.java
trunk/MXQuery/src/ch/ethz/mxquery/query/PreparedStatement.java
trunk/MXQuery/src/ch/ethz/mxquery/query/impl/PreparedStatementImpl.java
trunk/MXQuery/src/ch/ethz/mxquery/query/parser/Parser.java
trunk/MXQuery/xqib_src/ch/ethz/mxquery/query/impl/PreparedStatementImpl.java
trunk/MXQuery_Android_App/.classpath
trunk/MXQuery_Testing/ProjectionTests/queries/Cond1.xq
trunk/MXQuery_Testing/ProjectionTests/queries/XMark01.xq
trunk/MXQuery_Testing/src/ch/ethz/mxquery/test/ProjectionTests.java
Added Paths:
-----------
trunk/MXQuery_Testing/ProjectionTests/queries/Comp1.xq
trunk/MXQuery_Testing/ProjectionTests/queries/Cond2.xq
trunk/MXQuery_Testing/ProjectionTests/queries/Cond3.xq
trunk/MXQuery_Testing/ProjectionTests/queries/Cond4.xq
trunk/MXQuery_Testing/ProjectionTests/queries/ElemConstr1.xq
trunk/MXQuery_Testing/ProjectionTests/queries/FLWOR2.xq
trunk/MXQuery_Testing/ProjectionTests/queries/Path3.xq
trunk/MXQuery_Testing/ProjectionTests/queries/XMark02.xq
trunk/MXQuery_Testing/ProjectionTests/queries/XMark03.xq
trunk/MXQuery_Testing/ProjectionTests/queries/XMark04.xq
trunk/MXQuery_Testing/ProjectionTests/queries/XMark05.xq
trunk/MXQuery_Testing/ProjectionTests/queries/XMark06.xq
trunk/MXQuery_Testing/ProjectionTests/queries/XMark07.xq
trunk/MXQuery_Testing/ProjectionTests/queries/XMark08.xq
trunk/MXQuery_Testing/ProjectionTests/queries/XMark09.xq
trunk/MXQuery_Testing/ProjectionTests/queries/XMark10.xq
trunk/MXQuery_Testing/ProjectionTests/queries/XMark11.xq
trunk/MXQuery_Testing/ProjectionTests/queries/XMark12.xq
trunk/MXQuery_Testing/ProjectionTests/queries/XMark13.xq
trunk/MXQuery_Testing/ProjectionTests/queries/XMark14.xq
trunk/MXQuery_Testing/ProjectionTests/queries/XMark15.xq
trunk/MXQuery_Testing/ProjectionTests/queries/XMark16.xq
trunk/MXQuery_Testing/ProjectionTests/queries/XMark17.xq
trunk/MXQuery_Testing/ProjectionTests/queries/XMark18.xq
trunk/MXQuery_Testing/ProjectionTests/queries/XMark19.xq
trunk/MXQuery_Testing/ProjectionTests/queries/XMark20.xq
trunk/MXQuery_Testing/src/ch/ethz/mxquery/test/ProjectionXMarkTests.java
Modified: trunk/MXQuery/midp_src/ch/ethz/mxquery/query/impl/PreparedStatementImpl.java
===================================================================
--- trunk/MXQuery/midp_src/ch/ethz/mxquery/query/impl/PreparedStatementImpl.java 2011-12-19 13:28:47 UTC (rev 4502)
+++ trunk/MXQuery/midp_src/ch/ethz/mxquery/query/impl/PreparedStatementImpl.java 2011-12-19 13:34:52 UTC (rev 4503)
@@ -18,11 +18,14 @@
import java.io.OutputStreamWriter;
import java.util.Enumeration;
import ch.ethz.mxquery.util.Hashtable;
+import ch.ethz.mxquery.util.ObjectObjectPair;
+
import java.util.Vector;
import ch.ethz.mxquery.exceptions.ErrorCodes;
import ch.ethz.mxquery.exceptions.MXQueryException;
import ch.ethz.mxquery.exceptions.QueryLocation;
+import ch.ethz.mxquery.exceptions.StaticException;
import ch.ethz.mxquery.iterators.TokenIterator;
import ch.ethz.mxquery.datamodel.QName;
import ch.ethz.mxquery.model.XDMIterator;
@@ -170,4 +173,12 @@
public XDMSerializerSettings getOutputSettings() {
return ser;
}
+
+ public Hashtable getProjectionPaths() throws StaticException {
+ //Preliminary implementation, producing just a single doc
+ ObjectObjectPair paths = iter.getProjectionPaths();
+ Hashtable ht = new Hashtable();
+ ht.put("DOC", paths);
+ return ht;
+ }
}
Modified: trunk/MXQuery/src/ch/ethz/mxquery/iterators/AttributeIterator.java
===================================================================
--- trunk/MXQuery/src/ch/ethz/mxquery/iterators/AttributeIterator.java 2011-12-19 13:28:47 UTC (rev 4502)
+++ trunk/MXQuery/src/ch/ethz/mxquery/iterators/AttributeIterator.java 2011-12-19 13:34:52 UTC (rev 4503)
@@ -28,6 +28,7 @@
import ch.ethz.mxquery.exceptions.ErrorCodes;
import ch.ethz.mxquery.exceptions.MXQueryException;
import ch.ethz.mxquery.exceptions.QueryLocation;
+import ch.ethz.mxquery.exceptions.StaticException;
import ch.ethz.mxquery.exceptions.TypeException;
import ch.ethz.mxquery.model.CheckNodeType;
import ch.ethz.mxquery.model.CurrentBasedIterator;
@@ -171,7 +172,7 @@
return AXIS_ATTRIBUTE;
}
- public ObjectObjectPair getProjectionPaths() {
+ public ObjectObjectPair getProjectionPaths() throws StaticException {
XDMIterator curSub; // TODO: deal with context item
curSub = subIters[0];
ObjectObjectPair paths = curSub.getProjectionPaths();
Modified: trunk/MXQuery/src/ch/ethz/mxquery/iterators/ChildIterator.java
===================================================================
--- trunk/MXQuery/src/ch/ethz/mxquery/iterators/ChildIterator.java 2011-12-19 13:28:47 UTC (rev 4502)
+++ trunk/MXQuery/src/ch/ethz/mxquery/iterators/ChildIterator.java 2011-12-19 13:34:52 UTC (rev 4503)
@@ -29,6 +29,7 @@
import ch.ethz.mxquery.exceptions.ErrorCodes;
import ch.ethz.mxquery.exceptions.MXQueryException;
import ch.ethz.mxquery.exceptions.QueryLocation;
+import ch.ethz.mxquery.exceptions.StaticException;
import ch.ethz.mxquery.exceptions.TypeException;
import ch.ethz.mxquery.model.CheckNodeType;
import ch.ethz.mxquery.model.CurrentBasedIterator;
@@ -265,7 +266,7 @@
}
}
- public ObjectObjectPair getProjectionPaths() {
+ public ObjectObjectPair getProjectionPaths() throws StaticException {
XDMIterator curSub; // TODO: deal with context item
curSub = subIters[0];
ObjectObjectPair paths = curSub.getProjectionPaths();
@@ -286,8 +287,5 @@
returned.add(res);
}
return new ObjectObjectPair(returned, paths.getSecond());
- }
-
-
-
+ }
}
Modified: trunk/MXQuery/src/ch/ethz/mxquery/iterators/CompareIterator.java
===================================================================
--- trunk/MXQuery/src/ch/ethz/mxquery/iterators/CompareIterator.java 2011-12-19 13:28:47 UTC (rev 4502)
+++ trunk/MXQuery/src/ch/ethz/mxquery/iterators/CompareIterator.java 2011-12-19 13:34:52 UTC (rev 4503)
@@ -28,6 +28,7 @@
import ch.ethz.mxquery.exceptions.ErrorCodes;
import ch.ethz.mxquery.exceptions.MXQueryException;
import ch.ethz.mxquery.exceptions.QueryLocation;
+import ch.ethz.mxquery.exceptions.StaticException;
import ch.ethz.mxquery.exceptions.TypeException;
import ch.ethz.mxquery.model.Constants;
import ch.ethz.mxquery.model.TokenBasedIterator;
@@ -322,7 +323,7 @@
return new TypeInfo(Type.BOOLEAN,Type.OCCURRENCE_IND_ZERO_OR_ONE);
}
- public ObjectObjectPair getProjectionPaths() {
+ public ObjectObjectPair getProjectionPaths() throws StaticException {
Set returned = new Set();
Set used = new Set();
for (int i=0;i<subIters.length;i++){
Modified: trunk/MXQuery/src/ch/ethz/mxquery/iterators/DescendantOrSelfIterator.java
===================================================================
--- trunk/MXQuery/src/ch/ethz/mxquery/iterators/DescendantOrSelfIterator.java 2011-12-19 13:28:47 UTC (rev 4502)
+++ trunk/MXQuery/src/ch/ethz/mxquery/iterators/DescendantOrSelfIterator.java 2011-12-19 13:34:52 UTC (rev 4503)
@@ -16,6 +16,7 @@
package ch.ethz.mxquery.iterators;
+import java.util.Enumeration;
import java.util.Vector;
import ch.ethz.mxquery.contextConfig.Context;
@@ -30,6 +31,7 @@
import ch.ethz.mxquery.exceptions.ErrorCodes;
import ch.ethz.mxquery.exceptions.MXQueryException;
import ch.ethz.mxquery.exceptions.QueryLocation;
+import ch.ethz.mxquery.exceptions.StaticException;
import ch.ethz.mxquery.exceptions.TypeException;
import ch.ethz.mxquery.model.CheckNodeType;
import ch.ethz.mxquery.model.CurrentBasedIterator;
@@ -39,6 +41,8 @@
import ch.ethz.mxquery.model.XDMIterator;
import ch.ethz.mxquery.util.IntegerList;
import ch.ethz.mxquery.util.KXmlSerializer;
+import ch.ethz.mxquery.util.ObjectObjectPair;
+import ch.ethz.mxquery.util.Set;
/**
*
@@ -447,5 +451,29 @@
}
return super.staticInit();
}
+
+ public ObjectObjectPair getProjectionPaths() throws StaticException {
+ XDMIterator curSub; // TODO: deal with context item
+ curSub = subIters[0];
+ ObjectObjectPair paths = curSub.getProjectionPaths();
+ Set returnedBelow = (Set)paths.getFirst();
+ Set returned = new Set();
+ Enumeration pathEnum = returnedBelow.elements();
+ while (pathEnum.hasMoreElements()) {
+ String res = (String) pathEnum.nextElement();
+ if (res.endsWith("/"))
+ res = res.substring(0, res.length()-1);
+ if (step_uri != null)
+ res = res+"//{"+step_uri+"}:";
+ if (step_local != null) {
+ if (step_uri == null)
+ res = res+"//";
+ res = res+step_local;
+ }
+ returned.add(res);
+ }
+ return new ObjectObjectPair(returned, paths.getSecond());
+ }
+
}
Modified: trunk/MXQuery/src/ch/ethz/mxquery/iterators/ForIterator.java
===================================================================
--- trunk/MXQuery/src/ch/ethz/mxquery/iterators/ForIterator.java 2011-12-19 13:28:47 UTC (rev 4502)
+++ trunk/MXQuery/src/ch/ethz/mxquery/iterators/ForIterator.java 2011-12-19 13:34:52 UTC (rev 4503)
@@ -27,6 +27,7 @@
import ch.ethz.mxquery.datamodel.xdm.TokenInterface;
import ch.ethz.mxquery.exceptions.MXQueryException;
import ch.ethz.mxquery.exceptions.QueryLocation;
+import ch.ethz.mxquery.exceptions.StaticException;
import ch.ethz.mxquery.model.CurrentBasedIterator;
import ch.ethz.mxquery.model.EmptySequenceIterator;
import ch.ethz.mxquery.model.VariableHolder;
@@ -34,6 +35,8 @@
import ch.ethz.mxquery.model.XDMIterator;
import ch.ethz.mxquery.util.ContextPair;
import ch.ethz.mxquery.util.KXmlSerializer;
+import ch.ethz.mxquery.util.ObjectObjectPair;
+import ch.ethz.mxquery.util.Set;
public class ForIterator extends CurrentBasedIterator {
// private static String vi =
@@ -267,5 +270,14 @@
return this;
}
+ public ObjectObjectPair getProjectionPaths() throws StaticException {
+ ObjectObjectPair curPath = subIters[0].getProjectionPaths();
+ varHolder.setProjectionPaths(new ObjectObjectPair(curPath.getFirst(), new Set()));
+ Set usedAll = new Set();
+ usedAll.addAll((Set) curPath.getFirst());
+ usedAll.addAll((Set) curPath.getSecond());
+ return new ObjectObjectPair(new Set(), usedAll);
+ }
+
}
Modified: trunk/MXQuery/src/ch/ethz/mxquery/iterators/GOrderByIterator.java
===================================================================
--- trunk/MXQuery/src/ch/ethz/mxquery/iterators/GOrderByIterator.java 2011-12-19 13:28:47 UTC (rev 4502)
+++ trunk/MXQuery/src/ch/ethz/mxquery/iterators/GOrderByIterator.java 2011-12-19 13:34:52 UTC (rev 4503)
@@ -13,6 +13,7 @@
import ch.ethz.mxquery.exceptions.ErrorCodes;
import ch.ethz.mxquery.exceptions.MXQueryException;
import ch.ethz.mxquery.exceptions.QueryLocation;
+import ch.ethz.mxquery.exceptions.StaticException;
import ch.ethz.mxquery.exceptions.TypeException;
import ch.ethz.mxquery.model.Iterator;
import ch.ethz.mxquery.model.VariableHolder;
@@ -20,8 +21,10 @@
import ch.ethz.mxquery.model.XDMIterator;
import ch.ethz.mxquery.util.Comparator;
import ch.ethz.mxquery.util.MergeSort;
+import ch.ethz.mxquery.util.ObjectObjectPair;
import ch.ethz.mxquery.util.OrderOptions;
import ch.ethz.mxquery.util.QuickSort;
+import ch.ethz.mxquery.util.Set;
/**
* Mad props to David Alexander Graf, who did the original order by iterator. I
@@ -311,5 +314,20 @@
}
return this;
}
+
+ public ObjectObjectPair getProjectionPaths() throws StaticException {
+ Set returned = new Set();
+ Set used = new Set();
+ if (subIters != null)
+ for (int i=0;i<subIters.length;i++){
+ ObjectObjectPair cur = subIters[i].getProjectionPaths();
+ used.addAll((Set)cur.getFirst());
+ used.addAll((Set)cur.getSecond());
+ }
+ return new ObjectObjectPair(returned, used);
+
+ }
+
+
}
Modified: trunk/MXQuery/src/ch/ethz/mxquery/iterators/IfThenElseIterator.java
===================================================================
--- trunk/MXQuery/src/ch/ethz/mxquery/iterators/IfThenElseIterator.java 2011-12-19 13:28:47 UTC (rev 4502)
+++ trunk/MXQuery/src/ch/ethz/mxquery/iterators/IfThenElseIterator.java 2011-12-19 13:34:52 UTC (rev 4503)
@@ -22,6 +22,7 @@
import ch.ethz.mxquery.datamodel.xdm.TokenInterface;
import ch.ethz.mxquery.exceptions.MXQueryException;
import ch.ethz.mxquery.exceptions.QueryLocation;
+import ch.ethz.mxquery.exceptions.StaticException;
import ch.ethz.mxquery.model.CurrentBasedIterator;
import ch.ethz.mxquery.model.XDMIterator;
import ch.ethz.mxquery.model.updatePrimitives.PendingUpdateList;
@@ -125,7 +126,7 @@
}
}
- public ObjectObjectPair getProjectionPaths() {
+ public ObjectObjectPair getProjectionPaths() throws StaticException {
Set returned = new Set();
Set used = new Set();
ObjectObjectPair cur = subIters[0].getProjectionPaths();
Modified: trunk/MXQuery/src/ch/ethz/mxquery/iterators/LetIterator.java
===================================================================
--- trunk/MXQuery/src/ch/ethz/mxquery/iterators/LetIterator.java 2011-12-19 13:28:47 UTC (rev 4502)
+++ trunk/MXQuery/src/ch/ethz/mxquery/iterators/LetIterator.java 2011-12-19 13:34:52 UTC (rev 4503)
@@ -26,12 +26,15 @@
import ch.ethz.mxquery.datamodel.xdm.TokenInterface;
import ch.ethz.mxquery.exceptions.MXQueryException;
import ch.ethz.mxquery.exceptions.QueryLocation;
+import ch.ethz.mxquery.exceptions.StaticException;
import ch.ethz.mxquery.model.CurrentBasedIterator;
import ch.ethz.mxquery.model.VariableHolder;
import ch.ethz.mxquery.model.Window;
import ch.ethz.mxquery.model.XDMIterator;
import ch.ethz.mxquery.util.ContextPair;
import ch.ethz.mxquery.util.KXmlSerializer;
+import ch.ethz.mxquery.util.ObjectObjectPair;
+import ch.ethz.mxquery.util.Set;
public class LetIterator extends CurrentBasedIterator {
@@ -172,5 +175,14 @@
return this;
}
+ public ObjectObjectPair getProjectionPaths() throws StaticException {
+ ObjectObjectPair curPath = subIters[0].getProjectionPaths();
+ varHolder.setProjectionPaths(new ObjectObjectPair(curPath.getFirst(), new Set()));
+ Set usedAll = new Set();
+ //usedAll.addAll((Set) curPath.getFirst());
+ usedAll.addAll((Set) curPath.getSecond());
+ return new ObjectObjectPair(new Set(), usedAll);
+ }
+
}
Modified: trunk/MXQuery/src/ch/ethz/mxquery/iterators/UserdefFuncCall.java
===================================================================
--- trunk/MXQuery/src/ch/ethz/mxquery/iterators/UserdefFuncCall.java 2011-12-19 13:28:47 UTC (rev 4502)
+++ trunk/MXQuery/src/ch/ethz/mxquery/iterators/UserdefFuncCall.java 2011-12-19 13:34:52 UTC (rev 4503)
@@ -36,6 +36,8 @@
import ch.ethz.mxquery.model.XDMIterator;
import ch.ethz.mxquery.model.updatePrimitives.PendingUpdateList;
import ch.ethz.mxquery.util.KXmlSerializer;
+import ch.ethz.mxquery.util.ObjectObjectPair;
+import ch.ethz.mxquery.util.Set;
public class UserdefFuncCall extends CurrentBasedIterator {
protected QName[] paramNames;
@@ -376,5 +378,18 @@
public QName [] getClosure() {
return closure;
}
+
+ public ObjectObjectPair getProjectionPaths() throws StaticException {
+ Set used = new Set();
+ for (int i = 0; i < this.subIters.length; i++) {
+ ObjectObjectPair paths = subIters[i].getProjectionPaths();
+ used.addAll((Set) paths.getSecond());
+ VariableHolder vh = this.context.getVariable(this.paramNames[i]);
+ vh.setProjectionPaths(new ObjectObjectPair(paths.getFirst(), new Set()));
+ }
+ ObjectObjectPair functPaths = function.getProjectionPaths();
+ used.addAll((Set) functPaths.getSecond());
+ return new ObjectObjectPair(functPaths.getFirst(), used);
+ }
}
Modified: trunk/MXQuery/src/ch/ethz/mxquery/iterators/XMLContent.java
===================================================================
--- trunk/MXQuery/src/ch/ethz/mxquery/iterators/XMLContent.java 2011-12-19 13:28:47 UTC (rev 4502)
+++ trunk/MXQuery/src/ch/ethz/mxquery/iterators/XMLContent.java 2011-12-19 13:34:52 UTC (rev 4503)
@@ -15,6 +15,7 @@
package ch.ethz.mxquery.iterators;
+import java.util.Enumeration;
import java.util.Vector;
import ch.ethz.mxquery.bindings.WindowFactory;
@@ -44,6 +45,7 @@
import ch.ethz.mxquery.model.Iterator;
import ch.ethz.mxquery.model.XDMIterator;
import ch.ethz.mxquery.util.KXmlSerializer;
+import ch.ethz.mxquery.util.ObjectObjectPair;
import ch.ethz.mxquery.util.Set;
import ch.ethz.mxquery.util.URIUtils;
@@ -607,6 +609,25 @@
this.pendingUpdateList.merge(constElemIterator.getPendingUpdateList());
}
+ public ObjectObjectPair getProjectionPaths() throws StaticException {
+ Set returned = new Set();
+ Set used = new Set();
+
+ if (subIters != null)
+ for (int i=0;i<subIters.length;i++){
+ ObjectObjectPair cur = subIters[i].getProjectionPaths();
+ Enumeration returnedPaths = ((Set)cur.getFirst()).elements();
+ while (returnedPaths.hasMoreElements()) {
+ String curRetPath = (String)returnedPaths.nextElement();
+ used.add(curRetPath+" #");
+ }
+ used.addAll((Set)cur.getSecond());
+ }
+ return new ObjectObjectPair(returned, used);
+
+ }
+
+
// public void setContext(Context context, boolean recursive)
// throws MXQueryException {
// this.context.setParent(context);
Modified: trunk/MXQuery/src/ch/ethz/mxquery/model/Iterator.java
===================================================================
--- trunk/MXQuery/src/ch/ethz/mxquery/model/Iterator.java 2011-12-19 13:28:47 UTC (rev 4502)
+++ trunk/MXQuery/src/ch/ethz/mxquery/model/Iterator.java 2011-12-19 13:34:52 UTC (rev 4503)
@@ -879,7 +879,7 @@
return arg.getText();
}
- public ObjectObjectPair getProjectionPaths() {
+ public ObjectObjectPair getProjectionPaths() throws StaticException {
XDMIterator [] subs = getAllSubIters();
if (subs != null && subs.length == 1)
return subs[0].getProjectionPaths();
Modified: trunk/MXQuery/src/ch/ethz/mxquery/model/XDMIterator.java
===================================================================
--- trunk/MXQuery/src/ch/ethz/mxquery/model/XDMIterator.java 2011-12-19 13:28:47 UTC (rev 4502)
+++ trunk/MXQuery/src/ch/ethz/mxquery/model/XDMIterator.java 2011-12-19 13:34:52 UTC (rev 4503)
@@ -24,6 +24,7 @@
import ch.ethz.mxquery.datamodel.xdm.TokenInterface;
import ch.ethz.mxquery.exceptions.MXQueryException;
import ch.ethz.mxquery.exceptions.QueryLocation;
+import ch.ethz.mxquery.exceptions.StaticException;
import ch.ethz.mxquery.model.updatePrimitives.PendingUpdateList;
import ch.ethz.mxquery.util.KXmlSerializer;
import ch.ethz.mxquery.util.ObjectObjectPair;
@@ -212,7 +213,8 @@
* - returned
* - used
* @return Pair of Path Sets, first is returned, second is used
+ * @throws StaticException
*/
- public abstract ObjectObjectPair getProjectionPaths();
+ public abstract ObjectObjectPair getProjectionPaths() throws StaticException;
}
\ No newline at end of file
Modified: trunk/MXQuery/src/ch/ethz/mxquery/query/PreparedStatement.java
===================================================================
--- trunk/MXQuery/src/ch/ethz/mxquery/query/PreparedStatement.java 2011-12-19 13:28:47 UTC (rev 4502)
+++ trunk/MXQuery/src/ch/ethz/mxquery/query/PreparedStatement.java 2011-12-19 13:34:52 UTC (rev 4503)
@@ -22,6 +22,7 @@
import ch.ethz.mxquery.datamodel.QName;
import ch.ethz.mxquery.datamodel.types.TypeInfo;
import ch.ethz.mxquery.exceptions.MXQueryException;
+import ch.ethz.mxquery.exceptions.StaticException;
import ch.ethz.mxquery.model.XDMIterator;
import ch.ethz.mxquery.util.Hashtable;
import ch.ethz.mxquery.xdmio.StoreSet;
@@ -147,7 +148,8 @@
/**
* Get the projection paths for all accessed resources
* @return a mapping from resourcename (URI, variable QName) -> Pair (returned, used) Paths
+ * @throws StaticException
*/
- public Hashtable getProjectionPaths();
+ public Hashtable getProjectionPaths() throws StaticException;
}
Modified: trunk/MXQuery/src/ch/ethz/mxquery/query/impl/PreparedStatementImpl.java
===================================================================
--- trunk/MXQuery/src/ch/ethz/mxquery/query/impl/PreparedStatementImpl.java 2011-12-19 13:28:47 UTC (rev 4502)
+++ trunk/MXQuery/src/ch/ethz/mxquery/query/impl/PreparedStatementImpl.java 2011-12-19 13:34:52 UTC (rev 4503)
@@ -31,6 +31,7 @@
import ch.ethz.mxquery.exceptions.ErrorCodes;
import ch.ethz.mxquery.exceptions.MXQueryException;
import ch.ethz.mxquery.exceptions.QueryLocation;
+import ch.ethz.mxquery.exceptions.StaticException;
import ch.ethz.mxquery.model.VariableHolder;
import ch.ethz.mxquery.model.XDMIterator;
import ch.ethz.mxquery.query.PreparedStatement;
@@ -182,7 +183,7 @@
return ser;
}
- public Hashtable getProjectionPaths() {
+ public Hashtable getProjectionPaths() throws StaticException {
//Preliminary implementation, producing just a single doc
ObjectObjectPair paths = iter.getProjectionPaths();
Hashtable ht = new Hashtable();
Modified: trunk/MXQuery/src/ch/ethz/mxquery/query/parser/Parser.java
===================================================================
--- trunk/MXQuery/src/ch/ethz/mxquery/query/parser/Parser.java 2011-12-19 13:28:47 UTC (rev 4502)
+++ trunk/MXQuery/src/ch/ethz/mxquery/query/parser/Parser.java 2011-12-19 13:34:52 UTC (rev 4503)
@@ -3915,13 +3915,16 @@
inscopevars[i], true, getCurrentLoc());
// orderedVars[i].setResettable(true);
}
- extendCurrentContextScope();
+ createNewContextScope();
for (int i = 0; i < inscopevars.length; i++) {
getCurrentContext().registerVariable(inscopevars[i], true);
}
- return new GOrderByIterator(getCurrentContext(), getCurrentLoc(),
+ GOrderByIterator ret = new GOrderByIterator(getCurrentContext(), getCurrentLoc(),
arrOptions, stable, orderedVars, arrExprs);
+ removeContextScope();
+
+ return ret;
}
private void collationSpecification() throws MXQueryException,
Modified: trunk/MXQuery/xqib_src/ch/ethz/mxquery/query/impl/PreparedStatementImpl.java
===================================================================
--- trunk/MXQuery/xqib_src/ch/ethz/mxquery/query/impl/PreparedStatementImpl.java 2011-12-19 13:28:47 UTC (rev 4502)
+++ trunk/MXQuery/xqib_src/ch/ethz/mxquery/query/impl/PreparedStatementImpl.java 2011-12-19 13:34:52 UTC (rev 4503)
@@ -15,6 +15,8 @@
package ch.ethz.mxquery.query.impl;
import ch.ethz.mxquery.util.Hashtable;
+import ch.ethz.mxquery.util.ObjectObjectPair;
+
import java.util.Vector;
import com.google.gwt.dom.client.Document;
@@ -30,6 +32,7 @@
import ch.ethz.mxquery.exceptions.ErrorCodes;
import ch.ethz.mxquery.exceptions.MXQueryException;
import ch.ethz.mxquery.exceptions.QueryLocation;
+import ch.ethz.mxquery.exceptions.StaticException;
import ch.ethz.mxquery.model.VariableHolder;
import ch.ethz.mxquery.model.XDMIterator;
import ch.ethz.mxquery.query.PreparedStatement;
@@ -175,4 +178,11 @@
this.addExternalResource(new QName(varname), resource);
}
+ public Hashtable getProjectionPaths() throws StaticException {
+ //Preliminary implementation, producing just a single doc
+ ObjectObjectPair paths = iter.getProjectionPaths();
+ Hashtable ht = new Hashtable();
+ ht.put("DOC", paths);
+ return ht;
+ }
}
Modified: trunk/MXQuery_Android_App/.classpath
===================================================================
--- trunk/MXQuery_Android_App/.classpath 2011-12-19 13:28:47 UTC (rev 4502)
+++ trunk/MXQuery_Android_App/.classpath 2011-12-19 13:34:52 UTC (rev 4503)
@@ -4,5 +4,5 @@
<classpathentry kind="src" path="gen"/>
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
<classpathentry kind="lib" path="/MXQuery/dist/mxquery-android.jar" sourcepath="/MXQuery/dist/mxquery-android-source.jar"/>
- <classpathentry kind="output" path="bin"/>
+ <classpathentry kind="output" path="bin/classes"/>
</classpath>
Added: trunk/MXQuery_Testing/ProjectionTests/queries/Comp1.xq
===================================================================
--- trunk/MXQuery_Testing/ProjectionTests/queries/Comp1.xq (rev 0)
+++ trunk/MXQuery_Testing/ProjectionTests/queries/Comp1.xq 2011-12-19 13:34:52 UTC (rev 4503)
@@ -0,0 +1 @@
+doc("xmark.xml")/site/regions/* = 3
Modified: trunk/MXQuery_Testing/ProjectionTests/queries/Cond1.xq
===================================================================
--- trunk/MXQuery_Testing/ProjectionTests/queries/Cond1.xq 2011-12-19 13:28:47 UTC (rev 4502)
+++ trunk/MXQuery_Testing/ProjectionTests/queries/Cond1.xq 2011-12-19 13:34:52 UTC (rev 4503)
@@ -1,3 +1,3 @@
-if(true)
+if(true())
then doc("xmark.xml")/site/people/person
-else doc("xmark.xml")/site/open_auctions/open_auctions
\ No newline at end of file
+else doc("xmark.xml")/site/open_auctions/open_auction
\ No newline at end of file
Added: trunk/MXQuery_Testing/ProjectionTests/queries/Cond2.xq
===================================================================
--- trunk/MXQuery_Testing/ProjectionTests/queries/Cond2.xq (rev 0)
+++ trunk/MXQuery_Testing/ProjectionTests/queries/Cond2.xq 2011-12-19 13:34:52 UTC (rev 4503)
@@ -0,0 +1,3 @@
+(if(true())
+then doc("xmark.xml")/site/people/person
+else doc("xmark.xml")/site/open_auctions/open_auction)/@id
\ No newline at end of file
Added: trunk/MXQuery_Testing/ProjectionTests/queries/Cond3.xq
===================================================================
--- trunk/MXQuery_Testing/ProjectionTests/queries/Cond3.xq (rev 0)
+++ trunk/MXQuery_Testing/ProjectionTests/queries/Cond3.xq 2011-12-19 13:34:52 UTC (rev 4503)
@@ -0,0 +1,3 @@
+(if(doc("xmark.xml")/site/regions)
+then doc("xmark.xml")/site/people/person
+else doc("xmark.xml")/site/open_auctions/open_auction)/@id
\ No newline at end of file
Added: trunk/MXQuery_Testing/ProjectionTests/queries/Cond4.xq
===================================================================
--- trunk/MXQuery_Testing/ProjectionTests/queries/Cond4.xq (rev 0)
+++ trunk/MXQuery_Testing/ProjectionTests/queries/Cond4.xq 2011-12-19 13:34:52 UTC (rev 4503)
@@ -0,0 +1,3 @@
+(if(count(doc("xmark.xml")/site/regions/*) = 3)
+then doc("xmark.xml")/site/people/person
+else doc("xmark.xml")/site/open_auctions/open_auction)/@id
\ No newline at end of file
Added: trunk/MXQuery_Testing/ProjectionTests/queries/ElemConstr1.xq
===================================================================
--- trunk/MXQuery_Testing/ProjectionTests/queries/ElemConstr1.xq (rev 0)
+++ trunk/MXQuery_Testing/ProjectionTests/queries/ElemConstr1.xq 2011-12-19 13:34:52 UTC (rev 4503)
@@ -0,0 +1,3 @@
+<elem>{if(true())
+then doc("xmark.xml")/site/people/person
+else doc("xmark.xml")/site/open_auctions/open_auction}</elem>/@id
\ No newline at end of file
Added: trunk/MXQuery_Testing/ProjectionTests/queries/FLWOR2.xq
===================================================================
--- trunk/MXQuery_Testing/ProjectionTests/queries/FLWOR2.xq (rev 0)
+++ trunk/MXQuery_Testing/ProjectionTests/queries/FLWOR2.xq 2011-12-19 13:34:52 UTC (rev 4503)
@@ -0,0 +1,3 @@
+for $a in doc("xmark.xml")/site/people/person
+order by $a/emailaddress
+return $a/name
\ No newline at end of file
Added: trunk/MXQuery_Testing/ProjectionTests/queries/Path3.xq
===================================================================
--- trunk/MXQuery_Testing/ProjectionTests/queries/Path3.xq (rev 0)
+++ trunk/MXQuery_Testing/ProjectionTests/queries/Path3.xq 2011-12-19 13:34:52 UTC (rev 4503)
@@ -0,0 +1 @@
+doc("xmark.xml")/site/people/person/@id
\ No newline at end of file
Modified: trunk/MXQuery_Testing/ProjectionTests/queries/XMark01.xq
===================================================================
--- trunk/MXQuery_Testing/ProjectionTests/queries/XMark01.xq 2011-12-19 13:28:47 UTC (rev 4502)
+++ trunk/MXQuery_Testing/ProjectionTests/queries/XMark01.xq 2011-12-19 13:34:52 UTC (rev 4503)
@@ -1,3 +1,4 @@
-let $auction := doc()
-return for $b in $auction/site/people/person[@id = 'person0']
+let $auction := doc("xmark.xml")
+return for $b in $auction/site/people/person
+where $b/@id = 'person0'
return $b/name/text()
\ No newline at end of file
Added: trunk/MXQuery_Testing/ProjectionTests/queries/XMark02.xq
===================================================================
--- trunk/MXQuery_Testing/ProjectionTests/queries/XMark02.xq (rev 0)
+++ trunk/MXQuery_Testing/ProjectionTests/queries/XMark02.xq 2011-12-19 13:34:52 UTC (rev 4503)
@@ -0,0 +1,3 @@
+let $auction := doc("auction.xml") return
+for $b in $auction/site/open_auctions/open_auction
+return <increase>{$b/bidder[1]/increase/text()}</increase>
\ No newline at end of file
Added: trunk/MXQuery_Testing/ProjectionTests/queries/XMark03.xq
===================================================================
--- trunk/MXQuery_Testing/ProjectionTests/queries/XMark03.xq (rev 0)
+++ trunk/MXQuery_Testing/ProjectionTests/queries/XMark03.xq 2011-12-19 13:34:52 UTC (rev 4503)
@@ -0,0 +1,7 @@
+let $auction := doc("auction.xml") return
+for $b in $auction/site/o...
[truncated message content] |
|
From: <pm_...@us...> - 2012-02-07 08:45:03
|
Revision: 4515
http://mxquery.svn.sourceforge.net/mxquery/?rev=4515&view=rev
Author: pm_fischer
Date: 2012-02-07 08:44:57 +0000 (Tue, 07 Feb 2012)
Log Message:
-----------
more merge resolving
Modified Paths:
--------------
trunk/MXQuery/src/ch/ethz/mxquery/iterators/ChildIterator.java
trunk/MXQuery_Testing/ProjectionTests/queries/Cond1.xq
trunk/MXQuery_Testing/ProjectionTests/queries/XMark01.xq
Modified: trunk/MXQuery/src/ch/ethz/mxquery/iterators/ChildIterator.java
===================================================================
--- trunk/MXQuery/src/ch/ethz/mxquery/iterators/ChildIterator.java 2012-02-07 08:43:19 UTC (rev 4514)
+++ trunk/MXQuery/src/ch/ethz/mxquery/iterators/ChildIterator.java 2012-02-07 08:44:57 UTC (rev 4515)
@@ -288,4 +288,6 @@
}
return new ObjectObjectPair(returned, paths.getSecond());
}
+
+
}
Modified: trunk/MXQuery_Testing/ProjectionTests/queries/Cond1.xq
===================================================================
--- trunk/MXQuery_Testing/ProjectionTests/queries/Cond1.xq 2012-02-07 08:43:19 UTC (rev 4514)
+++ trunk/MXQuery_Testing/ProjectionTests/queries/Cond1.xq 2012-02-07 08:44:57 UTC (rev 4515)
@@ -1,3 +1,3 @@
if(true())
then doc("xmark.xml")/site/people/person
-else doc("xmark.xml")/site/open_auctions/open_auction
\ No newline at end of file
+else doc("xmark.xml")/site/open_auctions/open_auction
Modified: trunk/MXQuery_Testing/ProjectionTests/queries/XMark01.xq
===================================================================
--- trunk/MXQuery_Testing/ProjectionTests/queries/XMark01.xq 2012-02-07 08:43:19 UTC (rev 4514)
+++ trunk/MXQuery_Testing/ProjectionTests/queries/XMark01.xq 2012-02-07 08:44:57 UTC (rev 4515)
@@ -1,4 +1,4 @@
let $auction := doc("xmark.xml")
return for $b in $auction/site/people/person
where $b/@id = 'person0'
-return $b/name/text()
\ No newline at end of file
+return $b/name/text()
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <pm_...@us...> - 2012-02-07 08:47:47
|
Revision: 4517
http://mxquery.svn.sourceforge.net/mxquery/?rev=4517&view=rev
Author: pm_fischer
Date: 2012-02-07 08:47:38 +0000 (Tue, 07 Feb 2012)
Log Message:
-----------
continue merging
Modified Paths:
--------------
trunk/MXQuery/src/ch/ethz/mxquery/query/parser/Parser.java
trunk/MXQuery_Testing/ProjectionTests/queries/XMark01.xq
Modified: trunk/MXQuery/src/ch/ethz/mxquery/query/parser/Parser.java
===================================================================
--- trunk/MXQuery/src/ch/ethz/mxquery/query/parser/Parser.java 2012-02-07 08:46:05 UTC (rev 4516)
+++ trunk/MXQuery/src/ch/ethz/mxquery/query/parser/Parser.java 2012-02-07 08:47:38 UTC (rev 4517)
@@ -3916,6 +3916,7 @@
// orderedVars[i].setResettable(true);
}
extendCurrentContextScope();
+
for (int i = 0; i < inscopevars.length; i++) {
getCurrentContext().registerVariable(inscopevars[i], true);
}
Modified: trunk/MXQuery_Testing/ProjectionTests/queries/XMark01.xq
===================================================================
--- trunk/MXQuery_Testing/ProjectionTests/queries/XMark01.xq 2012-02-07 08:46:05 UTC (rev 4516)
+++ trunk/MXQuery_Testing/ProjectionTests/queries/XMark01.xq 2012-02-07 08:47:38 UTC (rev 4517)
@@ -1,3 +1,4 @@
+let $auction := doc()
let $auction := doc("xmark.xml")
return for $b in $auction/site/people/person
where $b/@id = 'person0'
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <pm_...@us...> - 2012-02-07 08:59:31
|
Revision: 4524
http://mxquery.svn.sourceforge.net/mxquery/?rev=4524&view=rev
Author: pm_fischer
Date: 2012-02-07 08:59:24 +0000 (Tue, 07 Feb 2012)
Log Message:
-----------
- Merge updated projection tests
- Adapt classpath to refer to the up-to-date QName class
- consider fixed context scoping in order by also for projection
Modified Paths:
--------------
trunk/MXQuery/.classpath
trunk/MXQuery/src/ch/ethz/mxquery/iterators/GOrderByIterator.java
trunk/MXQuery_Testing/src/ch/ethz/mxquery/test/ProjectionTests.java
trunk/MXQuery_Testing/src/ch/ethz/mxquery/test/ProjectionXMarkTests.java
Modified: trunk/MXQuery/.classpath
===================================================================
--- trunk/MXQuery/.classpath 2012-02-07 08:57:31 UTC (rev 4523)
+++ trunk/MXQuery/.classpath 2012-02-07 08:59:24 UTC (rev 4524)
@@ -1,16 +1,15 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
- <classpathentry kind="src" path="src"/>
- <classpathentry exported="true" kind="lib" path="lib/tagsoup-1.2.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/jax-1_1-fr-qname-class.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/kxml2-min-2.3.0.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/xmlpull_1_1_3_4c.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/jsr173_1.0_api.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/servlet-api.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/xqjapi.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/xercesImpl.jar"/>
- <classpathentry exported="true" kind="lib" path="lib/commons-cli-1.2.jar"/>
- <classpathentry exported="true" kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
- <classpathentry kind="con" path="com.google.gwt.eclipse.core.GWT_CONTAINER"/>
- <classpathentry kind="output" path="bin"/>
-</classpath>
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry exported="true" kind="lib" path="lib/tagsoup-1.2.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/jax-1_1-fr-qname-class.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/kxml2-min-2.3.0.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/xmlpull_1_1_3_4c.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/servlet-api.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/xqjapi.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/xercesImpl.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/commons-cli-1.2.jar"/>
+ <classpathentry exported="true" kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+ <classpathentry kind="con" path="com.google.gwt.eclipse.core.GWT_CONTAINER"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
Modified: trunk/MXQuery/src/ch/ethz/mxquery/iterators/GOrderByIterator.java
===================================================================
--- trunk/MXQuery/src/ch/ethz/mxquery/iterators/GOrderByIterator.java 2012-02-07 08:57:31 UTC (rev 4523)
+++ trunk/MXQuery/src/ch/ethz/mxquery/iterators/GOrderByIterator.java 2012-02-07 08:59:24 UTC (rev 4524)
@@ -316,6 +316,22 @@
}
public ObjectObjectPair getProjectionPaths() throws StaticException {
+
+ // order by re-binds variables, so we need to assign
+ // the projection path of the original variables to them
+
+ for (int i = 0; i < orderedVarsQNames.length; i++) {
+ VariableHolder varholder = context
+ .getVariable(orderedVarsQNames[i]);
+ // use parent context for original variables (given the FLWOR nesting
+ // TODO: does this always work?
+ VariableHolder origvar = context.getParent()
+ .getVariable(orderedVarsQNames[i]);
+ varholder.setProjectionPaths(origvar.getProjectionPaths());
+ }
+
+
+
Set returned = new Set();
Set used = new Set();
Modified: trunk/MXQuery_Testing/src/ch/ethz/mxquery/test/ProjectionTests.java
===================================================================
--- trunk/MXQuery_Testing/src/ch/ethz/mxquery/test/ProjectionTests.java 2012-02-07 08:57:31 UTC (rev 4523)
+++ trunk/MXQuery_Testing/src/ch/ethz/mxquery/test/ProjectionTests.java 2012-02-07 08:59:24 UTC (rev 4524)
@@ -3,14 +3,27 @@
*/
package ch.ethz.mxquery.test;
+import java.io.StringReader;
import java.util.Enumeration;
+import java.util.Vector;
+import ch.ethz.mxquery.contextConfig.Context;
+import ch.ethz.mxquery.datamodel.QName;
+import ch.ethz.mxquery.datamodel.XQName;
+import ch.ethz.mxquery.exceptions.MXQueryException;
+import ch.ethz.mxquery.model.AbstractStep;
+import ch.ethz.mxquery.model.StepInformation;
+import ch.ethz.mxquery.model.XDMIterator;
import ch.ethz.mxquery.query.PreparedStatement;
import ch.ethz.mxquery.testsuite.XQueryTestBase;
import ch.ethz.mxquery.util.Hashtable;
import ch.ethz.mxquery.util.ObjectObjectPair;
import ch.ethz.mxquery.util.Set;
+import ch.ethz.mxquery.xdmio.XDMInputFactory;
+import ch.ethz.mxquery.xdmio.XDMSerializer;
+import ch.ethz.mxquery.xdmio.XDMSerializerSettings;
+import ch.ethz.mxquery.xdmio.XMLSource;
/**
@@ -21,7 +34,578 @@
private static final String TEST_PROJECTION_PREFIX = "ProjectionTests";
private static final String TEST_PROJECTION_QUERY_PREFIX = TEST_PROJECTION_PREFIX+"/queries/";
+ private static final String TEST_PROJECTION_DOC_PREFIX = TEST_PROJECTION_PREFIX+"/docs/";
+ public void test_SinglePath_RootOnly() throws MXQueryException{
+ Context ctx = new Context();
+ ctx.setParserType(Context.NONVALIDATED_INPUT_MODE_STAX_PROJECTION);
+ String xmlDoc = "<a/>";
+ XMLSource reader = XDMInputFactory.createXMLInput(ctx, new StringReader(xmlDoc), true, Context.NO_VALIDATION, null);
+
+ Vector projPaths = new Vector();
+ projPaths.addElement(setUpPath1Keep());
+ //projPaths.addElement(path2);
+
+ String res = runProjectedQuery(reader, projPaths);
+ assertEquals("", res);
+
+}
+
+
+
+ public void test_SinglePath_OneChild() throws MXQueryException{
+ Context ctx = new Context();
+ ctx.setParserType(Context.NONVALIDATED_INPUT_MODE_STAX_PROJECTION);
+ String xmlDoc = "<a><b/></a>";
+ XMLSource reader = XDMInputFactory.createXMLInput(ctx, new StringReader(xmlDoc), true, Context.NO_VALIDATION, null);
+ Vector path1 = setUpPath1Keep();
+
+ Vector projPaths = new Vector();
+ projPaths.addElement(path1);
+ //projPaths.addElement(path2);
+
+ String res = runProjectedQuery(reader, projPaths);
+ assertEquals("", res);
+ }
+
+ public void test_SinglePath_SingleKeepNoChilds() throws MXQueryException{
+ String xmlDoc = "<a><b><c/></b></a>";
+
+ Context ctx = new Context();
+ ctx.setParserType(Context.NONVALIDATED_INPUT_MODE_STAX_PROJECTION);
+ XMLSource reader = XDMInputFactory.createXMLInput(ctx, new StringReader(xmlDoc), true, Context.NO_VALIDATION, null);
+ Vector path1 = setUpPath1Keep();
+
+ Vector projPaths = new Vector();
+ projPaths.addElement(path1);
+ //projPaths.addElement(path2);
+
+ String res = runProjectedQuery(reader, projPaths);
+ assertEquals("<a><b><c/></b></a>", res);
+
+ }
+
+ public void test_SinglePath_SingleNoChilds() throws MXQueryException{
+ String xmlDoc = "<a><b><c/></b></a>";
+
+ Context ctx = new Context();
+ ctx.setParserType(Context.NONVALIDATED_INPUT_MODE_STAX_PROJECTION);
+ XMLSource reader = XDMInputFactory.createXMLInput(ctx, new StringReader(xmlDoc), true, Context.NO_VALIDATION, null);
+ Vector path1 = setUpPath1();
+
+ Vector projPaths = new Vector();
+ projPaths.addElement(path1);
+ //projPaths.addElement(path2);
+
+ String res = runProjectedQuery(reader, projPaths);
+ assertEquals("<a><b><c/></b></a>", res);
+
+ }
+
+
+ public void test_SinglePath_SingleKeepTextChild() throws MXQueryException{
+ String xmlDoc = "<a><b><c>Text</c></b></a>";
+
+ Context ctx = new Context();
+ ctx.setParserType(Context.NONVALIDATED_INPUT_MODE_STAX_PROJECTION);
+ XMLSource reader = XDMInputFactory.createXMLInput(ctx, new StringReader(xmlDoc), true, Context.NO_VALIDATION, null);
+ Vector path1 = setUpPath1Keep();
+
+ Vector projPaths = new Vector();
+ projPaths.addElement(path1);
+ //projPaths.addElement(path2);
+
+ String res = runProjectedQuery(reader, projPaths);
+ assertEquals("<a><b><c>Text</c></b></a>", res);
+
+ }
+
+ public void test_SinglePath_SingleTextChild() throws MXQueryException{
+ String xmlDoc = "<a><b><c>Text</c></b></a>";
+
+ Context ctx = new Context();
+ ctx.setParserType(Context.NONVALIDATED_INPUT_MODE_STAX_PROJECTION);
+ XMLSource reader = XDMInputFactory.createXMLInput(ctx, new StringReader(xmlDoc), true, Context.NO_VALIDATION, null);
+ Vector path1 = setUpPath1();
+
+ Vector projPaths = new Vector();
+ projPaths.addElement(path1);
+ //projPaths.addElement(path2);
+
+ String res = runProjectedQuery(reader, projPaths);
+ assertEquals("<a><b><c/></b></a>", res);
+
+ }
+
+
+ public void test_SinglePath_SingleKeepElementChild1() throws MXQueryException{
+ String xmlDoc = "<a><b><c><d/></c></b></a>";
+
+ Context ctx = new Context();
+ ctx.setParserType(Context.NONVALIDATED_INPUT_MODE_STAX_PROJECTION);
+ XMLSource reader = XDMInputFactory.createXMLInput(ctx, new StringReader(xmlDoc), true, Context.NO_VALIDATION, null);
+ Vector path1 = setUpPath1Keep();
+
+ Vector projPaths = new Vector();
+ projPaths.addElement(path1);
+ //projPaths.addElement(path2);
+
+ String res = runProjectedQuery(reader, projPaths);
+ assertEquals("<a><b><c><d/></c></b></a>", res);
+
+ }
+
+ public void test_SinglePath_SingleElementChild1() throws MXQueryException{
+ String xmlDoc = "<a><b><c><d/></c></b></a>";
+
+ Context ctx = new Context();
+ ctx.setParserType(Context.NONVALIDATED_INPUT_MODE_STAX_PROJECTION);
+ XMLSource reader = XDMInputFactory.createXMLInput(ctx, new StringReader(xmlDoc), true, Context.NO_VALIDATION, null);
+ Vector path1 = setUpPath1();
+
+ Vector projPaths = new Vector();
+ projPaths.addElement(path1);
+ //projPaths.addElement(path2);
+
+ String res = runProjectedQuery(reader, projPaths);
+ assertEquals("<a><b><c/></b></a>", res);
+
+ }
+
+
+ public void test_SinglePath_SingleKeepElementChild2() throws MXQueryException{
+ String xmlDoc = "<a><b><c><d/><e/></c></b></a>";
+
+ Context ctx = new Context();
+ ctx.setParserType(Context.NONVALIDATED_INPUT_MODE_STAX_PROJECTION);
+ XMLSource reader = XDMInputFactory.createXMLInput(ctx, new StringReader(xmlDoc), true, Context.NO_VALIDATION, null);
+ Vector path1 = setUpPath1Keep();
+
+ Vector projPaths = new Vector();
+ projPaths.addElement(path1);
+ //projPaths.addElement(path2);
+
+ String res = runProjectedQuery(reader, projPaths);
+ assertEquals("<a><b><c><d/><e/></c></b></a>", res);
+
+ }
+
+
+ public void test_SinglePath_SingleElementChild2() throws MXQueryException{
+ String xmlDoc = "<a><b><c><d/><e/></c></b></a>";
+
+ Context ctx = new Context();
+ ctx.setParserType(Context.NONVALIDATED_INPUT_MODE_STAX_PROJECTION);
+ XMLSource reader = XDMInputFactory.createXMLInput(ctx, new StringReader(xmlDoc), true, Context.NO_VALIDATION, null);
+ Vector path1 = setUpPath1();
+
+ Vector projPaths = new Vector();
+ projPaths.addElement(path1);
+ //projPaths.addElement(path2);
+
+ String res = runProjectedQuery(reader, projPaths);
+ assertEquals("<a><b><c/></b></a>", res);
+
+ }
+
+
+ public void test_SinglePath_BeforeAfterKeep() throws MXQueryException{
+ String xmlDoc = "<a><x/><b><c><d/><e/></c></b><y/></a>";
+
+ Context ctx = new Context();
+ ctx.setParserType(Context.NONVALIDATED_INPUT_MODE_STAX_PROJECTION);
+ XMLSource reader = XDMInputFactory.createXMLInput(ctx, new StringReader(xmlDoc), true, Context.NO_VALIDATION, null);
+ Vector path1 = setUpPath1Keep();
+
+ Vector projPaths = new Vector();
+ projPaths.addElement(path1);
+ //projPaths.addElement(path2);
+
+ String res = runProjectedQuery(reader, projPaths);
+ assertEquals("<a><b><c><d/><e/></c></b></a>", res);
+
+ }
+
+
+ public void test_SinglePath_BeforeAfter() throws MXQueryException{
+ String xmlDoc = "<a><x/><b><c><d/><e/></c></b><y/></a>";
+
+ Context ctx = new Context();
+ ctx.setParserType(Context.NONVALIDATED_INPUT_MODE_STAX_PROJECTION);
+ XMLSource reader = XDMInputFactory.createXMLInput(ctx, new StringReader(xmlDoc), true, Context.NO_VALIDATION, null);
+ Vector path1 = setUpPath1();
+
+ Vector projPaths = new Vector();
+ projPaths.addElement(path1);
+ //projPaths.addElement(path2);
+
+ String res = runProjectedQuery(reader, projPaths);
+ assertEquals("<a><b><c/></b></a>", res);
+
+ }
+
+
+ public void test_SinglePath_OneEmptyKeep() throws MXQueryException{
+ String xmlDoc = "<a><b><c><d/><e/></c></b><b/></a>";
+
+ Context ctx = new Context();
+ ctx.setParserType(Context.NONVALIDATED_INPUT_MODE_STAX_PROJECTION);
+ XMLSource reader = XDMInputFactory.createXMLInput(ctx, new StringReader(xmlDoc), true, Context.NO_VALIDATION, null);
+ Vector path1 = setUpPath1Keep();
+
+ Vector projPaths = new Vector();
+ projPaths.addElement(path1);
+ //projPaths.addElement(path2);
+
+ String res = runProjectedQuery(reader, projPaths);
+ assertEquals("<a><b><c><d/><e/></c></b></a>", res);
+// showProjectedQuery(reader, projPaths);
+
+ }
+
+
+ public void test_SinglePath_OneEmpty() throws MXQueryException{
+ String xmlDoc = "<a><b><c><d/><e/></c></b><b/></a>";
+
+ Context ctx = new Context();
+ ctx.setParserType(Context.NONVALIDATED_INPUT_MODE_STAX_PROJECTION);
+ XMLSource reader = XDMInputFactory.createXMLInput(ctx, new StringReader(xmlDoc), true, Context.NO_VALIDATION, null);
+ Vector path1 = setUpPath1();
+
+ Vector projPaths = new Vector();
+ projPaths.addElement(path1);
+ //projPaths.addElement(path2);
+
+ String res = runProjectedQuery(reader, projPaths);
+ assertEquals("<a><b><c/></b></a>", res);
+ //showProjectedQuery(reader, projPaths);
+
+ }
+
+
+ public void test_SinglePath_TwoEmptyKeep() throws MXQueryException{
+ String xmlDoc = "<a><b/><b><c><d/><e/></c></b><b/></a>";
+
+ Context ctx = new Context();
+ ctx.setParserType(Context.NONVALIDATED_INPUT_MODE_STAX_PROJECTION);
+ XMLSource reader = XDMInputFactory.createXMLInput(ctx, new StringReader(xmlDoc), true, Context.NO_VALIDATION, null);
+ Vector path1 = setUpPath1Keep();
+
+ Vector projPaths = new Vector();
+ projPaths.addElement(path1);
+ //projPaths.addElement(path2);
+
+ String res = runProjectedQuery(reader, projPaths);
+ assertEquals("<a><b><c><d/><e/></c></b></a>", res);
+// showProjectedQuery(reader, projPaths);
+
+ }
+
+
+ public void test_SinglePath_TwoEmpty() throws MXQueryException{
+ String xmlDoc = "<a><b/><b><c><d/><e/></c></b><b/></a>";
+
+ Context ctx = new Context();
+ ctx.setParserType(Context.NONVALIDATED_INPUT_MODE_STAX_PROJECTION);
+ XMLSource reader = XDMInputFactory.createXMLInput(ctx, new StringReader(xmlDoc), true, Context.NO_VALIDATION, null);
+ Vector path1 = setUpPath1();
+
+ Vector projPaths = new Vector();
+ projPaths.addElement(path1);
+ //projPaths.addElement(path2);
+
+ String res = runProjectedQuery(reader, projPaths);
+ assertEquals("<a><b><c/></b></a>", res);
+ //showProjectedQuery(reader, projPaths);
+
+ }
+
+
+ public void test_SinglePath_SingleKeepTwoElementChild() throws MXQueryException{
+ String xmlDoc = "<a><b><c><d/></c><c></c></b></a>";
+
+ Context ctx = new Context();
+ ctx.setParserType(Context.NONVALIDATED_INPUT_MODE_STAX_PROJECTION);
+ XMLSource reader = XDMInputFactory.createXMLInput(ctx, new StringReader(xmlDoc), true, Context.NO_VALIDATION, null);
+ Vector path1 = setUpPath1Keep();
+
+ Vector projPaths = new Vector();
+ projPaths.addElement(path1);
+ //projPaths.addElement(path2);
+
+ String res = runProjectedQuery(reader, projPaths);
+ assertEquals("<a><b><c><d/></c><c/></b></a>", res);
+
+ }
+
+ public void test_SinglePath_SingleTwoElementChild() throws MXQueryException{
+ String xmlDoc = "<a><b><c><d/></c><c/></b></a>";
+
+ Context ctx = new Context();
+ ctx.setParserType(Context.NONVALIDATED_INPUT_MODE_STAX_PROJECTION);
+ XMLSource reader = XDMInputFactory.createXMLInput(ctx, new StringReader(xmlDoc), true, Context.NO_VALIDATION, null);
+ Vector path1 = setUpPath1();
+
+ Vector projPaths = new Vector();
+ projPaths.addElement(path1);
+ //projPaths.addElement(path2);
+
+ String res = runProjectedQuery(reader, projPaths);
+ assertEquals("<a><b><c/><c/></b></a>", res);
+ //showProjectedQuery(reader, projPaths);
+
+ }
+
+
+ public void test_TwoPaths_SingleKeepNoChilds1() throws MXQueryException{
+ String xmlDoc = "<a><b><c/></b></a>";
+
+ Context ctx = new Context();
+ ctx.setParserType(Context.NONVALIDATED_INPUT_MODE_STAX_PROJECTION);
+ XMLSource reader = XDMInputFactory.createXMLInput(ctx, new StringReader(xmlDoc), true, Context.NO_VALIDATION, null);
+ Vector path1 = setUpPath1Keep();
+ Vector path2 = setUpPath2();
+
+ Vector projPaths = new Vector();
+ projPaths.addElement(path1);
+ projPaths.addElement(path2);
+ //projPaths.addElement(path2);
+
+ String res = runProjectedQuery(reader, projPaths);
+ assertEquals("<a><b><c/></b></a>", res);
+
+ }
+
+
+ public void test_TwoPaths_SingleKeepNoChilds2() throws MXQueryException{
+ String xmlDoc = "<a><d><e/></d></a>";
+
+ Context ctx = new Context();
+ ctx.setParserType(Context.NONVALIDATED_INPUT_MODE_STAX_PROJECTION);
+ XMLSource reader = XDMInputFactory.createXMLInput(ctx, new StringReader(xmlDoc), true, Context.NO_VALIDATION, null);
+ Vector path1 = setUpPath1Keep();
+ Vector path2 = setUpPath2();
+
+ Vector projPaths = new Vector();
+ projPaths.addElement(path1);
+ projPaths.addElement(path2);
+ //projPaths.addElement(path2);
+
+ String res = runProjectedQuery(reader, projPaths);
+ assertEquals("<a><d/></a>", res);
+
+ }
+
+
+ public void test_TwoPaths_PaperSample1() throws MXQueryException{
+
+ Context ctx = new Context();
+ ctx.setParserType(Context.NONVALIDATED_INPUT_MODE_STAX_PROJECTION);
+ XMLSource reader = XDMInputFactory.createXMLInput(ctx, TEST_PROJECTION_DOC_PREFIX+"proj1.xml", true, Context.NO_VALIDATION, null);
+ Vector path1 = setUpPath1Keep();
+ Vector path2 = setUpPath2();
+
+ Vector projPaths = new Vector();
+ projPaths.addElement(path1);
+ projPaths.addElement(path2);
+ //projPaths.addElement(path2);
+
+ String res = runProjectedQuery(reader, projPaths);
+ assertEquals("<a><b><c><f/></c></b><d/></a>", res);
+
+ }
+
+
+ // Test for kept node above, not produced below: Paths={/a/b, /a/b/c/d}, <a><b><c/></b></a> => <a><b/></a>
+
+ public void test_TwoPaths_KeepAbove1() throws MXQueryException{
+
+ String xmlDoc = "<a><b><c/></b></a>";
+
+ Context ctx = new Context();
+ ctx.setParserType(Context.NONVALIDATED_INPUT_MODE_STAX_PROJECTION);
+ XMLSource reader = XDMInputFactory.createXMLInput(ctx, new StringReader(xmlDoc), true, Context.NO_VALIDATION, null);
+ Vector path1 = new Vector();
+ path1.addElement(AbstractStep.ROOT_STEP);
+ path1.addElement(new AbstractStep(StepInformation.AXIS_CHILD,new QName("a")));
+ path1.addElement(new AbstractStep(StepInformation.AXIS_CHILD,new QName("b")));
+ path1.addElement(new AbstractStep(StepInformation.AXIS_CHILD,new QName("c")));
+ path1.addElement(new AbstractStep(StepInformation.AXIS_CHILD,new QName("d")));
+
+ Vector path2 = new Vector();
+ path2.addElement(AbstractStep.ROOT_STEP);
+ path2.addElement(new AbstractStep(StepInformation.AXIS_CHILD,new QName("a")));
+ path2.addElement(new AbstractStep(StepInformation.AXIS_CHILD,new QName("b")));
+
+
+ Vector projPaths = new Vector();
+ projPaths.addElement(path1);
+ projPaths.addElement(path2);
+ //projPaths.addElement(path2);
+
+ String res = runProjectedQuery(reader, projPaths);
+ assertEquals("<a><b/></a>", res);
+// showProjectedQuery(reader, projPaths);
+ }
+
+
+ public void test_SingleDescPath_SingleKeepNoChilds() throws MXQueryException{
+ String xmlDoc = "<a><b><c/></b></a>";
+
+ Context ctx = new Context();
+ ctx.setParserType(Context.NONVALIDATED_INPUT_MODE_STAX_PROJECTION);
+ XMLSource reader = XDMInputFactory.createXMLInput(ctx, new StringReader(xmlDoc), true, Context.NO_VALIDATION, null);
+ Vector path1 = setUpDescPath1Keep();
+
+ Vector projPaths = new Vector();
+ projPaths.addElement(path1);
+ //projPaths.addElement(path2);
+
+ String res = runProjectedQuery(reader, projPaths);
+ assertEquals("<a><b><c/></b></a>", res);
+
+ }
+
+ public void test_SingleDescPath_SingleNoChilds() throws MXQueryException{
+ String xmlDoc = "<a><b><c/></b></a>";
+
+ Context ctx = new Context();
+ ctx.setParserType(Context.NONVALIDATED_INPUT_MODE_STAX_PROJECTION);
+ XMLSource reader = XDMInputFactory.createXMLInput(ctx, new StringReader(xmlDoc), true, Context.NO_VALIDATION, null);
+ Vector path1 = setUpDescPath1();
+
+ Vector projPaths = new Vector();
+ projPaths.addElement(path1);
+ //projPaths.addElement(path2);
+
+ String res = runProjectedQuery(reader, projPaths);
+ assertEquals("<a><b><c/></b></a>", res);
+
+ }
+
+
+
+
+// public void test_Load1() {
+// Context ctx = new Context();
+// ctx.setParserType(Context.NONVALIDATED_INPUT_MODE_STAX_PROJECTION);
+// try {
+// XMLSource reader = XDMInputFactory.createXMLInput(ctx, TEST_PROJECTION_DOC_PREFIX+"proj1.xml", true, Context.NO_VALIDATION, null);
+// Vector path1 = new Vector();
+// path1.addElement(AbstractStep.ROOT_STEP);
+// path1.addElement(new AbstractStep(StepInformation.AXIS_CHILD,new QName("a")));
+// path1.addElement(new AbstractStep(StepInformation.AXIS_CHILD,new QName("b")));
+// path1.addElement(new AbstractStep(StepInformation.AXIS_CHILD,new QName("c")));
+// path1.addElement(AbstractStep.KEEP_SUBTREE);
+//
+// Vector path2 = new Vector();
+// path2.addElement(AbstractStep.ROOT_STEP);
+// path2.addElement(new AbstractStep(StepInformation.AXIS_CHILD,new QName("a")));
+// path2.addElement(new AbstractStep(StepInformation.AXIS_CHILD,new QName("d")));
+//
+//
+// Vector projPaths = new Vector();
+// projPaths.addElement(path1);
+// //projPaths.addElement(path2);
+//
+// reader.setProjectionPaths(projPaths);
+//
+// XDMSerializer ser = new XDMSerializer();
+// ser.eventsToXML(new PrintStream(System.out),reader);
+// } catch (MXQueryException e) {
+// // TODO Auto-generated catch block
+// e.printStackTrace();
+// }
+//
+// }
+//
+//
+// public void test_Load2() {
+// Context ctx = new Context();
+// ctx.setParserType(Context.NONVALIDATED_INPUT_MODE_STAX_PROJECTION);
+// try {
+// XMLSource reader = XDMInputFactory.createXMLInput(ctx, TEST_PROJECTION_DOC_PREFIX+"proj1b.xml", true, Context.NO_VALIDATION, null);
+// Vector path1 = setUpPath1();
+//
+// setUpPath2();
+//
+//
+// Vector projPaths = new Vector();
+// projPaths.addElement(path1);
+// //projPaths.addElement(path2);
+//
+// reader.setProjectionPaths(projPaths);
+//
+// XDMSerializer ser = new XDMSerializer();
+// ser.eventsToXML(new PrintStream(System.out),reader);
+// } catch (MXQueryException e) {
+// // TODO Auto-generated catch block
+// e.printStackTrace();
+// }
+//
+// }
+
+
+ private Vector setUpPath1() throws MXQueryException {
+ Vector path1 = new Vector();
+ path1.addElement(AbstractStep.ROOT_STEP);
+ path1.addElement(new AbstractStep(StepInformation.AXIS_CHILD,new QName("a")));
+ path1.addElement(new AbstractStep(StepInformation.AXIS_CHILD,new QName("b")));
+ path1.addElement(new AbstractStep(StepInformation.AXIS_CHILD,new QName("c")));
+ return path1;
+ }
+
+ private Vector setUpPath1Keep() throws MXQueryException {
+ Vector path1 = setUpPath1();
+ path1.addElement(AbstractStep.KEEP_SUBTREE);
+ return path1;
+ }
+
+
+ private Vector setUpDescPath1() throws MXQueryException {
+ Vector path1 = new Vector();
+ path1.addElement(AbstractStep.ROOT_STEP);
+ path1.addElement(new AbstractStep(StepInformation.AXIS_DESCENDANT,new QName("b")));
+ path1.addElement(new AbstractStep(StepInformation.AXIS_CHILD,new QName("c")));
+ return path1;
+ }
+
+ private Vector setUpDescPath1Keep() throws MXQueryException {
+ Vector path1 = setUpDescPath1();
+ path1.addElement(AbstractStep.KEEP_SUBTREE);
+ return path1;
+ }
+
+
+ private Vector setUpPath2() throws MXQueryException {
+ Vector path2 = new Vector();
+ path2.addElement(AbstractStep.ROOT_STEP);
+ path2.addElement(new AbstractStep(StepInformation.AXIS_CHILD,new QName("a")));
+ path2.addElement(new AbstractStep(StepInformation.AXIS_CHILD,new QName("d")));
+ return path2;
+ }
+
+ private String runProjectedQuery(XMLSource reader, Vector projPaths)
+ throws MXQueryException {
+ reader.setProjectionPaths(projPaths);
+ XDMSerializerSettings set = new XDMSerializerSettings();
+ set.setOmitXMLDeclaration(true);
+ XDMSerializer ser = new XDMSerializer(set);
+ String res = ser.eventsToXML(reader);
+ return res;
+ }
+
+
+ private void showProjectedQuery(XMLSource reader, Vector projPaths)
+ throws MXQueryException {
+ reader.setProjectionPaths(projPaths);
+ XDMSerializerSettings set = new XDMSerializerSettings();
+ set.setOmitXMLDeclaration(true);
+ XDMSerializer ser = new XDMSerializer(set);
+ ser.eventsToXML(System.out,reader);
+ }
+
+
public void test_Path1() throws Exception{
String query = UriToString(TEST_PROJECTION_QUERY_PREFIX+"Path1.xq");
PreparedStatement pi = prepareQuery(query, false,false, false, false, false);
@@ -29,7 +613,7 @@
handleProjectionPaths(ht);
//assertEquals(resultBuffer.toString().trim(), "false");
- }
+ }
public void test_Path2() throws Exception{
String query = UriToString(TEST_PROJECTION_QUERY_PREFIX+"Path2.xq");
@@ -171,20 +755,44 @@
//assertEquals(resultBuffer.toString().trim(), "false");
}
- private void handleProjectionPaths(Hashtable projPaths) {
+ private void handleProjectionPaths(Hashtable projPaths) throws Exception{
ObjectObjectPair paths = (ObjectObjectPair) projPaths.get("DOC");
Set returned = (Set) paths.getFirst();
Set used = (Set) paths.getSecond();
Enumeration en = returned.elements();
while (en.hasMoreElements()) {
- String curPath = (String) en.nextElement();
+ String curPath = translateProjectionPath(en);
System.out.println(curPath+" #");
}
en = used.elements();
while (en.hasMoreElements()) {
- String curPath = (String) en.nextElement();
+ String curPath = translateProjectionPath(en);
System.out.println(curPath);
}
+ }
+
+ private String translateProjectionPath(Enumeration en) throws Exception {
+ Vector curPath = (Vector) en.nextElement();
+ StringBuffer pathString = new StringBuffer();
+ for (int i=0;i<curPath.size();i++) {
+ AbstractStep as = (AbstractStep)curPath.elementAt(i);
+ if (as == AbstractStep.ROOT_STEP)
+ pathString.append("/");
+ else if (as == AbstractStep.KEEP_SUBTREE)
+ pathString.append(" #");
+ else
+ {
+ pathString.append(as.getDirectionString(true));
+ XQName xq = as.getNodeTest().getXQName();
+ if (xq != null)
+ // TODO: What about namespace URIs?
+ pathString.append(xq.toString());
+ else throw new Exception("Unsupported node test for projection - please report");
+ if (i<curPath.size()-2 || ( (AbstractStep)curPath.elementAt(curPath.size()-1) != AbstractStep.KEEP_SUBTREE && i<curPath.size()-1) )
+ pathString.append("/");
+ }
+ }
+ return pathString.toString();
};
}
Modified: trunk/MXQuery_Testing/src/ch/ethz/mxquery/test/ProjectionXMarkTests.java
===================================================================
--- trunk/MXQuery_Testing/src/ch/ethz/mxquery/test/ProjectionXMarkTests.java 2012-02-07 08:57:31 UTC (rev 4523)
+++ trunk/MXQuery_Testing/src/ch/ethz/mxquery/test/ProjectionXMarkTests.java 2012-02-07 08:59:24 UTC (rev 4524)
@@ -4,13 +4,24 @@
package ch.ethz.mxquery.test;
import java.util.Enumeration;
+import java.util.Vector;
+import ch.ethz.mxquery.contextConfig.Context;
+import ch.ethz.mxquery.datamodel.QName;
+import ch.ethz.mxquery.datamodel.XQName;
+import ch.ethz.mxquery.exceptions.MXQueryException;
+import ch.ethz.mxquery.exceptions.StaticException;
+import ch.ethz.mxquery.model.AbstractStep;
import ch.ethz.mxquery.query.PreparedStatement;
import ch.ethz.mxquery.testsuite.XQueryTestBase;
import ch.ethz.mxquery.util.Hashtable;
import ch.ethz.mxquery.util.ObjectObjectPair;
import ch.ethz.mxquery.util.Set;
+import ch.ethz.mxquery.xdmio.XDMInputFactory;
+import ch.ethz.mxquery.xdmio.XDMSerializer;
+import ch.ethz.mxquery.xdmio.XDMSerializerSettings;
+import ch.ethz.mxquery.xdmio.XMLSource;
/**
@@ -21,28 +32,110 @@
private static final String TEST_PROJECTION_PREFIX = "ProjectionTests";
private static final String TEST_PROJECTION_QUERY_PREFIX = TEST_PROJECTION_PREFIX+"/queries/";
-
- public void test_XMark01() throws Exception{
+ private static final String TEST_PROJECTION_DOC_PREFIX = TEST_PROJECTION_PREFIX+"/docs/";
+
+ public void test_XMark01_Paths() throws Exception{
String query = UriToString(TEST_PROJECTION_QUERY_PREFIX+"XMark01.xq");
PreparedStatement pi = prepareQuery(query, false,false, false, false, false);
+ pi.setProjectionInformation(new QName("input"), getRootProjectionPaths());
Hashtable ht = pi.getProjectionPaths();
handleProjectionPaths(ht);
//assertEquals(resultBuffer.toString().trim(), "false");
};
+
+
+ public void test_XMark01_Load() throws Exception{
+ String query = UriToString(TEST_PROJECTION_QUERY_PREFIX+"XMark01.xq");
+ PreparedStatement pi = prepareQuery(query, false,false, false, false, false);
+ pi.setProjectionInformation(new QName("input"), getRootProjectionPaths());
+ Hashtable ht = pi.getProjectionPaths();
+ Context ctx = new Context();
+ ctx.setParserType(Context.NONVALIDATED_INPUT_MODE_STAX_PROJECTION);
+ XMLSource reader = XDMInputFactory.createXMLInput(ctx, TEST_PROJECTION_DOC_PREFIX+"XMark_0.01.simple.xml", true, Context.NO_VALIDATION, null);
+// String res = runProjectedQuery(reader, handleProjectionPathsForProcessing(ht));
+// System.out.println(res);
+ showProjectedQuery(reader, handleProjectionPathsForProcessing(ht));
+
+ //assertEquals(resultBuffer.toString().trim(), "false");
+ };
+
+
+ public void test_XMark01_Normal() throws Exception{
+ String query = UriToString(TEST_PROJECTION_QUERY_PREFIX+"XMark01.xq");
+ String fileName = TEST_PROJECTION_DOC_PREFIX+"XMark_0.01.simp...
[truncated message content] |
|
From: <pm_...@us...> - 2012-02-08 15:43:16
|
Revision: 4528
http://mxquery.svn.sourceforge.net/mxquery/?rev=4528&view=rev
Author: pm_fischer
Date: 2012-02-08 15:43:03 +0000 (Wed, 08 Feb 2012)
Log Message:
-----------
One more attempt to fix build problems and push out all projection work
Modified Paths:
--------------
trunk/MXQuery/midp_src/ch/ethz/mxquery/query/impl/PreparedStatementImpl.java
trunk/MXQuery/src/ch/ethz/mxquery/functions/fn/DataValuesIterator.java
trunk/MXQuery/src/ch/ethz/mxquery/iterators/AttributeIterator.java
trunk/MXQuery/src/ch/ethz/mxquery/iterators/ChildIterator.java
trunk/MXQuery/src/ch/ethz/mxquery/iterators/DescendantOrSelfIterator.java
trunk/MXQuery/src/ch/ethz/mxquery/iterators/XMLContent.java
trunk/MXQuery/src/ch/ethz/mxquery/query/PreparedStatement.java
trunk/MXQuery/src/ch/ethz/mxquery/query/impl/PreparedStatementImpl.java
trunk/MXQuery/src/ch/ethz/mxquery/xdmio/xmlAdapters/NonValidatingStaxAdapterProjection.java
trunk/MXQuery/xqib_src/ch/ethz/mxquery/query/impl/PreparedStatementImpl.java
trunk/MXQuery_Testing/ProjectionTests/queries/XMark01.xq
trunk/MXQuery_Testing/ProjectionTests/queries/XMark02.xq
trunk/MXQuery_Testing/ProjectionTests/queries/XMark03.xq
trunk/MXQuery_Testing/ProjectionTests/queries/XMark04.xq
trunk/MXQuery_Testing/ProjectionTests/queries/XMark05.xq
trunk/MXQuery_Testing/ProjectionTests/queries/XMark06.xq
trunk/MXQuery_Testing/ProjectionTests/queries/XMark07.xq
trunk/MXQuery_Testing/ProjectionTests/queries/XMark08.xq
trunk/MXQuery_Testing/ProjectionTests/queries/XMark09.xq
trunk/MXQuery_Testing/ProjectionTests/queries/XMark10.xq
trunk/MXQuery_Testing/ProjectionTests/queries/XMark11.xq
trunk/MXQuery_Testing/ProjectionTests/queries/XMark12.xq
trunk/MXQuery_Testing/ProjectionTests/queries/XMark13.xq
trunk/MXQuery_Testing/ProjectionTests/queries/XMark14.xq
trunk/MXQuery_Testing/ProjectionTests/queries/XMark15.xq
trunk/MXQuery_Testing/ProjectionTests/queries/XMark16.xq
trunk/MXQuery_Testing/ProjectionTests/queries/XMark17.xq
trunk/MXQuery_Testing/ProjectionTests/queries/XMark18.xq
trunk/MXQuery_Testing/ProjectionTests/queries/XMark19.xq
trunk/MXQuery_Testing/ProjectionTests/queries/XMark20.xq
Modified: trunk/MXQuery/midp_src/ch/ethz/mxquery/query/impl/PreparedStatementImpl.java
===================================================================
--- trunk/MXQuery/midp_src/ch/ethz/mxquery/query/impl/PreparedStatementImpl.java 2012-02-07 09:34:46 UTC (rev 4527)
+++ trunk/MXQuery/midp_src/ch/ethz/mxquery/query/impl/PreparedStatementImpl.java 2012-02-08 15:43:03 UTC (rev 4528)
@@ -181,4 +181,11 @@
ht.put("DOC", paths);
return ht;
}
+
+ public void setProjectionInformation(QName varname,
+ ObjectObjectPair paths) throws StaticException {
+ VariableHolder vh = ctx.getVariable(varname);
+ vh.setProjectionPaths(paths);
+ }
+
}
Modified: trunk/MXQuery/src/ch/ethz/mxquery/functions/fn/DataValuesIterator.java
===================================================================
--- trunk/MXQuery/src/ch/ethz/mxquery/functions/fn/DataValuesIterator.java 2012-02-07 09:34:46 UTC (rev 4527)
+++ trunk/MXQuery/src/ch/ethz/mxquery/functions/fn/DataValuesIterator.java 2012-02-08 15:43:03 UTC (rev 4528)
@@ -760,7 +760,7 @@
while (returnedPaths.hasMoreElements()) {
Vector curRetPath = (Vector)returnedPaths.nextElement();
Vector res = new Vector();
- res.addAll(curRetPath);
+ Utils.addToVector(curRetPath,res);
res.addElement(AbstractStep.KEEP_SUBTREE);
used.add(res);
}
Modified: trunk/MXQuery/src/ch/ethz/mxquery/iterators/AttributeIterator.java
===================================================================
--- trunk/MXQuery/src/ch/ethz/mxquery/iterators/AttributeIterator.java 2012-02-07 09:34:46 UTC (rev 4527)
+++ trunk/MXQuery/src/ch/ethz/mxquery/iterators/AttributeIterator.java 2012-02-08 15:43:03 UTC (rev 4528)
@@ -38,7 +38,9 @@
import ch.ethz.mxquery.util.KXmlSerializer;
import ch.ethz.mxquery.util.ObjectObjectPair;
import ch.ethz.mxquery.util.Set;
+import ch.ethz.mxquery.util.Utils;
+
/**
* Event of an Attribute Declaration in XQuery ('@attributename')
*
@@ -184,7 +186,7 @@
while (pathEnum.hasMoreElements()) {
Vector prev = (Vector) pathEnum.nextElement();
Vector res = new Vector();
- res.addAll(prev);
+ Utils.addToVector(prev,res);
res.addElement(new AbstractStep(AXIS_ATTRIBUTE, stepData));
returned.add(res);
}
Modified: trunk/MXQuery/src/ch/ethz/mxquery/iterators/ChildIterator.java
===================================================================
--- trunk/MXQuery/src/ch/ethz/mxquery/iterators/ChildIterator.java 2012-02-07 09:34:46 UTC (rev 4527)
+++ trunk/MXQuery/src/ch/ethz/mxquery/iterators/ChildIterator.java 2012-02-08 15:43:03 UTC (rev 4528)
@@ -42,6 +42,7 @@
import ch.ethz.mxquery.util.LogLevel;
import ch.ethz.mxquery.util.ObjectObjectPair;
import ch.ethz.mxquery.util.Set;
+import ch.ethz.mxquery.util.Utils;
/**
*
@@ -274,7 +275,7 @@
while (pathEnum.hasMoreElements()) {
Vector res = new Vector();
Vector prev = (Vector) pathEnum.nextElement();
- res.addAll(prev);
+ Utils.addToVector(prev,res);
if (stepData.getXQName() != null)
res.addElement(new AbstractStep(AXIS_CHILD, stepData));
else
Modified: trunk/MXQuery/src/ch/ethz/mxquery/iterators/DescendantOrSelfIterator.java
===================================================================
--- trunk/MXQuery/src/ch/ethz/mxquery/iterators/DescendantOrSelfIterator.java 2012-02-07 09:34:46 UTC (rev 4527)
+++ trunk/MXQuery/src/ch/ethz/mxquery/iterators/DescendantOrSelfIterator.java 2012-02-08 15:43:03 UTC (rev 4528)
@@ -45,6 +45,7 @@
import ch.ethz.mxquery.util.KXmlSerializer;
import ch.ethz.mxquery.util.ObjectObjectPair;
import ch.ethz.mxquery.util.Set;
+import ch.ethz.mxquery.util.Utils;
/**
*
@@ -464,7 +465,7 @@
while (pathEnum.hasMoreElements()) {
Vector prev = (Vector) pathEnum.nextElement();
Vector res = new Vector();
- res.addAll(prev);
+ Utils.addToVector(prev,res);
res.addElement(new AbstractStep(descAxis, stepData));
returned.add(res);
}
Modified: trunk/MXQuery/src/ch/ethz/mxquery/iterators/XMLContent.java
===================================================================
--- trunk/MXQuery/src/ch/ethz/mxquery/iterators/XMLContent.java 2012-02-07 09:34:46 UTC (rev 4527)
+++ trunk/MXQuery/src/ch/ethz/mxquery/iterators/XMLContent.java 2012-02-08 15:43:03 UTC (rev 4528)
@@ -48,6 +48,7 @@
import ch.ethz.mxquery.util.KXmlSerializer;
import ch.ethz.mxquery.util.ObjectObjectPair;
import ch.ethz.mxquery.util.Set;
+import ch.ethz.mxquery.util.Utils;
import ch.ethz.mxquery.util.URIUtils;
/**
@@ -621,7 +622,7 @@
while (returnedPaths.hasMoreElements()) {
Vector curRetPath = (Vector)returnedPaths.nextElement();
Vector res = new Vector();
- res.addAll(curRetPath);
+ Utils.addToVector(curRetPath,res);
res.addElement(AbstractStep.KEEP_SUBTREE);
used.add(res);
}
Modified: trunk/MXQuery/src/ch/ethz/mxquery/query/PreparedStatement.java
===================================================================
--- trunk/MXQuery/src/ch/ethz/mxquery/query/PreparedStatement.java 2012-02-07 09:34:46 UTC (rev 4527)
+++ trunk/MXQuery/src/ch/ethz/mxquery/query/PreparedStatement.java 2012-02-08 15:43:03 UTC (rev 4528)
@@ -25,6 +25,7 @@
import ch.ethz.mxquery.exceptions.StaticException;
import ch.ethz.mxquery.model.XDMIterator;
import ch.ethz.mxquery.util.Hashtable;
+import ch.ethz.mxquery.util.ObjectObjectPair;
import ch.ethz.mxquery.xdmio.StoreSet;
import ch.ethz.mxquery.xdmio.XDMSerializerSettings;
@@ -152,4 +153,13 @@
*/
public Hashtable getProjectionPaths() throws StaticException;
+ /**
+ * Provide projection path information for external variables
+ * @param varname A QName denoting the variable
+ * @param paths returned/used paths of the input of this variable
+ * @throws StaticException thrown if the variable could not be found
+ */
+ public void setProjectionInformation(QName varname, ObjectObjectPair paths) throws StaticException;
+
+
}
Modified: trunk/MXQuery/src/ch/ethz/mxquery/query/impl/PreparedStatementImpl.java
===================================================================
--- trunk/MXQuery/src/ch/ethz/mxquery/query/impl/PreparedStatementImpl.java 2012-02-07 09:34:46 UTC (rev 4527)
+++ trunk/MXQuery/src/ch/ethz/mxquery/query/impl/PreparedStatementImpl.java 2012-02-08 15:43:03 UTC (rev 4528)
@@ -190,4 +190,11 @@
ht.put("DOC", paths);
return ht;
}
+
+ public void setProjectionInformation(QName varname,
+ ObjectObjectPair paths) throws StaticException {
+ VariableHolder vh = ctx.getVariable(varname);
+ vh.setProjectionPaths(paths);
+ }
+
}
Modified: trunk/MXQuery/src/ch/ethz/mxquery/xdmio/xmlAdapters/NonValidatingStaxAdapterProjection.java
===================================================================
--- trunk/MXQuery/src/ch/ethz/mxquery/xdmio/xmlAdapters/NonValidatingStaxAdapterProjection.java 2012-02-07 09:34:46 UTC (rev 4527)
+++ trunk/MXQuery/src/ch/ethz/mxquery/xdmio/xmlAdapters/NonValidatingStaxAdapterProjection.java 2012-02-08 15:43:03 UTC (rev 4528)
@@ -88,8 +88,6 @@
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamReader;
-import sun.dc.pr.PathStroker;
-
import ch.ethz.mxquery.contextConfig.Context;
import ch.ethz.mxquery.datamodel.QName;
import ch.ethz.mxquery.datamodel.XQName;
@@ -104,27 +102,35 @@
import ch.ethz.mxquery.exceptions.MXQueryException;
import ch.ethz.mxquery.exceptions.QueryLocation;
import ch.ethz.mxquery.model.AbstractStep;
+import ch.ethz.mxquery.model.StepInformation;
import ch.ethz.mxquery.model.XDMIterator;
public class NonValidatingStaxAdapterProjection extends XDMImportAdapter {
private XMLStreamReader reader;
- private LinkedList tokensList;
+ private LinkedList tokensList;
private ArrayList projectionPaths;
- private int [] projPathPos;
+ private HashSet [] projPathPos;
+ // at which position is each projected path: advance when open, go back when close
+ // if there were only child steps, each path has only a single position
+ // once we include descendant steps, each path can be at multiple steps:
+ // finding a matching descendant node means that we both advance (to process the following steps)
+ // and stay at this node (to find nested
- private Stack bufferedPathName;
- private Stack bufferedAttributes;
+ private Stack bufferedPathName; // keep track of the "moved" paths seen so far, only output if a descendant is actually kept
+ private Stack bufferedAttributes; // keep attributes of "kept" elements or "kept" attributes themselves.
+ //attributes of "moved" elements do not be kept if they are not "kept" themselves
- private HashSet activePaths;
+ private HashSet activePaths; // keep track of the paths that are currently active
private int [] lastActiveStep;
- private Stack keptNodes; // level?, pointer to bufferPathName
+ private Stack keptNodes; // nodes that were seen as "keep" while other still moved
+ // needed if the moving paths never go to keep/keep_sub
- private int pathProducedLevel = 0;
+ private int pathProducedLevel = 0; // up to which level did we already produce the "moved" paths
int skipKeepLevel = -1;
@@ -177,8 +183,27 @@
}
tok = new CommentToken(createNextTokenId(Type.COMMENT, null), reader.getText(),curNsScope);
break;
- case XMLStreamConstants.END_DOCUMENT:
- tok = new Token(Type.END_DOCUMENT,null,curNsScope);
+ case XMLStreamConstants.END_DOCUMENT: {
+ java.util.Iterator pathIt = activePaths.iterator();
+ while (pathIt.hasNext()) {
+ int pathPos = ((Integer)pathIt.next()).intValue();
+ java.util.Iterator pathPosIt = projPathPos[pathPos].iterator();
+ HashSet newVals = new HashSet();
+ while (pathPosIt.hasNext()) {
+ int curPos = ((Integer)pathPosIt.next()).intValue();
+ AbstractStep as = ((AbstractStep) ((Vector)projectionPaths.get(pathPos)).elementAt(curPos));
+ if (as == AbstractStep.ROOT_STEP) {
+ pathPosIt.remove();
+ newVals.add(new Integer(--curPos));
+ }
+ }
+ projPathPos[pathPos].addAll(newVals);
+ }
+ // Sanity check: all paths are active again
+ if (activePaths.size() != projectionPaths.size())
+ throw new MXQueryException(ErrorCodes.A0007_EC_IO, "Number of active paths does not match overall paths"+activePaths.size()+" "+projectionPaths.size(), loc);
+ tok = new Token(Type.END_DOCUMENT,null,curNsScope);
+ }
break;
case XMLStreamConstants.END_ELEMENT: {
boolean emitTag = false;
@@ -276,9 +301,23 @@
java.util.Iterator pathIt = activePaths.iterator();
while (pathIt.hasNext()) {
int pathPos = ((Integer)pathIt.next()).intValue();
+ java.util.Iterator pathPosIt = projPathPos[pathPos].iterator();
+ HashSet newVals = new HashSet();
+ while (pathPosIt.hasNext()) {
+ int curPos = ((Integer)pathPosIt.next()).intValue();
+ AbstractStep as = ((AbstractStep) ((Vector)projectionPaths.get(pathPos)).elementAt(curPos));
+ if (as.getDirection() == StepInformation.AXIS_CHILD ||
+ (as.getDirection() == StepInformation.AXIS_DESCENDANT && level < curPos)) {
+ // TODO: More precise "drop" from descendant than literal path position
+ pathPosIt.remove();
+ newVals.add(new Integer(--curPos));
+ }
+ }
+ projPathPos[pathPos].addAll(newVals);
+ }
+
- projPathPos[pathPos]--;
- }
+
restoreDroppedPaths();
bufferedPathName.pop();
} break;
@@ -287,36 +326,24 @@
//decide if keep or move directly, when we came from SKIP
//SKIP->KEEP: reached skipKeepLevel, level above matched
// SKIP->MOVE: reached skipKeepLevel, level above did not match
- //javax.xml.namespace.QName name = reader.getName();
- for (int pathPos=0;pathPos<projectionPaths.size();pathPos++) {
- Vector path = (Vector)projectionPaths.get(pathPos);
-
- if (path.size()==level+1) {
- XQName curPathCheck = ((AbstractStep) (path).elementAt(projPathPos[pathPos])).getNodeTest().getXQName();
- if (equalsQNames(curPathCheck, name))
- activePaths.add(new Integer(pathPos));
- }
-
+ for (int pathPos=0;pathPos<projectionPaths.size();pathPos++) {
+ Vector path = (Vector)projectionPaths.get(pathPos);
+
+ if (path.size()==level+1) {
+ java.util.Iterator pathPosIt = projPathPos[pathPos].iterator();
+ while (pathPosIt.hasNext()) {
+ int curPos = ((Integer)pathPosIt.next()).intValue();
+ AbstractStep as = ((AbstractStep) ((Vector)projectionPaths.get(pathPos)).elementAt(curPos));
+ XQName curPathCheck = as.getNodeTest().getXQName();
+ if (equalsQNames(curPathCheck, name))
+ activePaths.add(new Integer(pathPos));
+ }
+ }
+
}
-// Vector path = (Vector)projectionPaths.get(0);
-
-// if (path.size() == projPathPos[0]+1) {// last element in path, and not a "KEEP"
// really keep
emitTag = true;
-// } else {
-// curProjMode = PROJ_MODE_MOVE;
-// if (bufferedPathName.size() > level && bufferedPathName.get(level).equals(name)) {
-// emitTag = true;
-//
-// }
-// bufferedPathName.pop();
-// projPathPos[0]--;
-// }
-// XQName curPathCheck = ((AbstractStep) (path).elementAt(projPathPos[0])).getNodeTest().getXQName();
-// if (!equalsQNames(curPathCheck,name))
-// throw new MXQueryException(ErrorCodes.A0007_EC_IO, "Inconsistency in projecting, expected "+curPathCheck+" saw "+name, loc);
- //projPathPos[0]--;
curProjMode = PROJ_MODE_MOVE;
pathProducedLevel--;
@@ -364,15 +391,26 @@
}
tok = new ProcessingInstrToken(createNextTokenId(Type.PROCESSING_INSTRUCTION, null), reader.getPIData(), reader.getPITarget(),curNsScope);
break;
- case XMLStreamConstants.START_DOCUMENT:
- AbstractStep as = ((AbstractStep) ((Vector)projectionPaths.get(0)).elementAt(projPathPos[0]));
- if (as == AbstractStep.ROOT_STEP) {
- projPathPos[0]++;
- curProjMode = PROJ_MODE_MOVE;
+ case XMLStreamConstants.START_DOCUMENT: {
+
+ java.util.Iterator pathIt = activePaths.iterator();
+ while (pathIt.hasNext()) {
+ int pathPos = ((Integer)pathIt.next()).intValue();
+ java.util.Iterator pathPosIt = projPathPos[pathPos].iterator();
+ HashSet newVals = new HashSet();
+ while (pathPosIt.hasNext()) {
+ int curPos = ((Integer)pathPosIt.next()).intValue();
+ AbstractStep as = ((AbstractStep) ((Vector)projectionPaths.get(pathPos)).elementAt(curPos));
+ if (as == AbstractStep.ROOT_STEP) {
+ pathPosIt.remove();
+ newVals.add(new Integer(++curPos));
+ }
}
-
- tok = new Token(Type.START_DOCUMENT,createNextTokenId(Type.START_DOCUMENT, null),curNsScope);
- break;
+ projPathPos[pathPos].addAll(newVals);
+ }
+ tok = new Token(Type.START_DOCUMENT,createNextTokenId(Type.START_DOCUMENT, null),curNsScope);
+ }
+ break;
case XMLStreamConstants.START_ELEMENT:
level++;
// "shortcut": if we skip, we do not even have to retrieve names etc
@@ -399,54 +437,64 @@
// check if node name fits with currently active paths
switch (curProjMode) {
- case PROJ_MODE_MOVE:
+ case PROJ_MODE_MOVE: {
boolean bufferNode = false;
java.util.Iterator pathIt = activePaths.iterator();
while (pathIt.hasNext()) {
int pathPos = ((Integer)pathIt.next()).intValue();
- as = ((AbstractStep) ((Vector)projectionPaths.get(pathPos)).elementAt(projPathPos[pathPos]));
- // if any path goes to keep, we need to keep everything below
- if (as == AbstractStep.KEEP_SUBTREE) {
- curProjMode = PROJ_MODE_KEEP_SUB;
- skipKeepLevel = level;
- emitTag = true;
- // no need to cover individual paths any more?
- // break?
- } else {
+ java.util.Iterator pathPosIt = projPathPos[pathPos].iterator();
+ while (pathPosIt.hasNext()) {
+ int curPos = ((Integer)pathPosIt.next()).intValue();
+ AbstractStep as = ((AbstractStep) ((Vector)projectionPaths.get(pathPos)).elementAt(curPos));
+
+ // if any path goes to keep, we need to keep everything below
+ if (as == AbstractStep.KEEP_SUBTREE) {
+ curProjMode = PROJ_MODE_KEEP_SUB;
+ skipKeepLevel = level;
+ emitTag = true;
+ } else {
XQName curPathCheck = as.getNodeTest().getXQName();
+ int dir = as.getDirection();
+ // if child, become inactive if we don't match or reach keep
+ // if descendant, stay moving even if there is no match or we find keep
if (equalsQNames(curPathCheck,name)) {
// possibly relevant path, so buffer the path
bufferNode = true;
- // check name: if true, then either keep or move
+ // check name: if true, then either keep or move
Vector path = ((Vector)projectionPaths.get(pathPos));
- if (path.size() <= projPathPos[pathPos]+1) {
+ if (path.size() <= curPos+1) {
//curProjMode = PROJ_MODE_KEEP;
// mark that we may have to keep this node
keepNode = true;
- lastActiveStep[pathPos] = level;
- activePaths.remove(new Integer(pathPos));
+ if (dir == StepInformation.AXIS_CHILD) {
+ lastActiveStep[pathPos] = level;
+ pathIt.remove();
+ }
}
- else if (path.elementAt(path.size()-1)==AbstractStep.KEEP_SUBTREE && path.size() <= projPathPos[pathPos]+2) {
+ else if (path.elementAt(path.size()-1)==AbstractStep.KEEP_SUBTREE && path.size() <= curPos+2) {
curProjMode = PROJ_MODE_KEEP_SUB;
}
// else stay in MOVE
- } else { // otherwise remove from set of active paths
+ } else {
+ // if no match and child step, remove from set of active paths
// only assign new last active
-// if (lastActiveStep[pathPos]<0)
+ if (dir == StepInformation.AXIS_CHILD) {
lastActiveStep[pathPos] = level;
-// else {
-// lastActiveStep[pathPos] = lastActiveStep[pathPos]; // dummy for debugging
-// }
- activePaths.remove(new Integer(pathPos));
- //curProjMode = PROJ_MODE_SKIP;
+ pathIt.remove();
+ } else if (dir == StepInformation.AXIS_DESCENDANT) {
+ bufferNode = true;
+ }
}
+ }
+
}
+
}
if (bufferNode)
bufferedPathName.push(name);
-
+ }
break;
case PROJ_MODE_KEEP_SUB:
emitTag = true; // no check, just output
@@ -474,15 +522,33 @@
}
- // TODO: set up/sort things out according to state transitions
+ // set up/sort things out according to state transitions
if (oldMode == PROJ_MODE_MOVE && curProjMode == PROJ_MODE_MOVE) {
// advance all active paths
java.util.Iterator pathIt = activePaths.iterator();
while (pathIt.hasNext()) {
int pathPos = ((Integer)pathIt.next()).intValue();
-
- projPathPos[pathPos]++;
+ java.util.Iterator pathPosIt = projPathPos[pathPos].iterator();
+ HashSet newVals = new HashSet();
+ while (pathPosIt.hasNext()) {
+ int curPos = ((Integer)pathPosIt.next()).intValue();
+ AbstractStep as = ((AbstractStep) ((Vector)projectionPaths.get(pathPos)).elementAt(curPos));
+ int dir = as.getDirection();
+ // Child moves down, descandant stays and moves on
+ if (dir == StepInformation.AXIS_CHILD) {
+ pathPosIt.remove();
+ newVals.add(new Integer(++curPos));
+ }
+ else if (dir == StepInformation.AXIS_DESCENDANT) {
+ XQName curPathCheck = as.getNodeTest().getXQName();
+ if (equalsQNames(curPathCheck,name) && curPos < ((Vector)projectionPaths.get(pathPos)).size()-1) {
+ newVals.add(new Integer(++curPos));
+ }
+ }
+
+ }
+ projPathPos[pathPos].addAll(newVals);
}
if (keepNode)
// put this node on the "keep" list
@@ -657,11 +723,12 @@
public void setProjectionPaths(Vector paths) {
projectionPaths = new ArrayList();
projectionPaths.addAll(paths);
- projPathPos = new int[projectionPaths.size()];
+ projPathPos = new HashSet[projectionPaths.size()];
activePaths = new HashSet();
lastActiveStep = new int[projectionPaths.size()];
for (int i=0;i<projPathPos.length;i++) {
- projPathPos[i] = 0;
+ projPathPos[i] = new HashSet();
+ projPathPos[i].add(new Integer(0));
activePaths.add(new Integer(i));
lastActiveStep[i] = -1;
}
Modified: trunk/MXQuery/xqib_src/ch/ethz/mxquery/query/impl/PreparedStatementImpl.java
===================================================================
--- trunk/MXQuery/xqib_src/ch/ethz/mxquery/query/impl/PreparedStatementImpl.java 2012-02-07 09:34:46 UTC (rev 4527)
+++ trunk/MXQuery/xqib_src/ch/ethz/mxquery/query/impl/PreparedStatementImpl.java 2012-02-08 15:43:03 UTC (rev 4528)
@@ -184,5 +184,12 @@
Hashtable ht = new Hashtable();
ht.put("DOC", paths);
return ht;
+ }
+
+ public void setProjectionInformation(QName varname,
+ ObjectObjectPair paths) throws StaticException {
+ VariableHolder vh = ctx.getVariable(varname);
+ vh.setProjectionPaths(paths);
}
+
}
Modified: trunk/MXQuery_Testing/ProjectionTests/queries/XMark01.xq
===================================================================
--- trunk/MXQuery_Testing/ProjectionTests/queries/XMark01.xq 2012-02-07 09:34:46 UTC (rev 4527)
+++ trunk/MXQuery_Testing/ProjectionTests/queries/XMark01.xq 2012-02-08 15:43:03 UTC (rev 4528)
@@ -1,5 +1,5 @@
-let $auction := doc()
-let $auction := doc("xmark.xml")
+declare variable $input external;
+let $auction := $input
return for $b in $auction/site/people/person
-where $b/@id = 'person0'
+where $b/id = 'person0'
return $b/name/text()
Modified: trunk/MXQuery_Testing/ProjectionTests/queries/XMark02.xq
===================================================================
--- trunk/MXQuery_Testing/ProjectionTests/queries/XMark02.xq 2012-02-07 09:34:46 UTC (rev 4527)
+++ trunk/MXQuery_Testing/ProjectionTests/queries/XMark02.xq 2012-02-08 15:43:03 UTC (rev 4528)
@@ -1,3 +1,5 @@
-let $auction := doc("auction.xml") return
+declare variable $input external;
+let $auction := $input
+return
for $b in $auction/site/open_auctions/open_auction
return <increase>{$b/bidder[1]/increase/text()}</increase>
\ No newline at end of file
Modified: trunk/MXQuery_Testing/ProjectionTests/queries/XMark03.xq
===================================================================
--- trunk/MXQuery_Testing/ProjectionTests/queries/XMark03.xq 2012-02-07 09:34:46 UTC (rev 4527)
+++ trunk/MXQuery_Testing/ProjectionTests/queries/XMark03.xq 2012-02-08 15:43:03 UTC (rev 4528)
@@ -1,4 +1,6 @@
-let $auction := doc("auction.xml") return
+declare variable $input external;
+let $auction := $input
+return
for $b in $auction/site/open_auctions/open_auction
where $b/bidder[1]/increase * 2 <= $b/bidder[last()]/increase
return
Modified: trunk/MXQuery_Testing/ProjectionTests/queries/XMark04.xq
===================================================================
--- trunk/MXQuery_Testing/ProjectionTests/queries/XMark04.xq 2012-02-07 09:34:46 UTC (rev 4527)
+++ trunk/MXQuery_Testing/ProjectionTests/queries/XMark04.xq 2012-02-08 15:43:03 UTC (rev 4528)
@@ -1,4 +1,6 @@
-let $auction := doc("auction.xml") return
+declare variable $input external;
+let $auction := $input
+return
for $b in $auction/site/open_auctions/open_auction
where
some $pr1 in $b/bidder/personref[person = "person20"],
Modified: trunk/MXQuery_Testing/ProjectionTests/queries/XMark05.xq
===================================================================
--- trunk/MXQuery_Testing/ProjectionTests/queries/XMark05.xq 2012-02-07 09:34:46 UTC (rev 4527)
+++ trunk/MXQuery_Testing/ProjectionTests/queries/XMark05.xq 2012-02-08 15:43:03 UTC (rev 4528)
@@ -1,4 +1,6 @@
-let $auction := doc("auction.xml") return
+declare variable $input external;
+let $auction := $input
+return
count(
for $i in $auction/site/closed_auctions/closed_auction
where $i/price >= 40
Modified: trunk/MXQuery_Testing/ProjectionTests/queries/XMark06.xq
===================================================================
--- trunk/MXQuery_Testing/ProjectionTests/queries/XMark06.xq 2012-02-07 09:34:46 UTC (rev 4527)
+++ trunk/MXQuery_Testing/ProjectionTests/queries/XMark06.xq 2012-02-08 15:43:03 UTC (rev 4528)
@@ -1,2 +1,4 @@
-let $auction := doc("auction.xml") return
+declare variable $input external;
+let $auction := $input
+return
for $b in $auction//site/regions return count($b//item)
\ No newline at end of file
Modified: trunk/MXQuery_Testing/ProjectionTests/queries/XMark07.xq
===================================================================
--- trunk/MXQuery_Testing/ProjectionTests/queries/XMark07.xq 2012-02-07 09:34:46 UTC (rev 4527)
+++ trunk/MXQuery_Testing/ProjectionTests/queries/XMark07.xq 2012-02-08 15:43:03 UTC (rev 4528)
@@ -1,4 +1,6 @@
-let $auction := doc("auction.xml") return
+declare variable $input external;
+let $auction := $input
+return
for $p in $auction/site
return
count($p//description) + count($p//annotation) + count($p//emailaddress)
\ No newline at end of file
Modified: trunk/MXQuery_Testing/ProjectionTests/queries/XMark08.xq
===================================================================
--- trunk/MXQuery_Testing/ProjectionTests/queries/XMark08.xq 2012-02-07 09:34:46 UTC (rev 4527)
+++ trunk/MXQuery_Testing/ProjectionTests/queries/XMark08.xq 2012-02-08 15:43:03 UTC (rev 4528)
@@ -1,4 +1,6 @@
-let $auction := doc("auction.xml") return
+declare variable $input external;
+let $auction := $input
+return
for $p in $auction/site/people/person
let $a :=
for $t in $auction/site/closed_auctions/closed_auction
Modified: trunk/MXQuery_Testing/ProjectionTests/queries/XMark09.xq
===================================================================
--- trunk/MXQuery_Testing/ProjectionTests/queries/XMark09.xq 2012-02-07 09:34:46 UTC (rev 4527)
+++ trunk/MXQuery_Testing/ProjectionTests/queries/XMark09.xq 2012-02-08 15:43:03 UTC (rev 4528)
@@ -1,4 +1,6 @@
-let $auction := doc("auction.xml") return
+declare variable $input external;
+let $auction := $input
+return
let $ca := $auction/site/closed_auctions/closed_auction return
let
$ei := $auction/site/regions/europe/item
Modified: trunk/MXQuery_Testing/ProjectionTests/queries/XMark10.xq
===================================================================
--- trunk/MXQuery_Testing/ProjectionTests/queries/XMark10.xq 2012-02-07 09:34:46 UTC (rev 4527)
+++ trunk/MXQuery_Testing/ProjectionTests/queries/XMark10.xq 2012-02-08 15:43:03 UTC (rev 4528)
@@ -1,4 +1,6 @@
-let $auction := doc("auction.xml") return
+declare variable $input external;
+let $auction := $input
+return
for $i in
distinct-values($auction/site/people/person/profile/interest/category)
let $p :=
Modified: trunk/MXQuery_Testing/ProjectionTests/queries/XMark11.xq
===================================================================
--- trunk/MXQuery_Testing/ProjectionTests/queries/XMark11.xq 2012-02-07 09:34:46 UTC (rev 4527)
+++ trunk/MXQuery_Testing/ProjectionTests/queries/XMark11.xq 2012-02-08 15:43:03 UTC (rev 4528)
@@ -1,4 +1,6 @@
-let $auction := doc("auction.xml") return
+declare variable $input external...
[truncated message content] |