dbertoni    01/05/02 08:54:32

  Modified:    c/src/XPath SimpleNodeLocator.cpp SimpleNodeLocator.hpp
                        XBoolean.cpp XBoolean.hpp XNodeSet.cpp XNodeSet.hpp
                        XNull.cpp XNull.hpp XNumber.cpp XNumber.hpp
                        XNumberBase.hpp XObject.cpp XObject.hpp
                        XResultTreeFrag.cpp XResultTreeFrag.hpp XString.cpp
                        XString.hpp XStringAdapter.cpp XStringAdapter.hpp
                        XStringBase.hpp XStringCached.cpp XStringCached.hpp
                        XStringReference.cpp XStringReference.hpp
                        XToken.cpp XToken.hpp XTokenNumberAdapter.cpp
                        XTokenNumberAdapter.hpp XTokenStringAdapter.cpp
                        XTokenStringAdapter.hpp XUnknown.cpp XUnknown.hpp
  Log:
  New implementation to push character data to the result tree.
  
  Revision  Changes    Path
  1.37      +44 -14    xml-xalan/c/src/XPath/SimpleNodeLocator.cpp
  
  Index: SimpleNodeLocator.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/SimpleNodeLocator.cpp,v
  retrieving revision 1.36
  retrieving revision 1.37
  diff -u -r1.36 -r1.37
  --- SimpleNodeLocator.cpp     2001/03/04 19:43:00     1.36
  +++ SimpleNodeLocator.cpp     2001/05/02 15:52:41     1.37
  @@ -477,34 +477,45 @@
                        argLen =
                                        
currentExpression.getOpCodeMapValue(opPos + 
XPathExpression::s__opCodeMapLengthIndex + 1) - 3;
   
  -                     if(context->getNodeType() != XalanNode::ATTRIBUTE_NODE)
  +                     XalanNode::NodeType             nodeType = 
