dbertoni    01/01/24 08:12:03

  Modified:    c/src/XPath XPath.cpp XPath.hpp
  Log:
  Added flag to indicate that the instance is embedded in a compiled stylesheet.
  
  Revision  Changes    Path
  1.41      +18 -3     xml-xalan/c/src/XPath/XPath.cpp
  
  Index: XPath.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XPath.cpp,v
  retrieving revision 1.40
  retrieving revision 1.41
  diff -u -r1.40 -r1.41
  --- XPath.cpp 2001/01/16 02:34:46     1.40
  +++ XPath.cpp 2001/01/24 16:11:59     1.41
  @@ -87,7 +87,8 @@
   
   XPath::XPath(bool    createDefaultLocator) :
        m_defaultXLocator(createDefaultLocator == false ? 0 : 
createXLocatorHandler()),
  -     m_expression()
  +     m_expression(),
  +     m_inStylesheet(false)
   {
   }
   
  @@ -1087,7 +1088,14 @@
   
        const XToken&   theLiteral = 
m_expression.m_tokenQueue[m_expression.m_opMap[opPos + 2]];
   
  -     return executionContext.getXObjectFactory().createString(theLiteral);
  +     if (m_inStylesheet == true)
  +     {
  +             return 
executionContext.getXObjectFactory().createString(theLiteral);
  +     }
  +     else
  +     {
  +             return 
executionContext.getXObjectFactory().createString(theLiteral.str());
  +     }
   }
   
   
  @@ -1148,7 +1156,14 @@
   
        const XToken&   theLiteral = 
m_expression.m_tokenQueue[m_expression.m_opMap[opPos + 2]];
   
  -     return executionContext.getXObjectFactory().createNumber(theLiteral);
  +     if (m_inStylesheet == true)
  +     {
  +             return 
executionContext.getXObjectFactory().createNumber(theLiteral);
  +     }
  +     else
  +     {
  +             return 
executionContext.getXObjectFactory().createNumber(theLiteral.num());
  +     }
   }
   
   
  
  
  
  1.20      +20 -0     xml-xalan/c/src/XPath/XPath.hpp
  
  Index: XPath.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XPath.hpp,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- XPath.hpp 2000/11/21 21:08:32     1.19
  +++ XPath.hpp 2001/01/24 16:12:00     1.20
  @@ -423,6 +423,19 @@
        {
                s_functions.DestroyTable();
        }
  +
  +     bool
  +     getInStylesheet() const
  +     {
  +             return m_inStylesheet;
  +     }
  +
  +     void
  +     setInStylesheet(bool    fValue)
  +     {
  +             m_inStylesheet = fValue;
  +     }
  +
   protected:
   
        /**
  @@ -847,6 +860,13 @@
         *
         */
        XPathExpression                                         m_expression;
  +
  +     /**
  +      * If true, the XPath can allocated XObjects in more
  +      * efficient ways, since its lifetime is guaranteed
  +      * to be at least that of the transform.
  +      */
  +     bool                                                            
m_inStylesheet;
   
        /**
         *
  
  
  

Reply via email to