You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by db...@apache.org on 2003/10/26 02:51:16 UTC
cvs commit: xml-xalan/c/src/xalanc/XalanExtensions FunctionNodeSet.cpp
dbertoni 2003/10/25 17:51:16
Modified: c/src/xalanc/XalanExtensions FunctionNodeSet.cpp
Log:
Refactored result tree fragments to use XalanDocumentFragment instead of ResultTreeFragBase. This is because the node-set() extension exposes some awkward problems with the implementation. This also simplifies things, so although it changes our XObject interface, in the end, it's much cleaner. Fixes Bugzilla 23778.
Revision Changes Path
1.3 +11 -13 xml-xalan/c/src/xalanc/XalanExtensions/FunctionNodeSet.cpp
Index: FunctionNodeSet.cpp
===================================================================
RCS file: /home/cvs/xml-xalan/c/src/xalanc/XalanExtensions/FunctionNodeSet.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- FunctionNodeSet.cpp 19 Sep 2003 21:05:34 -0000 1.2
+++ FunctionNodeSet.cpp 26 Oct 2003 00:51:16 -0000 1.3
@@ -60,9 +60,7 @@
#include <xalanc/XPath/XNodeSetBase.hpp>
#include <xalanc/XPath/XObjectFactory.hpp>
-
-
-#include <xalanc/XSLT/ResultTreeFragBaseNodeRefListBaseProxy.hpp>
+#include <xalanc/XPath/XalanDocumentFragmentNodeRefListBaseProxy.hpp>
@@ -70,18 +68,18 @@
-class ResultTreeFragBaseXNodeSetBaseProxy : public XNodeSetBase
+class XalanDocumentFragmentXNodeSetBaseProxy : public XNodeSetBase
{
public:
- ResultTreeFragBaseXNodeSetBaseProxy(const XObjectPtr& theXObject) :
+ XalanDocumentFragmentXNodeSetBaseProxy(const XObjectPtr& theXObject) :
XNodeSetBase(),
m_xobject(theXObject),
m_proxy(theXObject->rtree())
{
}
- ResultTreeFragBaseXNodeSetBaseProxy(const ResultTreeFragBaseXNodeSetBaseProxy& theSource) :
+ XalanDocumentFragmentXNodeSetBaseProxy(const XalanDocumentFragmentXNodeSetBaseProxy& theSource) :
XNodeSetBase(theSource),
m_xobject(theSource.m_xobject),
m_proxy(theSource.m_proxy)
@@ -89,7 +87,7 @@
}
virtual
- ~ResultTreeFragBaseXNodeSetBaseProxy()
+ ~XalanDocumentFragmentXNodeSetBaseProxy()
{
}
@@ -97,17 +95,17 @@
#if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
virtual XObject*
#else
- virtual ResultTreeFragBaseXNodeSetBaseProxy*
+ virtual XalanDocumentFragmentXNodeSetBaseProxy*
#endif
clone(void* theAddress = 0) const
{
if (theAddress == 0)
{
- return new ResultTreeFragBaseXNodeSetBaseProxy(*this);
+ return new XalanDocumentFragmentXNodeSetBaseProxy(*this);
}
else
{
- return new (theAddress) ResultTreeFragBaseXNodeSetBaseProxy(*this);
+ return new (theAddress) XalanDocumentFragmentXNodeSetBaseProxy(*this);
}
}
@@ -137,9 +135,9 @@
private:
- const XObjectPtr m_xobject;
+ const XObjectPtr m_xobject;
- const ResultTreeFragBaseNodeRefListBaseProxy m_proxy;
+ const XalanDocumentFragmentNodeRefListBaseProxy m_proxy;
};
@@ -176,7 +174,7 @@
if (theType == XObject::eTypeResultTreeFrag ||
(theType == XObject::eTypeString && m_convertString == true))
{
- return XObjectPtr(new ResultTreeFragBaseXNodeSetBaseProxy(args[0]));
+ return XObjectPtr(new XalanDocumentFragmentXNodeSetBaseProxy(args[0]));
}
else
{
---------------------------------------------------------------------
To unsubscribe, e-mail: xalan-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-cvs-help@xml.apache.org