context->getNodeType();
  +
  +                     if(nodeType != XalanNode::ATTRIBUTE_NODE)
                        {
                                opPos += 3;
   
  -                             while(0 != context)
  +                             for(;;)
                                {
  -                                     score = nodeTest(xpath, 
executionContext, context, opPos, argLen, stepType);
  +                                     score = nodeTest(xpath, 
executionContext, context, nodeType, opPos, argLen, stepType);
   
                                        if(xpath.s_MatchScoreNone != score)
                                                break;
   
                                        context = 
DOMServices::getParentOfNode(*context);
  +
  +                                     if (context == 0)
  +                                             break;
  +
  +                                     nodeType = context->getNodeType();
                                }
                        }
                }
                break;
   
        case XPathExpression::eMATCH_IMMEDIATE_ANCESTOR:
  -             // $$ ToDO: Can we reduce this to some call on the
  -             // XPathExpression interface?
  -             argLen =
  +             {
  +                     // $$ ToDO: Can we reduce this to some call on the
  +                     // XPathExpression interface?
  +                     argLen =
                                currentExpression.getOpCodeMapValue(opPos + 
XPathExpression::s__opCodeMapLengthIndex + 1) - 3;
   
  -             if(context->getNodeType() != XalanNode::ATTRIBUTE_NODE)
  -             {
  -                     opPos += 3;
  +                     const XalanNode::NodeType       nodeType = 
context->getNodeType();
   
  -                     score = nodeTest(xpath, executionContext, context, 
opPos, argLen, stepType);
  +                     if(nodeType != XalanNode::ATTRIBUTE_NODE)
  +                     {
  +                             opPos += 3;
  +
  +                             score = nodeTest(xpath, executionContext, 
context, nodeType, opPos, argLen, stepType);
  +                     }
                }
                break;
   
  @@ -886,6 +897,7 @@
                                const double    score = nodeTest(xpath,
                                                                                
                 executionContext,
                                                                                
                 theNode,
  +                                                                             
                 XalanNode::ATTRIBUTE_NODE,
                                                                                
                 opPos,
                                                                                
                 argLen,
                                                                                
                 stepType);
  @@ -1351,7 +1363,7 @@
                                for(unsigned int i = 0; i < nAttrs; ++i)
                                {
                                        XalanNode* const        attr = 
attributeList->item(i);
  -                                     assert(attr != 0);
  +                                     assert(attr != 0 && attr->getNodeType() 
== XalanNode::ATTRIBUTE_NODE);
   
                                        const XalanDOMString&   theNodeName = 
attr->getNodeName();
   
  @@ -1363,6 +1375,7 @@
                                                if(nodeTest(xpath,
                                                                        
executionContext,
                                                                        attr,
  +                                                                     
XalanNode::ATTRIBUTE_NODE,
                                                                        opPos,
                                                                        argLen,
                                                                        
stepType) != xpath.s_MatchScoreNone)
  @@ -1410,11 +1423,14 @@
   SimpleNodeLocator::nodeTest(
                        const XPath&                    xpath,
                        XPathExecutionContext&  executionContext,
  -                     XalanNode*                              context, 
  +                     XalanNode*                              context,
  +                     XalanNode::NodeType             nodeType,
                        int                                     opPos,
                        int                                     argLen,
                        int                                     stepType)
   {
  +     assert(context->getNodeType() == nodeType);
  +
        const XPathExpression&  currentExpression =
                xpath.getExpression();
   
  @@ -1422,8 +1438,6 @@
   
        const int       testType = currentExpression.getOpCodeMapValue(opPos);
   
  -     const XalanNode::NodeType       nodeType = context->getNodeType();
  -
        switch(testType)
        {
        case XPathExpression::eNODETYPE_COMMENT:
  @@ -1675,6 +1689,22 @@
        } // end switch(testType)
   
        return score;
  +}
  +
  +
  +
  +inline double
  +SimpleNodeLocator::nodeTest(
  +                     const XPath&                    xpath,
  +                     XPathExecutionContext&  executionContext,
  +                     XalanNode*                              context, 
  +                     int                                     opPos,
  +                     int                                     argLen,
  +                     int                                     stepType)
  +{
  +     assert(context != 0);
  +
  +     return nodeTest(xpath, executionContext, context, 
context->getNodeType(), opPos, argLen, stepType);
   }
   
   
  
  
  
  1.13      +12 -1     xml-xalan/c/src/XPath/SimpleNodeLocator.hpp
  
  Index: SimpleNodeLocator.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/SimpleNodeLocator.hpp,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- SimpleNodeLocator.hpp     2000/11/21 21:08:23     1.12
  +++ SimpleNodeLocator.hpp     2001/05/02 15:52:43     1.13
  @@ -65,6 +65,7 @@
   
   
   #include <XalanDOM/XalanDOMString.hpp>
  +#include <XalanDOM/XalanNode.hpp>
   
   
   
  @@ -285,7 +286,17 @@
        nodeTest(
                        const XPath&                    xpath,
                        XPathExecutionContext&  executionContext,
  -                     XalanNode*                              context, 
  +                     XalanNode*                              context,
  +                     int                                     opPos,
  +                     int                                     argLen,
  +                     int                                     stepType);
  +
  +     double
  +     nodeTest(
  +                     const XPath&                    xpath,
  +                     XPathExecutionContext&  executionContext,
  +                     XalanNode*                              context,
  +                     XalanNode::NodeType             nodeType,
                        int                                     opPos,
                        int                                     argLen,
                        int                                     stepType);
  
  
  
  1.10      +17 -0     xml-xalan/c/src/XPath/XBoolean.cpp
  
  Index: XBoolean.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XBoolean.cpp,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- XBoolean.cpp      2001/02/09 19:29:13     1.9
  +++ XBoolean.cpp      2001/05/02 15:52:44     1.10
  @@ -140,6 +140,23 @@
   
   
   void
  +XBoolean::str(
  +                     FormatterListener&      formatterListener,
  +                     MemberFunctionPtr       function) const
  +{
  +     if (m_value == true)
  +     {
  +             (formatterListener.*function)(c_wstr(s_trueString), 
length(s_trueString));
  +     }
  +     else
  +     {
  +             (formatterListener.*function)(c_wstr(s_falseString), 
length(s_falseString));
  +     }
  +}
  +
  +
  +
  +void
   XBoolean::ProcessXObjectTypeCallback(XObjectTypeCallback&    
theCallbackObject)
   {
        theCallbackObject.Boolean(*this,
  
  
  
  1.10      +5 -0      xml-xalan/c/src/XPath/XBoolean.hpp
  
  Index: XBoolean.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XBoolean.hpp,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- XBoolean.hpp      2000/09/19 14:55:55     1.9
  +++ XBoolean.hpp      2001/05/02 15:52:45     1.10
  @@ -119,6 +119,11 @@
        str() const;
   
        virtual void
  +     str(
  +                     FormatterListener&      formatterListener,
  +                     MemberFunctionPtr       function) const;
  +
  +     virtual void
        ProcessXObjectTypeCallback(XObjectTypeCallback&         
theCallbackObject);
   
        virtual void
  
  
  
  1.22      +20 -0     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.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- XNodeSet.cpp      2001/01/17 16:57:32     1.21
  +++ XNodeSet.cpp      2001/05/02 15:52:46     1.22
  @@ -180,6 +180,26 @@
   
   
   
  +void
  +XNodeSet::str(
  +                     FormatterListener&      formatterListener,
  +                     MemberFunctionPtr       function) const
  +{
  +     if (isEmpty(m_cachedStringValue) == false)
  +     {
  +             (formatterListener.*function)(c_wstr(m_cachedStringValue), 
length(m_cachedStringValue));
  +     }
  +     else if (m_value->getLength() > 0)
  +     {
  +             const XalanNode* const  theNode = m_value->item(0);
  +             assert(theNode != 0);
  +
  +             DOMServices::getNodeData(*theNode, formatterListener, function);
  +     }
  +}
  +
  +
  +
   const ResultTreeFragBase&
   XNodeSet::rtree(XPathExecutionContext&       executionContext) const
   {
  
  
  
  1.19      +5 -0      xml-xalan/c/src/XPath/XNodeSet.hpp
  
  Index: XNodeSet.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XNodeSet.hpp,v
  retrieving revision 1.18
  retrieving revision 1.19
  diff -u -r1.18 -r1.19
  --- XNodeSet.hpp      2001/01/17 16:57:34     1.18
  +++ XNodeSet.hpp      2001/05/02 15:52:47     1.19
  @@ -135,6 +135,11 @@
        virtual const XalanDOMString&
        str() const;
   
  +     virtual void
  +     str(
  +                     FormatterListener&      formatterListener,
  +                     MemberFunctionPtr       function) const;
  +
        virtual const ResultTreeFragBase&
        rtree(XPathExecutionContext&    executionContext) const;
   
  
  
  
  1.9       +9 -0      xml-xalan/c/src/XPath/XNull.cpp
  
  Index: XNull.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XNull.cpp,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- XNull.cpp 2000/09/19 14:56:04     1.8
  +++ XNull.cpp 2001/05/02 15:52:49     1.9
  @@ -128,6 +128,15 @@
   
   
   void
  +XNull::str(
  +                     FormatterListener&      /* formatterListener */,
  +                     MemberFunctionPtr       /* function */) const
  +{
  +}
  +
  +
  +
  +void
   XNull::ProcessXObjectTypeCallback(XObjectTypeCallback&       
theCallbackObject)
   {
        theCallbackObject.Null(*this);
  
  
  
  1.11      +5 -0      xml-xalan/c/src/XPath/XNull.hpp
  
  Index: XNull.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XNull.hpp,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- XNull.hpp 2000/09/19 14:56:04     1.10
  +++ XNull.hpp 2001/05/02 15:52:51     1.11
  @@ -113,6 +113,11 @@
        str() const;
   
        virtual void
  +     str(
  +                     FormatterListener&      formatterListener,
  +                     MemberFunctionPtr       function) const;
  +
  +     virtual void
        ProcessXObjectTypeCallback(XObjectTypeCallback&         
theCallbackObject);
   
        virtual void
  
  
  
  1.13      +12 -0     xml-xalan/c/src/XPath/XNumber.cpp
  
  Index: XNumber.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XNumber.cpp,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- XNumber.cpp       2001/01/16 02:34:45     1.12
  +++ XNumber.cpp       2001/05/02 15:52:52     1.13
  @@ -125,6 +125,18 @@
   
   
   void
  +XNumber::str(
  +                     FormatterListener&      formatterListener,
  +                     MemberFunctionPtr       function) const
  +{
  +     const XalanDOMString&   theValue = str();
  +
  +     (formatterListener.*function)(c_wstr(theValue), length(theValue));
  +}
  +
  +
  +
  +void
   XNumber::set(double          theValue)
   {
        m_value = theValue;
  
  
  
  1.12      +5 -0      xml-xalan/c/src/XPath/XNumber.hpp
  
  Index: XNumber.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XNumber.hpp,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- XNumber.hpp       2001/01/16 02:34:45     1.11
  +++ XNumber.hpp       2001/05/02 15:52:53     1.12
  @@ -104,6 +104,11 @@
        virtual const XalanDOMString&
        str() const;
   
  +     virtual void
  +     str(
  +                     FormatterListener&      formatterListener,
  +                     MemberFunctionPtr       function) const;
  +
        // These methods are new to XNumber...
   
        /**
  
  
  
  1.2       +5 -0      xml-xalan/c/src/XPath/XNumberBase.hpp
  
  Index: XNumberBase.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XNumberBase.hpp,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- XNumberBase.hpp   2001/01/16 02:34:45     1.1
  +++ XNumberBase.hpp   2001/05/02 15:52:55     1.2
  @@ -97,6 +97,11 @@
        str() const = 0;
   
        virtual void
  +     str(
  +                     FormatterListener&      formatterListener,
  +                     MemberFunctionPtr       function) const = 0;
  +
  +     virtual void
        ProcessXObjectTypeCallback(XObjectTypeCallback&         
theCallbackObject);
   
        virtual void
  
  
  
  1.22      +10 -0     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.21
  retrieving revision 1.22
  diff -u -r1.21 -r1.22
  --- XObject.cpp       2001/03/29 22:15:32     1.21
  +++ XObject.cpp       2001/05/02 15:52:57     1.22
  @@ -162,6 +162,16 @@
   
   
   
  +void
  +XObject::str(
  +                     FormatterListener&      /* formatterListener */,
  +                     MemberFunctionPtr       /* function */) const
  +{
  +     throw XObjectInvalidConversionException(getTypeString(), 
TranscodeFromLocalCodePage("string"));
  +}
  +
  +
  +
   const ResultTreeFragBase&
   XObject::rtree(XPathExecutionContext&        /* executionContext */) const
   {
  
  
  
  1.18      +15 -0     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.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- XObject.hpp       2001/03/29 22:15:32     1.17
  +++ XObject.hpp       2001/05/02 15:52:59     1.18
  @@ -68,6 +68,7 @@
   
   
   
  +#include <PlatformSupport/FormatterListener.hpp>
   #include <PlatformSupport/XalanReferenceCountedObject.hpp>
   
   
  @@ -165,6 +166,20 @@
         */
        virtual const XalanDOMString&
        str() const;
  +
  +     typedef void (FormatterListener::*MemberFunctionPtr)(const XMLCh* 
const, const unsigned int);
  +
  +     /**
  +      * Send the string value to a FormatterListener instance.
  +      *
  +      * @param formatterListener The FormatterListener instance
  +      * @param function A pointer to the member function of 
FormatterListener to call
  +      * 
  +      */
  +     virtual void
  +     str(
  +                     FormatterListener&      formatterListener,
  +                     MemberFunctionPtr       function) const = 0;
   
        /**
         * Cast result object to a result tree fragment.
  
  
  
  1.20      +17 -0     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.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- XResultTreeFrag.cpp       2001/03/29 22:16:35     1.19
  +++ XResultTreeFrag.cpp       2001/05/02 15:53:00     1.20
  @@ -176,6 +176,23 @@
   
   
   
  +void
  +XResultTreeFrag::str(
  +                     FormatterListener&      formatterListener,
  +                     MemberFunctionPtr       function) const
  +{
  +     if (isEmpty(m_cachedStringValue) == false)
  +     {
  +             (formatterListener.*function)(c_wstr(m_cachedStringValue), 
length(m_cachedStringValue));
  +     }
  +     else
  +     {
  +             DOMServices::getNodeData(*m_value, formatterListener, function);
  +     }
  +}
  +
  +
  +
   const ResultTreeFragBase&
   XResultTreeFrag::rtree(XPathExecutionContext&        /* executionContext */) 
const
   {
  
  
  
  1.21      +5 -0      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.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- XResultTreeFrag.hpp       2001/03/29 22:16:35     1.20
  +++ XResultTreeFrag.hpp       2001/05/02 15:53:02     1.21
  @@ -141,6 +141,11 @@
        virtual const XalanDOMString&
        str() const;
   
  +     virtual void
  +     str(
  +                     FormatterListener&      formatterListener,
  +                     MemberFunctionPtr       function) const;
  +
        virtual const ResultTreeFragBase&
        rtree(XPathExecutionContext&    executionContext) const;
   
  
  
  
  1.16      +10 -0     xml-xalan/c/src/XPath/XString.cpp
  
  Index: XString.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XString.cpp,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- XString.cpp       2000/12/21 04:27:57     1.15
  +++ XString.cpp       2001/05/02 15:53:03     1.16
  @@ -120,3 +120,13 @@
   {
        return m_value;
   }
  +
  +
  +
  +void
  +XString::str(
  +                     FormatterListener&      formatterListener,
  +                     MemberFunctionPtr       function) const
  +{
  +     (formatterListener.*function)(c_wstr(m_value), length(m_value));
  +}
  
  
  
  1.16      +5 -0      xml-xalan/c/src/XPath/XString.hpp
  
  Index: XString.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XString.hpp,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- XString.hpp       2000/12/21 04:27:57     1.15
  +++ XString.hpp       2001/05/02 15:53:05     1.16
  @@ -104,6 +104,11 @@
        virtual const XalanDOMString&
        str() const;
     
  +     virtual void
  +     str(
  +                     FormatterListener&      formatterListener,
  +                     MemberFunctionPtr       function) const;
  +
   private:
   
        const XalanDOMString    m_value;
  
  
  
  1.2       +10 -0     xml-xalan/c/src/XPath/XStringAdapter.cpp
  
  Index: XStringAdapter.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XStringAdapter.cpp,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- XStringAdapter.cpp        2000/12/21 04:23:07     1.1
  +++ XStringAdapter.cpp        2001/05/02 15:53:07     1.2
  @@ -101,6 +101,16 @@
   
   
   
  +void
  +XStringAdapter::str(
  +                     FormatterListener&      formatterListener,
  +                     MemberFunctionPtr       function) const
  +{
  +     m_value->str(formatterListener, function);
  +}
  +
  +
  +
   XStringAdapter::eObjectType
   XStringAdapter::getRealType() const
   {
  
  
  
  1.2       +5 -0      xml-xalan/c/src/XPath/XStringAdapter.hpp
  
  Index: XStringAdapter.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XStringAdapter.hpp,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- XStringAdapter.hpp        2000/12/21 04:23:07     1.1
  +++ XStringAdapter.hpp        2001/05/02 15:53:08     1.2
  @@ -100,6 +100,11 @@
        virtual const XalanDOMString&
        str() const;
   
  +     virtual void
  +     str(
  +                     FormatterListener&      formatterListener,
  +                     MemberFunctionPtr       function) const;
  +
   protected:
   
        virtual eObjectType
  
  
  
  1.2       +5 -0      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.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- XStringBase.hpp   2000/12/21 04:23:07     1.1
  +++ XStringBase.hpp   2001/05/02 15:53:09     1.2
  @@ -125,6 +125,11 @@
        virtual const XalanDOMString&
        str() const = 0;
     
  +     virtual void
  +     str(
  +                     FormatterListener&      formatterListener,
  +                     MemberFunctionPtr       function) const = 0;
  +
        virtual const ResultTreeFragBase&
        rtree(XPathExecutionContext&    executionContext) const;
   
  
  
  
  1.3       +10 -0     xml-xalan/c/src/XPath/XStringCached.cpp
  
  Index: XStringCached.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XStringCached.cpp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- XStringCached.cpp 2001/01/25 17:14:23     1.2
  +++ XStringCached.cpp 2001/05/02 15:53:11     1.3
  @@ -106,6 +106,16 @@
   
   
   
  +void
  +XStringCached::str(
  +                     FormatterListener&      formatterListener,
  +                     MemberFunctionPtr       function) const
  +{
  +     (formatterListener.*function)(c_wstr(m_value.get()), 
length(m_value.get()));
  +}
  +
  +
  +
   XStringCached::eObjectType
   XStringCached::getRealType() const
   {
  
  
  
  1.2       +5 -0      xml-xalan/c/src/XPath/XStringCached.hpp
  
  Index: XStringCached.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XStringCached.hpp,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- XStringCached.hpp 2000/12/21 04:23:07     1.1
  +++ XStringCached.hpp 2001/05/02 15:53:13     1.2
  @@ -104,6 +104,11 @@
        virtual const XalanDOMString&
        str() const;
   
  +     virtual void
  +     str(
  +                     FormatterListener&      formatterListener,
  +                     MemberFunctionPtr       function) const;
  +
   protected:
   
        virtual eObjectType
  
  
  
  1.2       +10 -0     xml-xalan/c/src/XPath/XStringReference.cpp
  
  Index: XStringReference.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XStringReference.cpp,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- XStringReference.cpp      2000/12/21 04:23:07     1.1
  +++ XStringReference.cpp      2001/05/02 15:53:15     1.2
  @@ -102,6 +102,16 @@
   
   
   
  +void
  +XStringReference::str(
  +                     FormatterListener&      formatterListener,
  +                     MemberFunctionPtr       function) const
  +{
  +     (formatterListener.*function)(c_wstr(m_value), length(m_value));
  +}
  +
  +
  +
   XStringReference::eObjectType
   XStringReference::getRealType() const
   {
  
  
  
  1.2       +5 -0      xml-xalan/c/src/XPath/XStringReference.hpp
  
  Index: XStringReference.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XStringReference.hpp,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- XStringReference.hpp      2000/12/21 04:23:07     1.1
  +++ XStringReference.hpp      2001/05/02 15:53:17     1.2
  @@ -101,6 +101,11 @@
        virtual const XalanDOMString&
        str() const;
     
  +     virtual void
  +     str(
  +                     FormatterListener&      formatterListener,
  +                     MemberFunctionPtr       function) const;
  +
   protected:
   
        virtual eObjectType
  
  
  
  1.2       +10 -0     xml-xalan/c/src/XPath/XToken.cpp
  
  Index: XToken.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XToken.cpp,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- XToken.cpp        2001/01/16 02:34:46     1.1
  +++ XToken.cpp        2001/05/02 15:53:18     1.2
  @@ -146,6 +146,16 @@
   
   
   void
  +XToken::str(
  +                     FormatterListener&      formatterListener,
  +                     MemberFunctionPtr       function) const
  +{
  +     (formatterListener.*function)(c_wstr(m_stringValue), 
length(m_stringValue));
  +}
  +
  +
  +
  +void
   XToken::ProcessXObjectTypeCallback(XObjectTypeCallback&      
theCallbackObject)
   {
        theCallbackObject.String(*this, m_stringValue);
  
  
  
  1.2       +5 -0      xml-xalan/c/src/XPath/XToken.hpp
  
  Index: XToken.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XToken.hpp,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- XToken.hpp        2001/01/16 02:34:46     1.1
  +++ XToken.hpp        2001/05/02 15:53:21     1.2
  @@ -102,6 +102,11 @@
        str() const;
   
        virtual void
  +     str(
  +                     FormatterListener&      formatterListener,
  +                     MemberFunctionPtr       function) const;
  +
  +     virtual void
        ProcessXObjectTypeCallback(XObjectTypeCallback&         
theCallbackObject);
   
        virtual void
  
  
  
  1.2       +10 -0     xml-xalan/c/src/XPath/XTokenNumberAdapter.cpp
  
  Index: XTokenNumberAdapter.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XTokenNumberAdapter.cpp,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- XTokenNumberAdapter.cpp   2001/01/16 02:34:46     1.1
  +++ XTokenNumberAdapter.cpp   2001/05/02 15:53:22     1.2
  @@ -113,6 +113,16 @@
   
   
   
  +void
  +XTokenNumberAdapter::str(
  +                     FormatterListener&      formatterListener,
  +                     MemberFunctionPtr       function) const
  +{
  +     m_value.str(formatterListener, function);
  +}
  +
  +
  +
   XTokenNumberAdapter::eObjectType
   XTokenNumberAdapter::getRealType() const
   {
  
  
  
  1.2       +5 -0      xml-xalan/c/src/XPath/XTokenNumberAdapter.hpp
  
  Index: XTokenNumberAdapter.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XTokenNumberAdapter.hpp,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- XTokenNumberAdapter.hpp   2001/01/16 02:34:46     1.1
  +++ XTokenNumberAdapter.hpp   2001/05/02 15:53:23     1.2
  @@ -108,6 +108,11 @@
        virtual const XalanDOMString&
        str() const;
   
  +     virtual void
  +     str(
  +                     FormatterListener&      formatterListener,
  +                     MemberFunctionPtr       function) const;
  +
   protected:
   
        virtual eObjectType
  
  
  
  1.2       +10 -0     xml-xalan/c/src/XPath/XTokenStringAdapter.cpp
  
  Index: XTokenStringAdapter.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XTokenStringAdapter.cpp,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- XTokenStringAdapter.cpp   2001/01/16 02:34:46     1.1
  +++ XTokenStringAdapter.cpp   2001/05/02 15:53:25     1.2
  @@ -113,6 +113,16 @@
   
   
   
  +void
  +XTokenStringAdapter::str(
  +                     FormatterListener&      formatterListener,
  +                     MemberFunctionPtr       function) const
  +{
  +     m_value.str(formatterListener, function);
  +}
  +
  +
  +
   XTokenStringAdapter::eObjectType
   XTokenStringAdapter::getRealType() const
   {
  
  
  
  1.2       +5 -0      xml-xalan/c/src/XPath/XTokenStringAdapter.hpp
  
  Index: XTokenStringAdapter.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XTokenStringAdapter.hpp,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- XTokenStringAdapter.hpp   2001/01/16 02:34:46     1.1
  +++ XTokenStringAdapter.hpp   2001/05/02 15:53:27     1.2
  @@ -108,6 +108,11 @@
        virtual const XalanDOMString&
        str() const;
   
  +     virtual void
  +     str(
  +                     FormatterListener&      formatterListener,
  +                     MemberFunctionPtr       function) const;
  +
   protected:
   
        virtual eObjectType
  
  
  
  1.11      +10 -0     xml-xalan/c/src/XPath/XUnknown.cpp
  
  Index: XUnknown.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XUnknown.cpp,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- XUnknown.cpp      2001/02/09 19:29:15     1.10
  +++ XUnknown.cpp      2001/05/02 15:53:28     1.11
  @@ -138,6 +138,16 @@
   
   
   void
  +XUnknown::str(
  +                     FormatterListener&      formatterListener,
  +                     MemberFunctionPtr       function) const
  +{
  +     (formatterListener.*function)(c_wstr(m_value), length(m_value));
  +}
  +
  +
  +
  +void
   XUnknown::ProcessXObjectTypeCallback(XObjectTypeCallback&    
theCallbackObject)
   {
        theCallbackObject.Unknown(*this,
  
  
  
  1.11      +5 -0      xml-xalan/c/src/XPath/XUnknown.hpp
  
  Index: XUnknown.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XUnknown.hpp,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- XUnknown.hpp      2000/11/09 19:39:44     1.10
  +++ XUnknown.hpp      2001/05/02 15:53:29     1.11
  @@ -123,6 +123,11 @@
        str() const;
   
        virtual void
  +     str(
  +                     FormatterListener&      formatterListener,
  +                     MemberFunctionPtr       function) const;
  +
  +     virtual void
        ProcessXObjectTypeCallback(XObjectTypeCallback&         
theCallbackObject);
   
        virtual void
  
  
  

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

Reply via email to