dbertoni 01/09/14 13:57:22
Modified: c/src/XalanExtensions FunctionDifference.cpp
FunctionDifference.hpp FunctionDistinct.cpp
FunctionDistinct.hpp FunctionEvaluate.cpp
FunctionEvaluate.hpp FunctionHasSameNodes.cpp
FunctionHasSameNodes.hpp FunctionIntersection.cpp
FunctionIntersection.hpp FunctionNodeSet.cpp
FunctionNodeSet.hpp
Log:
Changes for new Function signatures.
Revision Changes Path
1.3 +6 -64 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.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- FunctionDifference.cpp 2001/07/18 04:20:35 1.2
+++ FunctionDifference.cpp 2001/09/14 20:57:21 1.3
@@ -77,36 +77,14 @@
XObjectPtr
FunctionDifference::execute(
- XPathExecutionContext& executionContext,
- XalanNode* context)
-{
- executionContext.error(getError(), context);
-
- return XObjectPtr(0);
-}
-
-
-
-XObjectPtr
-FunctionDifference::execute(
- XPathExecutionContext& executionContext,
- XalanNode* context,
- const XObjectPtr arg1)
-{
- executionContext.error(getError(), context);
-
- return XObjectPtr(0);
-}
-
-
-
-XObjectPtr
-FunctionDifference::execute(
XPathExecutionContext& executionContext,
- XalanNode* /* context */,
+ XalanNode* /* context */,
const XObjectPtr arg1,
- const XObjectPtr arg2)
+ const XObjectPtr arg2,
+ const Locator* /* locator */) const
{
+ assert(arg1.null() == false && arg2.null() == false);
+
const NodeRefListBase& nodeset1 = arg1->nodeset();
const NodeRefListBase& nodeset2 = arg2->nodeset();
@@ -135,42 +113,6 @@
-XObjectPtr
-FunctionDifference::execute(
- XPathExecutionContext& executionContext,
- XalanNode* context,
- const XObjectPtr /* arg1 */,
- const XObjectPtr /* arg2 */,
- const XObjectPtr /* arg3 */)
-{
- executionContext.error(getError(), context);
-
- return XObjectPtr(0);
-}
-
-
-
-XObjectPtr
-FunctionDifference::execute(
- XPathExecutionContext& executionContext,
- XalanNode*
context,
- int
/* opPos */,
- const XObjectArgVectorType& args)
-{
- if (args.size() != 2)
- {
- executionContext.error(getError(), context);
-
- return XObjectPtr(0);
- }
- else
- {
- return execute(executionContext, context, args[0], args[1]);
- }
-}
-
-
-
#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
Function*
#else
@@ -186,5 +128,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 accepts two
arguments");
}
1.2 +8 -31 xml-xalan/c/src/XalanExtensions/FunctionDifference.hpp
Index: FunctionDifference.hpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XalanExtensions/FunctionDifference.hpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- FunctionDifference.hpp 2001/06/14 19:31:32 1.1
+++ FunctionDifference.hpp 2001/09/14 20:57:21 1.2
@@ -83,39 +83,14 @@
// These methods are inherited from Function ...
- XObjectPtr
- execute(
- XPathExecutionContext& executionContext,
- XalanNode* context);
-
virtual XObjectPtr
- execute(
- XPathExecutionContext& executionContext,
- XalanNode* context,
- const XObjectPtr arg1);
-
- XObjectPtr
- execute(
- XPathExecutionContext& executionContext,
- XalanNode* context,
- const XObjectPtr arg1,
- const XObjectPtr arg2);
-
- XObjectPtr
execute(
- XPathExecutionContext& executionContext,
- XalanNode* context,
- const XObjectPtr arg1,
- const XObjectPtr arg2,
- const XObjectPtr arg3);
+ XPathExecutionContext& executionContext,
+ XalanNode* context,
+ const XObjectPtr arg1,
+ const XObjectPtr arg2,
+ const Locator* locator) const;
- XObjectPtr
- execute(
- XPathExecutionContext& executionContext,
- XalanNode*
context,
- int
opPos,
- const XObjectArgVectorType& args);
-
#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
virtual Function*
#else
@@ -123,10 +98,12 @@
#endif
clone() const;
-private:
+protected:
const XalanDOMString
getError() const;
+
+private:
// Not implemented...
FunctionDifference&
1.5 +7 -66 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.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- FunctionDistinct.cpp 2001/07/19 04:38:27 1.4
+++ FunctionDistinct.cpp 2001/09/14 20:57:21 1.5
@@ -89,24 +89,15 @@
XObjectPtr
FunctionDistinct::execute(
- XPathExecutionContext& executionContext,
- XalanNode* context)
+ XPathExecutionContext& executionContext,
+ XalanNode* /* context */,
+ const XObjectPtr arg,
+ const Locator* /* locator */) const
{
- executionContext.error(getError(), context);
-
- return XObjectPtr(0);
-}
-
+ assert(arg.null() == false);
+ const NodeRefListBase& nodeset = arg->nodeset();
-XObjectPtr
-FunctionDistinct::execute(
- XPathExecutionContext& executionContext,
- XalanNode* /* context */,
- const XObjectPtr arg1)
-{
- const NodeRefListBase& nodeset = arg1->nodeset();
-
typedef XPathExecutionContext::BorrowReturnMutableNodeRefList
BorrowReturnMutableNodeRefList;
BorrowReturnMutableNodeRefList theResult(executionContext);
@@ -158,56 +149,6 @@
-XObjectPtr
-FunctionDistinct::execute(
- XPathExecutionContext& executionContext,
- XalanNode* context,
- const XObjectPtr /* arg1 */,
- const XObjectPtr /* arg2 */)
-{
- executionContext.error(getError(), context);
-
- return XObjectPtr(0);
-}
-
-
-
-XObjectPtr
-FunctionDistinct::execute(
- XPathExecutionContext& executionContext,
- XalanNode* context,
- const XObjectPtr /* arg1 */,
- const XObjectPtr /* arg2 */,
- const XObjectPtr /* arg3 */)
-{
- executionContext.error(getError(), context);
-
- return XObjectPtr(0);
-}
-
-
-
-XObjectPtr
-FunctionDistinct::execute(
- XPathExecutionContext& executionContext,
- XalanNode*
context,
- int
/* opPos */,
- const XObjectArgVectorType& args)
-{
- if (args.size() != 1)
- {
- executionContext.error(getError(), context);
-
- return XObjectPtr(0);
- }
- else
- {
- return execute(executionContext, context, args[0]);
- }
-}
-
-
-
#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
Function*
#else
@@ -223,5 +164,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 accepts one
argument");
}
1.2 +7 -31 xml-xalan/c/src/XalanExtensions/FunctionDistinct.hpp
Index: FunctionDistinct.hpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XalanExtensions/FunctionDistinct.hpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- FunctionDistinct.hpp 2001/06/14 19:31:32 1.1
+++ FunctionDistinct.hpp 2001/09/14 20:57:21 1.2
@@ -83,39 +83,13 @@
// These methods are inherited from Function ...
- XObjectPtr
- execute(
- XPathExecutionContext& executionContext,
- XalanNode* context);
-
virtual XObjectPtr
- execute(
- XPathExecutionContext& executionContext,
- XalanNode* context,
- const XObjectPtr arg1);
-
- XObjectPtr
- execute(
- XPathExecutionContext& executionContext,
- XalanNode* context,
- const XObjectPtr arg1,
- const XObjectPtr arg2);
-
- XObjectPtr
execute(
- XPathExecutionContext& executionContext,
- XalanNode* context,
- const XObjectPtr arg1,
- const XObjectPtr arg2,
- const XObjectPtr arg3);
+ XPathExecutionContext& executionContext,
+ XalanNode* context,
+ const XObjectPtr arg,
+ const Locator* locator) const;
- XObjectPtr
- execute(
- XPathExecutionContext& executionContext,
- XalanNode*
context,
- int
opPos,
- const XObjectArgVectorType& args);
-
#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
virtual Function*
#else
@@ -123,10 +97,12 @@
#endif
clone() const;
-private:
+protected:
const XalanDOMString
getError() const;
+
+private:
// Not implemented...
FunctionDistinct&
1.4 +14 -84 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.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- FunctionEvaluate.cpp 2001/08/22 16:20:28 1.3
+++ FunctionEvaluate.cpp 2001/09/14 20:57:21 1.4
@@ -82,23 +82,12 @@
XObjectPtr
FunctionEvaluate::execute(
- XPathExecutionContext& executionContext,
- XalanNode* context)
-{
- executionContext.error(getError(), context);
-
- return XObjectPtr(0);
-}
-
-
-
-XObjectPtr
-FunctionEvaluate::execute(
- XPathExecutionContext& executionContext,
- XalanNode* context,
- const XObjectPtr arg1)
+ XPathExecutionContext& executionContext,
+ XalanNode* context,
+ const XObjectPtr arg,
+ const Locator* locator) const
{
- assert(arg1.null() == false);
+ assert(arg.null() == false);
const PrefixResolver* const theResolver =
executionContext.getPrefixResolver();
@@ -107,82 +96,23 @@
{
executionContext.warn(
"No prefix resolver available in evaluate()!",
- context);
+ context,
+ locator);
- return arg1;
+ return arg;
}
else
{
- const XalanDOMString& theString =
- arg1->str();
-
- if (length(theString) == 0)
- {
- return XObjectPtr(0);
- }
- else
- {
- XPathProcessorImpl theProcessor;
+ XPathProcessorImpl theProcessor;
- XPath theXPath;
+ XPath theXPath;
- theProcessor.initXPath(
+ theProcessor.initXPath(
theXPath,
- theString,
+ arg->str(),
*theResolver);
-
- return theXPath.execute(context, *theResolver,
executionContext);
- }
- }
-}
-
-
-
-XObjectPtr
-FunctionEvaluate::execute(
- XPathExecutionContext& executionContext,
- XalanNode* context,
- const XObjectPtr /* arg1 */,
- const XObjectPtr /* arg2 */)
-{
- executionContext.error(getError(), context);
- return XObjectPtr(0);
-}
-
-
-
-XObjectPtr
-FunctionEvaluate::execute(
- XPathExecutionContext& executionContext,
- XalanNode* context,
- const XObjectPtr /* arg1 */,
- const XObjectPtr /* arg2 */,
- const XObjectPtr /* arg3 */)
-{
- executionContext.error(getError(), context);
-
- return XObjectPtr(0);
-}
-
-
-
-XObjectPtr
-FunctionEvaluate::execute(
- XPathExecutionContext& executionContext,
- XalanNode*
context,
- int
/* opPos */,
- const XObjectArgVectorType& args)
-{
- if (args.size() != 1)
- {
- executionContext.error(getError(), context);
-
- return XObjectPtr(0);
- }
- else
- {
- return execute(executionContext, context, args[0]);
+ return theXPath.execute(context, *theResolver, executionContext);
}
}
@@ -203,5 +133,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 accepts one
argument");
}
1.2 +7 -31 xml-xalan/c/src/XalanExtensions/FunctionEvaluate.hpp
Index: FunctionEvaluate.hpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XalanExtensions/FunctionEvaluate.hpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- FunctionEvaluate.hpp 2001/06/14 19:31:32 1.1
+++ FunctionEvaluate.hpp 2001/09/14 20:57:21 1.2
@@ -83,39 +83,13 @@
// These methods are inherited from Function ...
- XObjectPtr
- execute(
- XPathExecutionContext& executionContext,
- XalanNode* context);
-
virtual XObjectPtr
- execute(
- XPathExecutionContext& executionContext,
- XalanNode* context,
- const XObjectPtr arg1);
-
- XObjectPtr
- execute(
- XPathExecutionContext& executionContext,
- XalanNode* context,
- const XObjectPtr arg1,
- const XObjectPtr arg2);
-
- XObjectPtr
execute(
- XPathExecutionContext& executionContext,
- XalanNode* context,
- const XObjectPtr arg1,
- const XObjectPtr arg2,
- const XObjectPtr arg3);
+ XPathExecutionContext& executionContext,
+ XalanNode* context,
+ const XObjectPtr arg,
+ const Locator* locator) const;
- XObjectPtr
- execute(
- XPathExecutionContext& executionContext,
- XalanNode*
context,
- int
opPos,
- const XObjectArgVectorType& args);
-
#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
virtual Function*
#else
@@ -123,10 +97,12 @@
#endif
clone() const;
-private:
+protected:
const XalanDOMString
getError() const;
+
+private:
// Not implemented...
FunctionEvaluate&
1.3 +6 -64 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.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- FunctionHasSameNodes.cpp 2001/07/18 04:20:35 1.2
+++ FunctionHasSameNodes.cpp 2001/09/14 20:57:21 1.3
@@ -77,36 +77,14 @@
XObjectPtr
FunctionHasSameNodes::execute(
- XPathExecutionContext& executionContext,
- XalanNode* context)
-{
- executionContext.error(getError(), context);
-
- return XObjectPtr(0);
-}
-
-
-
-XObjectPtr
-FunctionHasSameNodes::execute(
- XPathExecutionContext& executionContext,
- XalanNode* context,
- const XObjectPtr arg1)
-{
- executionContext.error(getError(), context);
-
- return XObjectPtr(0);
-}
-
-
-
-XObjectPtr
-FunctionHasSameNodes::execute(
XPathExecutionContext& executionContext,
- XalanNode* /* context */,
+ XalanNode* /* context */,
const XObjectPtr arg1,
- const XObjectPtr arg2)
+ const XObjectPtr arg2,
+ const Locator* /* locator */) const
{
+ assert(arg1.null() == false && arg2.null() == false);
+
const NodeRefListBase& nodeset1 = arg1->nodeset();
const NodeRefListBase& nodeset2 = arg2->nodeset();
@@ -137,42 +115,6 @@
-XObjectPtr
-FunctionHasSameNodes::execute(
- XPathExecutionContext& executionContext,
- XalanNode* context,
- const XObjectPtr /* arg1 */,
- const XObjectPtr /* arg2 */,
- const XObjectPtr /* arg3 */)
-{
- executionContext.error(getError(), context);
-
- return XObjectPtr(0);
-}
-
-
-
-XObjectPtr
-FunctionHasSameNodes::execute(
- XPathExecutionContext& executionContext,
- XalanNode*
context,
- int
/* opPos */,
- const XObjectArgVectorType& args)
-{
- if (args.size() != 2)
- {
- executionContext.error(getError(), context);
-
- return XObjectPtr(0);
- }
- else
- {
- return execute(executionContext, context, args[0], args[1]);
- }
-}
-
-
-
#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
Function*
#else
@@ -188,5 +130,5 @@
const XalanDOMString
FunctionHasSameNodes::getError() const
{
- return XALAN_STATIC_UCODE_STRING("The has-same-nodes() function requires two
arguments");
+ return XALAN_STATIC_UCODE_STRING("The has-same-nodes() function accepts two
arguments");
}
1.2 +8 -32 xml-xalan/c/src/XalanExtensions/FunctionHasSameNodes.hpp
Index: FunctionHasSameNodes.hpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XalanExtensions/FunctionHasSameNodes.hpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- FunctionHasSameNodes.hpp 2001/06/14 19:31:32 1.1
+++ FunctionHasSameNodes.hpp 2001/09/14 20:57:21 1.2
@@ -83,39 +83,13 @@
// These methods are inherited from Function ...
- XObjectPtr
- execute(
- XPathExecutionContext& executionContext,
- XalanNode* context);
-
virtual XObjectPtr
- execute(
- XPathExecutionContext& executionContext,
- XalanNode* context,
- const XObjectPtr arg1);
-
- XObjectPtr
- execute(
- XPathExecutionContext& executionContext,
- XalanNode* context,
- const XObjectPtr arg1,
- const XObjectPtr arg2);
-
- XObjectPtr
execute(
- XPathExecutionContext& executionContext,
- XalanNode* context,
- const XObjectPtr arg1,
- const XObjectPtr arg2,
- const XObjectPtr arg3);
-
- XObjectPtr
- execute(
- XPathExecutionContext& executionContext,
- XalanNode*
context,
- int
opPos,
- const XObjectArgVectorType& args);
-
+ XPathExecutionContext& executionContext,
+ XalanNode* context,
+ const XObjectPtr arg1,
+ const XObjectPtr arg2,
+ const Locator* locator) const;
#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
virtual Function*
#else
@@ -123,10 +97,12 @@
#endif
clone() const;
-private:
+protected:
const XalanDOMString
getError() const;
+
+private:
// Not implemented...
FunctionHasSameNodes&
1.3 +6 -64 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.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- FunctionIntersection.cpp 2001/07/18 04:20:35 1.2
+++ FunctionIntersection.cpp 2001/09/14 20:57:21 1.3
@@ -77,36 +77,14 @@
XObjectPtr
FunctionIntersection::execute(
- XPathExecutionContext& executionContext,
- XalanNode* context)
-{
- executionContext.error(getError(), context);
-
- return XObjectPtr(0);
-}
-
-
-
-XObjectPtr
-FunctionIntersection::execute(
- XPathExecutionContext& executionContext,
- XalanNode* context,
- const XObjectPtr arg1)
-{
- executionContext.error(getError(), context);
-
- return XObjectPtr(0);
-}
-
-
-
-XObjectPtr
-FunctionIntersection::execute(
XPathExecutionContext& executionContext,
- XalanNode* /* context */,
+ XalanNode* /* context */,
const XObjectPtr arg1,
- const XObjectPtr arg2)
+ const XObjectPtr arg2,
+ const Locator* /* locator */) const
{
+ assert(arg1.null() == false && arg2.null() == false);
+
const NodeRefListBase& nodeset1 = arg1->nodeset();
const NodeRefListBase& nodeset2 = arg2->nodeset();
@@ -132,42 +110,6 @@
-XObjectPtr
-FunctionIntersection::execute(
- XPathExecutionContext& executionContext,
- XalanNode* context,
- const XObjectPtr /* arg1 */,
- const XObjectPtr /* arg2 */,
- const XObjectPtr /* arg3 */)
-{
- executionContext.error(getError(), context);
-
- return XObjectPtr(0);
-}
-
-
-
-XObjectPtr
-FunctionIntersection::execute(
- XPathExecutionContext& executionContext,
- XalanNode*
context,
- int
/* opPos */,
- const XObjectArgVectorType& args)
-{
- if (args.size() != 2)
- {
- executionContext.error(getError(), context);
-
- return XObjectPtr(0);
- }
- else
- {
- return execute(executionContext, context, args[0], args[1]);
- }
-}
-
-
-
#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
Function*
#else
@@ -183,5 +125,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 accepts two
arguments");
}
1.2 +8 -31 xml-xalan/c/src/XalanExtensions/FunctionIntersection.hpp
Index: FunctionIntersection.hpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XalanExtensions/FunctionIntersection.hpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- FunctionIntersection.hpp 2001/06/14 19:31:32 1.1
+++ FunctionIntersection.hpp 2001/09/14 20:57:21 1.2
@@ -83,39 +83,14 @@
// These methods are inherited from Function ...
- XObjectPtr
- execute(
- XPathExecutionContext& executionContext,
- XalanNode* context);
-
virtual XObjectPtr
- execute(
- XPathExecutionContext& executionContext,
- XalanNode* context,
- const XObjectPtr arg1);
-
- XObjectPtr
- execute(
- XPathExecutionContext& executionContext,
- XalanNode* context,
- const XObjectPtr arg1,
- const XObjectPtr arg2);
-
- XObjectPtr
execute(
- XPathExecutionContext& executionContext,
- XalanNode* context,
- const XObjectPtr arg1,
- const XObjectPtr arg2,
- const XObjectPtr arg3);
+ XPathExecutionContext& executionContext,
+ XalanNode* context,
+ const XObjectPtr arg1,
+ const XObjectPtr arg2,
+ const Locator* locator) const;
- XObjectPtr
- execute(
- XPathExecutionContext& executionContext,
- XalanNode*
context,
- int
opPos,
- const XObjectArgVectorType& args);
-
#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
virtual Function*
#else
@@ -123,10 +98,12 @@
#endif
clone() const;
-private:
+protected:
const XalanDOMString
getError() const;
+
+private:
// Not implemented...
FunctionIntersection&
1.4 +13 -69 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.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- FunctionNodeSet.cpp 2001/07/19 04:38:27 1.3
+++ FunctionNodeSet.cpp 2001/09/14 20:57:21 1.4
@@ -112,7 +112,7 @@
return m_proxy;
}
- virtual void
+ virtual void
dereferenced()
{
delete this;
@@ -153,81 +153,25 @@
XObjectPtr
FunctionNodeSet::execute(
- XPathExecutionContext& executionContext,
- XalanNode* context)
-{
- executionContext.error(getError(), context);
-
- return XObjectPtr(0);
-}
-
-
-
-XObjectPtr
-FunctionNodeSet::execute(
- XPathExecutionContext& /* executionContext */,
- XalanNode* /* context */,
- const XObjectPtr arg1)
-{
- assert(arg1.null() == false);
-
- if (arg1->getType() != XObject::eTypeResultTreeFrag)
- {
- return arg1;
- }
- else
- {
- return XObjectPtr(new XResultTreeFragNodeSetProxy(arg1));
- }
-}
-
-
-
-XObjectPtr
-FunctionNodeSet::execute(
- XPathExecutionContext& executionContext,
- XalanNode* context,
- const XObjectPtr /* arg1 */,
- const XObjectPtr /* arg2 */)
-{
- executionContext.error(getError(), context);
-
- return XObjectPtr(0);
-}
-
-
-
-XObjectPtr
-FunctionNodeSet::execute(
XPathExecutionContext& executionContext,
- XalanNode* context,
- const XObjectPtr /* arg1 */,
- const XObjectPtr /* arg2 */,
- const XObjectPtr /* arg3 */)
+ XalanNode* context,
+ const XObjectPtr arg,
+ const Locator* locator) const
{
- executionContext.error(getError(), context);
-
- return XObjectPtr(0);
-}
-
+ assert(arg.null() == false);
-
-XObjectPtr
-FunctionNodeSet::execute(
- XPathExecutionContext& executionContext,
- XalanNode*
context,
- int
/* opPos */,
- const XObjectArgVectorType& args)
-{
- if (args.size() != 1)
+ if (arg->getType() != XObject::eTypeResultTreeFrag)
{
- executionContext.error(getError(), context);
+ executionContext.warn(
+ "Invalid argument type in function nodeset()!",
+ context,
+ locator);
- return XObjectPtr(0);
+ return arg;
}
else
{
- return execute(executionContext, context, args[0]);
+ return XObjectPtr(new XResultTreeFragNodeSetProxy(arg));
}
}
@@ -248,5 +192,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 accepts one
argument");
}
1.2 +7 -31 xml-xalan/c/src/XalanExtensions/FunctionNodeSet.hpp
Index: FunctionNodeSet.hpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/XalanExtensions/FunctionNodeSet.hpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- FunctionNodeSet.hpp 2001/06/14 19:31:32 1.1
+++ FunctionNodeSet.hpp 2001/09/14 20:57:21 1.2
@@ -87,39 +87,13 @@
// These methods are inherited from Function ...
- XObjectPtr
- execute(
- XPathExecutionContext& executionContext,
- XalanNode* context);
-
virtual XObjectPtr
- execute(
- XPathExecutionContext& executionContext,
- XalanNode* context,
- const XObjectPtr arg1);
-
- XObjectPtr
- execute(
- XPathExecutionContext& executionContext,
- XalanNode* context,
- const XObjectPtr arg1,
- const XObjectPtr arg2);
-
- XObjectPtr
execute(
- XPathExecutionContext& executionContext,
- XalanNode* context,
- const XObjectPtr arg1,
- const XObjectPtr arg2,
- const XObjectPtr arg3);
+ XPathExecutionContext& executionContext,
+ XalanNode* context,
+ const XObjectPtr arg,
+ const Locator* locator) const;
- XObjectPtr
- execute(
- XPathExecutionContext& executionContext,
- XalanNode*
context,
- int
opPos,
- const XObjectArgVectorType& args);
-
#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
virtual Function*
#else
@@ -127,10 +101,12 @@
#endif
clone() const;
-private:
+protected:
const XalanDOMString
getError() const;
+
+private:
// Not implemented...
FunctionNodeSet&
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]