dbertoni    01/10/19 11:37:47

  Modified:    c/src/XPath XNodeSet.cpp XNodeSetBase.cpp XNodeSetBase.hpp
                        XNodeSetResultTreeFragProxy.cpp
                        XNodeSetResultTreeFragProxy.hpp XObject.cpp
                        XObject.hpp XPathEnvSupport.hpp
                        XPathEnvSupportDefault.cpp
                        XPathEnvSupportDefault.hpp
                        XPathExecutionContext.hpp
                        XPathExecutionContextDefault.cpp
                        XPathExecutionContextDefault.hpp
                        XResultTreeFrag.cpp XResultTreeFrag.hpp
                        XStringBase.cpp XStringBase.hpp
  Log:
  Initial changes to fix problems with RTFs.
  
  Revision  Changes    Path
  1.26      +0 -1      xml-xalan/c/src/XPath/XNodeSet.cpp
  
  Index: XNodeSet.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XNodeSet.cpp,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -r1.25 -r1.26
  --- XNodeSet.cpp      2001/09/26 22:24:53     1.25
  +++ XNodeSet.cpp      2001/10/19 18:37:47     1.26
  @@ -72,7 +72,6 @@
   
   
   
  -#include "ResultTreeFrag.hpp"
   #include "MutableNodeRefList.hpp"
   #include "XObjectTypeCallback.hpp"
   #include "XPathExecutionContext.hpp"
  
  
  
  1.4       +1 -2      xml-xalan/c/src/XPath/XNodeSetBase.cpp
  
  Index: XNodeSetBase.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XNodeSetBase.cpp,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- XNodeSetBase.cpp  2001/09/26 20:58:46     1.3
  +++ XNodeSetBase.cpp  2001/10/19 18:37:47     1.4
  @@ -72,7 +72,6 @@
   
   
   
  -#include "ResultTreeFrag.hpp"
   #include "XObjectTypeCallback.hpp"
   #include "XPathExecutionContext.hpp"
   
  @@ -203,7 +202,7 @@
   
   
   const ResultTreeFragBase&
  -XNodeSetBase::rtree(XPathExecutionContext&   /* executionContext */) const
  +XNodeSetBase::rtree() const
   {
        return m_proxy;
   }
  
  
  
  1.3       +1 -1      xml-xalan/c/src/XPath/XNodeSetBase.hpp
  
  Index: XNodeSetBase.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XNodeSetBase.hpp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- XNodeSetBase.hpp  2001/09/26 20:58:46     1.2
  +++ XNodeSetBase.hpp  2001/10/19 18:37:47     1.3
  @@ -127,7 +127,7 @@
        str(XalanDOMString&     theBuffer) const;
   
        virtual const ResultTreeFragBase&
  -     rtree(XPathExecutionContext&    executionContext) const;
  +     rtree() const;
   
        virtual const NodeRefListBase&
        nodeset() const = 0;
  
  
  
  1.3       +1 -206    xml-xalan/c/src/XPath/XNodeSetResultTreeFragProxy.cpp
  
  Index: XNodeSetResultTreeFragProxy.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XNodeSetResultTreeFragProxy.cpp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- XNodeSetResultTreeFragProxy.cpp   2001/09/26 20:58:46     1.2
  +++ XNodeSetResultTreeFragProxy.cpp   2001/10/19 18:37:47     1.3
  @@ -68,13 +68,8 @@
   
   
   
  -const XalanDOMString XNodeSetResultTreeFragProxy::s_emptyString;
  -
  -
  -
   XNodeSetResultTreeFragProxy::XNodeSetResultTreeFragProxy(const XNodeSetBase& 
theValue) :
  -     ResultTreeFragBase(),
  -     XalanNodeList(),
  +     XObjectResultTreeFragProxyBase(),
        m_value(theValue)
   {
   }
  @@ -87,54 +82,6 @@
   
   
   
  -void
  -XNodeSetResultTreeFragProxy::clear()
  -{
  -     assert(false);
  -}
  -
  -
  -
  -const XalanDOMString&
  -XNodeSetResultTreeFragProxy::getNodeName() const
  -{
  -     return s_emptyString;
  -}
  -
  -
  -
  -const XalanDOMString&
  -XNodeSetResultTreeFragProxy::getNodeValue() const
  -{
  -     return s_emptyString;
  -}
  -
  -
  -
  -XNodeSetResultTreeFragProxy::NodeType
  -XNodeSetResultTreeFragProxy::getNodeType() const
  -{
  -     return DOCUMENT_FRAGMENT_NODE;
  -}
  -
  -
  -
  -XalanNode*
  -XNodeSetResultTreeFragProxy::getParentNode() const
  -{
  -     return 0;
  -}
  -
  -
  -
  -const XalanNodeList*
  -XNodeSetResultTreeFragProxy::getChildNodes() const
  -{
  -     return this;
  -}
  -
  -
  -
   XalanNode*
   XNodeSetResultTreeFragProxy::getFirstChild() const
   {
  @@ -153,38 +100,6 @@
   
   
   
  -XalanNode*
  -XNodeSetResultTreeFragProxy::getPreviousSibling() const
  -{
  -     return 0;
  -}
  -
  -
  -
  -XalanNode*
  -XNodeSetResultTreeFragProxy::getNextSibling() const
  -{
  -     return 0;
  -}
  -
  -
  -
  -const XalanNamedNodeMap*
  -XNodeSetResultTreeFragProxy::getAttributes() const
  -{
  -     return 0;
  -}
  -
  -
  -
  -XalanDocument*
  -XNodeSetResultTreeFragProxy::getOwnerDocument() const
  -{
  -     return 0;
  -}
  -
  -
  -
   #if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
   XalanNode*
   #else
  @@ -199,130 +114,10 @@
   
   
   
  -XalanNode*
  -XNodeSetResultTreeFragProxy::insertBefore(
  -                     XalanNode*      /* newChild */,
  -                     XalanNode*      /* refChild */)
  -{
  -     throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
  -
  -     // Dummy return value...
  -     return 0;
  -}
  -
  -
  -
  -XalanNode*
  -XNodeSetResultTreeFragProxy::replaceChild(
  -                     XalanNode*      /* newChild */,
  -                     XalanNode*      /* oldChild */)
  -{
  -     throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
  -
  -     // Dummy return value...
  -     return 0;
  -}
  -
  -
  -
  -XalanNode*
  -XNodeSetResultTreeFragProxy::appendChild(XalanNode*  /* newChild */ )
  -{
  -     throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
  -
  -     // Dummy return value...
  -     return 0;
  -}
  -
  -
  -
  -XalanNode*
  -XNodeSetResultTreeFragProxy::removeChild(XalanNode*  /* oldChild */)
  -{
  -     throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
  -
  -     // Dummy return value...
  -     return 0;
  -}
  -
  -
   bool
   XNodeSetResultTreeFragProxy::hasChildNodes() const
   {
        return getLength() > 0 ? true : false;
  -}
  -
  -
  -
  -void
  -XNodeSetResultTreeFragProxy::setNodeValue(const XalanDOMString&      /* 
nodeValue */)
  -{
  -     throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
  -}
  -
  -
  -
  -void
  -XNodeSetResultTreeFragProxy::normalize()
  -{
  -     throw XalanDOMException(XalanDOMException::NO_MODIFICATION_ALLOWED_ERR);
  -}
  -
  -
  -
  -bool
  -XNodeSetResultTreeFragProxy::supports(
  -                     const XalanDOMString&   /* feature */,
  -                     const XalanDOMString&   /* version */) const
  -{
  -     return false;
  -}
  -
  -
  -
  -const XalanDOMString&
  -XNodeSetResultTreeFragProxy::getNamespaceURI() const
  -{
  -     return s_emptyString;
  -}
  -
  -
  -
  -const XalanDOMString&
  -XNodeSetResultTreeFragProxy::getPrefix() const
  -{
  -     return s_emptyString;
  -}
  -
  -
  -
  -const XalanDOMString&
  -XNodeSetResultTreeFragProxy::getLocalName() const
  -{
  -     return s_emptyString;
  -}
  -
  -
  -
  -void
  -XNodeSetResultTreeFragProxy::setPrefix(const XalanDOMString&         /* 
prefix */)
  -{
  -}
  -
  -
  -
  -bool
  -XNodeSetResultTreeFragProxy::isIndexed() const
  -{
  -     return false;
  -}
  -
  -
  -
  -unsigned long
  -XNodeSetResultTreeFragProxy::getIndex() const
  -{
  -     return 0;
   }
   
   
  
  
  
  1.3       +2 -84     xml-xalan/c/src/XPath/XNodeSetResultTreeFragProxy.hpp
  
  Index: XNodeSetResultTreeFragProxy.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XNodeSetResultTreeFragProxy.hpp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- XNodeSetResultTreeFragProxy.hpp   2001/06/15 21:24:38     1.2
  +++ XNodeSetResultTreeFragProxy.hpp   2001/10/19 18:37:47     1.3
  @@ -64,19 +64,15 @@
   
   
   
  -#include <XalanDOM/XalanNodeList.hpp>
  +#include <XPath/XObjectResultTreeFragProxyBase.hpp>
   
   
   
  -#include <XPath/ResultTreeFragBase.hpp>
  -
  -
  -
   class XNodeSetBase;
   
   
   
  -class XALAN_XPATH_EXPORT XNodeSetResultTreeFragProxy : public 
ResultTreeFragBase, private XalanNodeList
  +class XALAN_XPATH_EXPORT XNodeSetResultTreeFragProxy : public 
XObjectResultTreeFragProxyBase
   {
   public:
   
  @@ -87,42 +83,12 @@
   
        // These interfaces are inherited from ResultTreeFragBase...
   
  -     virtual void
  -     clear();
  -
  -     virtual const XalanDOMString&
  -     getNodeName() const;
  -
  -     virtual const XalanDOMString&
  -     getNodeValue() const;
  -
  -     virtual NodeType
  -     getNodeType() const;
  -
  -     virtual XalanNode*
  -     getParentNode() const;
  -
  -     virtual const XalanNodeList*
  -     getChildNodes() const;
  -
        virtual XalanNode*
        getFirstChild() const;
   
        virtual XalanNode*
        getLastChild() const;
   
  -     virtual XalanNode*
  -     getPreviousSibling() const;
  -
  -     virtual XalanNode*
  -     getNextSibling() const;
  -
  -     virtual const XalanNamedNodeMap*
  -     getAttributes() const;
  -
  -     virtual XalanDocument*
  -     getOwnerDocument() const;
  -
   #if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
        virtual XalanNode*
   #else
  @@ -130,54 +96,9 @@
   #endif
        cloneNode(bool deep) const;
   
  -     virtual XalanNode*
  -     insertBefore(
  -                     XalanNode*      newChild,
  -                     XalanNode*      refChild);
  -
  -     virtual XalanNode*
  -     replaceChild(
  -                     XalanNode*      newChild,
  -                     XalanNode*      oldChild);
  -
  -     virtual XalanNode*
  -     removeChild(XalanNode*  oldChild);
  -
  -     virtual XalanNode*
  -     appendChild(XalanNode*  newChild);
  -
        virtual bool
        hasChildNodes() const;
   
  -     virtual void
  -     setNodeValue(const XalanDOMString&      nodeValue);
  -
  -     virtual void
  -     normalize();
  -
  -     virtual bool
  -     supports(
  -                     const XalanDOMString&   feature,
  -                     const XalanDOMString&   version) const;
  -
  -     virtual const XalanDOMString&
  -     getNamespaceURI() const;
  -
  -     virtual const XalanDOMString&
  -     getPrefix() const;
  -
  -     virtual const XalanDOMString&
  -     getLocalName() const;
  -
  -     virtual void
  -     setPrefix(const XalanDOMString&         prefix);
  -
  -     virtual bool
  -     isIndexed() const;
  -
  -     virtual unsigned long
  -     getIndex() const;
  -
   #if defined(XALAN_NO_COVARIANT_RETURN_TYPE)
        virtual ResultTreeFragBase*
   #else
  @@ -207,9 +128,6 @@
   
        // Data members...
        const XNodeSetBase&             m_value;
  -
  -     static const XalanDOMString             s_emptyString;
  -
   };
   
   
  
  
  
  1.26      +1 -1      xml-xalan/c/src/XPath/XObject.cpp
  
  Index: XObject.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XObject.cpp,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -r1.25 -r1.26
  --- XObject.cpp       2001/09/26 20:58:46     1.25
  +++ XObject.cpp       2001/10/19 18:37:47     1.26
  @@ -181,7 +181,7 @@
   
   
   const ResultTreeFragBase&
  -XObject::rtree(XPathExecutionContext&        /* executionContext */) const
  +XObject::rtree() const
   {
        throw XObjectInvalidConversionException(getTypeString(), 
TranscodeFromLocalCodePage("result tree fragment"));
   
  
  
  
  1.21      +1 -2      xml-xalan/c/src/XPath/XObject.hpp
  
  Index: XObject.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XObject.hpp,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- XObject.hpp       2001/06/06 21:49:03     1.20
  +++ XObject.hpp       2001/10/19 18:37:47     1.21
  @@ -192,11 +192,10 @@
        /**
         * Cast result object to a result tree fragment.
         *
  -      * @param executionContext the current execution context
         * @return result tree fragment
         */
        virtual const ResultTreeFragBase&
  -     rtree(XPathExecutionContext&    executionContext) const;
  +     rtree() const;
   
        /**
         * Cast result object to a nodelist.
  
  
  
  1.18      +0 -8      xml-xalan/c/src/XPath/XPathEnvSupport.hpp
  
  Index: XPathEnvSupport.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XPathEnvSupport.hpp,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- XPathEnvSupport.hpp       2001/09/14 20:06:26     1.17
  +++ XPathEnvSupport.hpp       2001/10/19 18:37:47     1.18
  @@ -153,14 +153,6 @@
        findURIFromDoc(const XalanDocument*             owner) const = 0;
   
        /**
  -      * Get a DOM document, primarily for creating result tree fragments.
  -      *
  -      * @return DOM document
  -      */
  -     virtual XalanDocument*
  -     getDOMFactory() const = 0;
  -
  -     /**
         * Determine if an external element is available.
         *
         * @param theNamespace  namespace for the element
  
  
  
  1.30      +0 -8      xml-xalan/c/src/XPath/XPathEnvSupportDefault.cpp
  
  Index: XPathEnvSupportDefault.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XPathEnvSupportDefault.cpp,v
  retrieving revision 1.29
  retrieving revision 1.30
  diff -u -r1.29 -r1.30
  --- XPathEnvSupportDefault.cpp        2001/09/18 18:22:17     1.29
  +++ XPathEnvSupportDefault.cpp        2001/10/19 18:37:47     1.30
  @@ -322,14 +322,6 @@
   
   
   
  -XalanDocument*
  -XPathEnvSupportDefault::getDOMFactory() const
  -{
  -     return 0;
  -}
  -
  -
  -
   bool
   XPathEnvSupportDefault::elementAvailable(
                        const XalanDOMString&   /* theNamespace */,
  
  
  
  1.23      +0 -3      xml-xalan/c/src/XPath/XPathEnvSupportDefault.hpp
  
  Index: XPathEnvSupportDefault.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XPathEnvSupportDefault.hpp,v
  retrieving revision 1.22
  retrieving revision 1.23
  diff -u -r1.22 -r1.23
  --- XPathEnvSupportDefault.hpp        2001/09/14 20:06:26     1.22
  +++ XPathEnvSupportDefault.hpp        2001/10/19 18:37:47     1.23
  @@ -185,9 +185,6 @@
        virtual XalanDOMString
        findURIFromDoc(const XalanDocument*             owner) const;
   
  -     virtual XalanDocument*
  -     getDOMFactory() const;
  -
        virtual bool
        elementAvailable(
                        const XalanDOMString&   theNamespace, 
  
  
  
  1.45      +0 -8      xml-xalan/c/src/XPath/XPathExecutionContext.hpp
  
  Index: XPathExecutionContext.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XPathExecutionContext.hpp,v
  retrieving revision 1.44
  retrieving revision 1.45
  diff -u -r1.44 -r1.45
  --- XPathExecutionContext.hpp 2001/09/26 20:58:46     1.44
  +++ XPathExecutionContext.hpp 2001/10/19 18:37:47     1.45
  @@ -719,14 +719,6 @@
        findURIFromDoc(const XalanDocument*             owner) const = 0;
   
        /**
  -      * Get a DOM document, primarily for creating result tree fragments.
  -      *
  -      * @return DOM document
  -      */
  -     virtual XalanDocument*
  -     getDOMFactory() const = 0;
  -
  -     /**
         * The getUnparsedEntityURI function returns the URI of the unparsed
         * entity with the specified name in the same document as the context
         * node (see [3.3 Unparsed Entities]). It returns the empty string if
  
  
  
  1.44      +4 -15     xml-xalan/c/src/XPath/XPathExecutionContextDefault.cpp
  
  Index: XPathExecutionContextDefault.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XPathExecutionContextDefault.cpp,v
  retrieving revision 1.43
  retrieving revision 1.44
  diff -u -r1.43 -r1.44
  --- XPathExecutionContextDefault.cpp  2001/09/26 20:58:46     1.43
  +++ XPathExecutionContextDefault.cpp  2001/10/19 18:37:47     1.44
  @@ -106,7 +106,6 @@
        m_prefixResolver(thePrefixResolver),
        m_throwFoundIndex(false),
        m_nodeListCache(eNodeListCacheListSize),
  -     m_resultTreeFragCache(eResultTreeFragCacheListSize),
        m_stringCache()
   {
   }
  @@ -126,7 +125,6 @@
        m_prefixResolver(thePrefixResolver),
        m_throwFoundIndex(false),
        m_nodeListCache(eNodeListCacheListSize),
  -     m_resultTreeFragCache(eResultTreeFragCacheListSize),
        m_stringCache()
   {
   }
  @@ -165,7 +163,6 @@
        m_throwFoundIndex = false;
   
        m_nodeListCache.reset(),
  -     m_resultTreeFragCache.reset(),
   
        m_stringCache.reset();
   }
  @@ -339,7 +336,7 @@
   ResultTreeFragBase*
   XPathExecutionContextDefault::borrowResultTreeFrag()
   {
  -     return m_resultTreeFragCache.get();
  +     return new ResultTreeFrag;
   }
   
   
  @@ -347,7 +344,9 @@
   bool
   XPathExecutionContextDefault::returnResultTreeFrag(ResultTreeFragBase*       
theResultTreeFragBase)
   {
  -     return m_resultTreeFragCache.release(theResultTreeFragBase);
  +     delete theResultTreeFragBase;
  +
  +     return true;
   }
   
   
  @@ -422,16 +421,6 @@
        assert(m_prefixResolver != 0);
   
        return m_prefixResolver->getNamespaceForPrefix(prefix);
  -}
  -
  -
  -
  -XalanDocument*
  -XPathExecutionContextDefault::getDOMFactory() const
  -{
  -     assert(m_xpathEnvSupport != 0);
  -
  -     return m_xpathEnvSupport->getDOMFactory();
   }
   
   
  
  
  
  1.40      +1 -9      xml-xalan/c/src/XPath/XPathExecutionContextDefault.hpp
  
  Index: XPathExecutionContextDefault.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XPathExecutionContextDefault.hpp,v
  retrieving revision 1.39
  retrieving revision 1.40
  diff -u -r1.39 -r1.40
  --- XPathExecutionContextDefault.hpp  2001/09/26 20:58:46     1.39
  +++ XPathExecutionContextDefault.hpp  2001/10/19 18:37:47     1.40
  @@ -91,7 +91,6 @@
   
   
   #include <XPath/MutableNodeRefList.hpp>
  -#include <XPath/ResultTreeFrag.hpp>
   
   
   
  @@ -278,9 +277,6 @@
        virtual const XalanDOMString*
        getNamespaceForPrefix(const XalanDOMString&             prefix) const;
   
  -     virtual XalanDocument*
  -     getDOMFactory() const;
  -
        virtual XalanDOMString
        findURIFromDoc(const XalanDocument*             owner) const;
   
  @@ -387,10 +383,8 @@
   protected:
   
        typedef XalanObjectCache<MutableNodeRefList, 
DefaultCacheCreateFunctor<MutableNodeRefList>, 
DeleteFunctor<MutableNodeRefList>, ClearCacheResetFunctor<MutableNodeRefList> > 
    NodeListCacheType;
  -     typedef XalanObjectCache<ResultTreeFragBase, 
DefaultCacheCreateFunctor<ResultTreeFrag>, DeleteFunctor<ResultTreeFragBase>, 
ClearCacheResetFunctor<ResultTreeFragBase> >         ResultTreeFragCacheType;
   
  -     enum { eNodeListCacheListSize = 50,
  -                eResultTreeFragCacheListSize = 50 };
  +     enum { eNodeListCacheListSize = 50 };
   
        XPathEnvSupport*                        m_xpathEnvSupport;
   
  @@ -409,8 +403,6 @@
        XalanDOMString                          m_currentPattern;
   
        NodeListCacheType                       m_nodeListCache;
  -
  -     ResultTreeFragCacheType         m_resultTreeFragCache;
   
        XalanDOMStringCache                     m_stringCache;
   
  
  
  
  1.28      +0 -8      xml-xalan/c/src/XPath/XResultTreeFrag.cpp
  
  Index: XResultTreeFrag.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XResultTreeFrag.cpp,v
  retrieving revision 1.27
  retrieving revision 1.28
  diff -u -r1.27 -r1.28
  --- XResultTreeFrag.cpp       2001/09/26 22:30:41     1.27
  +++ XResultTreeFrag.cpp       2001/10/19 18:37:47     1.28
  @@ -211,14 +211,6 @@
   
   
   const ResultTreeFragBase&
  -XResultTreeFrag::rtree(XPathExecutionContext&        /* executionContext */) 
const
  -{
  -     return *m_value.get();
  -}
  -
  -
  -
  -const ResultTreeFragBase&
   XResultTreeFrag::rtree() const
   {
        return *m_value.get();
  
  
  
  1.26      +0 -3      xml-xalan/c/src/XPath/XResultTreeFrag.hpp
  
  Index: XResultTreeFrag.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XResultTreeFrag.hpp,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -r1.25 -r1.26
  --- XResultTreeFrag.hpp       2001/09/26 22:30:41     1.25
  +++ XResultTreeFrag.hpp       2001/10/19 18:37:47     1.26
  @@ -150,9 +150,6 @@
        str(XalanDOMString&     theBuffer) const;
   
        virtual const ResultTreeFragBase&
  -     rtree(XPathExecutionContext&    executionContext) const;
  -
  -     virtual const ResultTreeFragBase&
        rtree() const;
   
        virtual const NodeRefListBase&
  
  
  
  1.5       +4 -29     xml-xalan/c/src/XPath/XStringBase.cpp
  
  Index: XStringBase.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XStringBase.cpp,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- XStringBase.cpp   2001/09/20 18:05:34     1.4
  +++ XStringBase.cpp   2001/10/19 18:37:47     1.5
  @@ -69,7 +69,6 @@
   
   
   
  -#include "ResultTreeFrag.hpp"
   #include "XObjectTypeCallback.hpp"
   #include "XPathExecutionContext.hpp"
   
  @@ -78,7 +77,7 @@
   XStringBase::XStringBase() :
        XObject(eTypeString),
        m_cachedNumberValue(0.0),
  -     m_resultTreeFrag(0)
  +     m_resultTreeFrag(*this)
   {
   }
   
  @@ -87,9 +86,7 @@
   XStringBase::XStringBase(const XStringBase&          source) :
        XObject(source),
        m_cachedNumberValue(source.m_cachedNumberValue),
  -     m_resultTreeFrag(source.m_resultTreeFrag.get() == 0 ?
  -                                             0 :
  -                                             
source.m_resultTreeFrag->clone(true))
  +     m_resultTreeFrag(*this)
   {
   }
   
  @@ -135,31 +132,9 @@
   
   
   const ResultTreeFragBase&
  -XStringBase::rtree(XPathExecutionContext&    executionContext) const
  +XStringBase::rtree() const
   {
  -     if (m_resultTreeFrag.get() == 0)
  -     {
  -             ResultTreeFrag* const   theFrag = new ResultTreeFrag;
  -
  -             XalanDocument* const    theFactory = 
executionContext.getDOMFactory();
  -
  -             if (theFactory != 0)
  -             {
  -                     XalanNode* const        textNode =
  -                             theFactory->createTextNode(str());
  -                     assert(textNode != 0);
  -
  -                     theFrag->appendChild(textNode);
  -             }
  -
  -#if defined(XALAN_NO_MUTABLE)
  -             ((XStringBase*)this)->m_resultTreeFrag.reset(theFrag);
  -#else
  -             m_resultTreeFrag.reset(theFrag);
  -#endif
  -     }
  -
  -     return *m_resultTreeFrag.get();
  +     return m_resultTreeFrag;
   }
   
   
  
  
  
  1.3       +4 -18     xml-xalan/c/src/XPath/XStringBase.hpp
  
  Index: XStringBase.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XStringBase.hpp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- XStringBase.hpp   2001/05/02 15:53:09     1.2
  +++ XStringBase.hpp   2001/10/19 18:37:47     1.3
  @@ -64,26 +64,12 @@
   
   
   
  -#include <XalanDOM/XalanDOMString.hpp>
  -
  -
  -
  -#if defined(XALAN_AUTO_PTR_REQUIRES_DEFINITION)
  -#include <XPath/ResultTreeFragBase.hpp>
  -#endif
  -
  -
  -
  -#include <Include/XalanAutoPtr.hpp>
  -
  -
  -
   // Base class header file.
   #include <XPath/XObject.hpp>
  +#include <XPath/XObjectResultTreeFragProxy.hpp>
   
   
   
  -class ResultTreeFragBase;
   class XPathEnvSupport;
   
   
  @@ -131,7 +117,7 @@
                        MemberFunctionPtr       function) const = 0;
   
        virtual const ResultTreeFragBase&
  -     rtree(XPathExecutionContext&    executionContext) const;
  +     rtree() const;
   
        virtual void
        ProcessXObjectTypeCallback(XObjectTypeCallback&         
theCallbackObject);
  @@ -141,9 +127,9 @@
   
   private:
   
  -     mutable double                                                          
m_cachedNumberValue;
  +     mutable double                                          
m_cachedNumberValue;
   
  -     mutable XalanAutoPtr<ResultTreeFragBase>        m_resultTreeFrag;
  +     mutable XObjectResultTreeFragProxy      m_resultTreeFrag;
   };
   
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to