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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to