dbertoni 01/07/17 21:20:35
Modified: c/src/XalanExtensions FunctionDifference.cpp
FunctionDistinct.cpp FunctionEvaluate.cpp
FunctionHasSameNodes.cpp FunctionIntersection.cpp
FunctionNodeSet.cpp
Log:
Fixed problem with executing extension functions.
Revision Changes Path
1.2 +16 -10 xml-xalan/c/src/XalanExtensions/FunctionDifference.cpp
Index: FunctionDifference.cpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XalanExtensions/FunctionDifference.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- FunctionDifference.cpp 2001/06/14 19:31:31 1.1
+++ FunctionDifference.cpp 2001/07/18 04:20:35 1.2
@@ -77,8 +77,8 @@
XObjectPtr
FunctionDifference::execute(
- XPathExecutionContext& executionContext,
- XalanNode* context)
+ XPathExecutionContext& executionContext,
+ XalanNode* context)
{
executionContext.error(getError(), context);
@@ -90,7 +90,7 @@
XObjectPtr
FunctionDifference::execute(
XPathExecutionContext& executionContext,
- XalanNode* context,
+ XalanNode* context,
const XObjectPtr arg1)
{
executionContext.error(getError(), context);
@@ -103,7 +103,7 @@
XObjectPtr
FunctionDifference::execute(
XPathExecutionContext& executionContext,
- XalanNode* /* context */,
+ XalanNode* /* context */,
const XObjectPtr arg1,
const XObjectPtr arg2)
{
@@ -138,7 +138,7 @@
XObjectPtr
FunctionDifference::execute(
XPathExecutionContext& executionContext,
- XalanNode* context,
+ XalanNode* context,
const XObjectPtr /* arg1 */,
const XObjectPtr /* arg2 */,
const XObjectPtr /* arg3 */)
@@ -155,11 +155,18 @@
XPathExecutionContext&
executionContext,
XalanNode*
context,
int
/* opPos */,
- const XObjectArgVectorType& /* args */)
+ const XObjectArgVectorType& args)
{
- executionContext.error(getError(), context);
+ if (args.size() != 2)
+ {
+ executionContext.error(getError(), context);
- return XObjectPtr(0);
+ return XObjectPtr(0);
+ }
+ else
+ {
+ return execute(executionContext, context, args[0], args[1]);
+ }
}
@@ -179,6 +186,5 @@
const XalanDOMString
FunctionDifference::getError() const
{
- return XALAN_STATIC_UCODE_STRING(
- "The difference() function takes two arguments!");
+ return XALAN_STATIC_UCODE_STRING("The difference() function takes two
arguments");
}
1.2 +12 -6 xml-xalan/c/src/XalanExtensions/FunctionDistinct.cpp
Index: FunctionDistinct.cpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XalanExtensions/FunctionDistinct.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- FunctionDistinct.cpp 2001/06/14 19:31:32 1.1
+++ FunctionDistinct.cpp 2001/07/18 04:20:35 1.2
@@ -186,11 +186,18 @@
XPathExecutionContext&
executionContext,
XalanNode*
context,
int
/* opPos */,
- const XObjectArgVectorType& /* args */)
+ const XObjectArgVectorType& args)
{
- executionContext.error(getError(), context);
-
- return XObjectPtr(0);
+ if (args.size() != 1)
+ {
+ executionContext.error(getError(), context);
+
+ return XObjectPtr(0);
+ }
+ else
+ {
+ return execute(executionContext, context, args[0]);
+ }
}
@@ -210,6 +217,5 @@
const XalanDOMString
FunctionDistinct::getError() const
{
- return XALAN_STATIC_UCODE_STRING(
- "The distinct() function takes one argument!");
+ return XALAN_STATIC_UCODE_STRING("The distinct() function takes one
argument");
}
1.2 +12 -6 xml-xalan/c/src/XalanExtensions/FunctionEvaluate.cpp
Index: FunctionEvaluate.cpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XalanExtensions/FunctionEvaluate.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- FunctionEvaluate.cpp 2001/06/14 19:31:32 1.1
+++ FunctionEvaluate.cpp 2001/07/18 04:20:35 1.2
@@ -169,11 +169,18 @@
XPathExecutionContext&
executionContext,
XalanNode*
context,
int
/* opPos */,
- const XObjectArgVectorType& /* args */)
+ const XObjectArgVectorType& args)
{
- executionContext.error(getError(), context);
-
- return XObjectPtr(0);
+ if (args.size() != 1)
+ {
+ executionContext.error(getError(), context);
+
+ return XObjectPtr(0);
+ }
+ else
+ {
+ return execute(executionContext, context, args[0]);
+ }
}
@@ -193,6 +200,5 @@
const XalanDOMString
FunctionEvaluate::getError() const
{
- return XALAN_STATIC_UCODE_STRING(
- "The evaluate() function takes one argument!");
+ return XALAN_STATIC_UCODE_STRING("The evaluate() function takes one
argument");
}
1.2 +13 -7 xml-xalan/c/src/XalanExtensions/FunctionHasSameNodes.cpp
Index: FunctionHasSameNodes.cpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XalanExtensions/FunctionHasSameNodes.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- FunctionHasSameNodes.cpp 2001/06/14 19:31:32 1.1
+++ FunctionHasSameNodes.cpp 2001/07/18 04:20:35 1.2
@@ -90,7 +90,7 @@
XObjectPtr
FunctionHasSameNodes::execute(
XPathExecutionContext& executionContext,
- XalanNode* context,
+ XalanNode* context,
const XObjectPtr arg1)
{
executionContext.error(getError(), context);
@@ -140,7 +140,7 @@
XObjectPtr
FunctionHasSameNodes::execute(
XPathExecutionContext& executionContext,
- XalanNode* context,
+ XalanNode* context,
const XObjectPtr /* arg1 */,
const XObjectPtr /* arg2 */,
const XObjectPtr /* arg3 */)
@@ -157,11 +157,18 @@
XPathExecutionContext&
executionContext,
XalanNode*
context,
int
/* opPos */,
- const XObjectArgVectorType& /* args */)
+ const XObjectArgVectorType& args)
{
- executionContext.error(getError(), context);
+ if (args.size() != 2)
+ {
+ executionContext.error(getError(), context);
- return XObjectPtr(0);
+ return XObjectPtr(0);
+ }
+ else
+ {
+ return execute(executionContext, context, args[0], args[1]);
+ }
}
@@ -181,6 +188,5 @@
const XalanDOMString
FunctionHasSameNodes::getError() const
{
- return XALAN_STATIC_UCODE_STRING(
- "The has-same-nodes() function takes two arguments!");
+ return XALAN_STATIC_UCODE_STRING("The has-same-nodes() function
requires two arguments");
}
1.2 +12 -6 xml-xalan/c/src/XalanExtensions/FunctionIntersection.cpp
Index: FunctionIntersection.cpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XalanExtensions/FunctionIntersection.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- FunctionIntersection.cpp 2001/06/14 19:31:32 1.1
+++ FunctionIntersection.cpp 2001/07/18 04:20:35 1.2
@@ -152,11 +152,18 @@
XPathExecutionContext&
executionContext,
XalanNode*
context,
int
/* opPos */,
- const XObjectArgVectorType& /* args */)
+ const XObjectArgVectorType& args)
{
- executionContext.error(getError(), context);
-
- return XObjectPtr(0);
+ if (args.size() != 2)
+ {
+ executionContext.error(getError(), context);
+
+ return XObjectPtr(0);
+ }
+ else
+ {
+ return execute(executionContext, context, args[0], args[1]);
+ }
}
@@ -176,6 +183,5 @@
const XalanDOMString
FunctionIntersection::getError() const
{
- return XALAN_STATIC_UCODE_STRING(
- "The intersection() function takes two arguments!");
+ return XALAN_STATIC_UCODE_STRING("The intersection() function takes two
arguments");
}
1.2 +17 -11 xml-xalan/c/src/XalanExtensions/FunctionNodeSet.cpp
Index: FunctionNodeSet.cpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XalanExtensions/FunctionNodeSet.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- FunctionNodeSet.cpp 2001/06/14 19:31:32 1.1
+++ FunctionNodeSet.cpp 2001/07/18 04:20:35 1.2
@@ -157,11 +157,11 @@
XObjectPtr
FunctionNodeSet::execute(
- XPathExecutionContext& executionContext,
- XalanNode* /* context */,
+ XPathExecutionContext& /* executionContext */,
+ XalanNode* /* context */,
const XObjectPtr arg1)
{
- assert(arg1.null() == false);
+ assert(arg1.null() == false);
if (arg1->getType() != XObject::eTypeResultTreeFrag)
{
@@ -178,7 +178,7 @@
XObjectPtr
FunctionNodeSet::execute(
XPathExecutionContext& executionContext,
- XalanNode* context,
+ XalanNode* context,
const XObjectPtr /* arg1 */,
const XObjectPtr /* arg2 */)
{
@@ -192,7 +192,7 @@
XObjectPtr
FunctionNodeSet::execute(
XPathExecutionContext& executionContext,
- XalanNode* context,
+ XalanNode* context,
const XObjectPtr /* arg1 */,
const XObjectPtr /* arg2 */,
const XObjectPtr /* arg3 */)
@@ -208,12 +208,19 @@
FunctionNodeSet::execute(
XPathExecutionContext&
executionContext,
XalanNode*
context,
- int
/* opPos */,
- const XObjectArgVectorType& /* args */)
+ int
opPos,
+ const XObjectArgVectorType& args)
{
- executionContext.error(getError(), context);
+ if (args.size() != 1)
+ {
+ executionContext.error(getError(), context);
- return XObjectPtr(0);
+ return XObjectPtr(0);
+ }
+ else
+ {
+ return execute(executionContext, context, args[0]);
+ }
}
@@ -233,6 +240,5 @@
const XalanDOMString
FunctionNodeSet::getError() const
{
- return XALAN_STATIC_UCODE_STRING(
- "The node-set() function takes one argument!");
+ return XALAN_STATIC_UCODE_STRING("The node-set() function takes one
argument");
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]