dbertoni    2004/12/29 20:24:37

  Modified:    c/samples/XPathWrapper XPathWrapper.cpp
  Log:
  Fixes for GCC 3.4.
  
  Revision  Changes    Path
  1.28      +33 -16    xml-xalan/c/samples/XPathWrapper/XPathWrapper.cpp
  
  Index: XPathWrapper.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/samples/XPathWrapper/XPathWrapper.cpp,v
  retrieving revision 1.27
  retrieving revision 1.28
  diff -u -r1.27 -r1.28
  --- XPathWrapper.cpp  12 Nov 2004 04:02:39 -0000      1.27
  +++ XPathWrapper.cpp  30 Dec 2004 04:24:37 -0000      1.28
  @@ -81,7 +81,7 @@
   {
   public:
   
  -    typedef  XPathWrapper::CharVectorTypeVectorType CharVectorTypeVectorType;
  +    typedef XPathWrapper::CharVectorTypeVectorType  CharVectorTypeVectorType;
   
       void
        evaluate(
  @@ -100,6 +100,8 @@
                        // Just hoist everything...
                        XALAN_CPP_NAMESPACE_USE
   
  +            typedef XPathConstructionContext::GetAndReleaseCachedString     
GetAndReleaseCachedString;
  +
                        // Initialize the XPath subsystem...
                        XPathInit                                               
theInit;
   
  @@ -147,15 +149,25 @@
                                // first get the context nodeset
                                XPath* const    contextXPath = 
theXPathFactory.create();
   
  -                             theXPathProcessor.initXPath(*contextXPath,
  -                                                                             
        theXPathConstructionContext,
  -                                                                             
        XalanDOMString(context),
  -                                                                             
        ElementPrefixResolverProxy(rootElem, theEnvSupport, theDOMSupport));
  +                const ElementPrefixResolverProxy    
thePrefixResolver(rootElem, theEnvSupport, theDOMSupport);
  +
  +                const GetAndReleaseCachedString     
theGuard(theXPathConstructionContext);
  +
  +                XalanDOMString&     theString = theGuard.get();
  +
  +                theString = context;
  +
  +                             theXPathProcessor.initXPath(
  +                    *contextXPath,
  +                                     theXPathConstructionContext,
  +                                     theString,
  +                                     thePrefixResolver);
   
                                XObjectPtr      xObj =
  -                                     contextXPath->execute(rootElem,
  -                                                                             
  ElementPrefixResolverProxy(rootElem, theEnvSupport, theDOMSupport),
  -                                                                             
  theExecutionContext);
  +                                     contextXPath->execute(
  +                        rootElem,
  +                                             thePrefixResolver,
  +                                             theExecutionContext);
   
                                const NodeRefListBase&  contextNodeList = 
xObj->nodeset();
   
  @@ -187,14 +199,19 @@
   
                                        // and now get the result of the 
primary xpath expression
                                        XPath* const    xpath = 
theXPathFactory.create();
  -                                     theXPathProcessor.initXPath(*xpath,
  -                                                                             
                theXPathConstructionContext,
  -                                                                             
                TranscodeFromLocalCodePage(expr),
  -                                                                             
                ElementPrefixResolverProxy(rootElem, theEnvSupport, 
theDOMSupport));
  -
  -                                     xObj = 
xpath->execute(contextNodeList.item(0),
  -                                                                             
  ElementPrefixResolverProxy(rootElem, theEnvSupport, theDOMSupport),
  -                                                                             
  theExecutionContext);
  +
  +                    theString = expr;
  +
  +                                     theXPathProcessor.initXPath(
  +                        *xpath,
  +                                             theXPathConstructionContext,
  +                                             theString,
  +                                             thePrefixResolver);
  +
  +                                     xObj = xpath->execute(
  +                        contextNodeList.item(0),
  +                                             thePrefixResolver,
  +                                             theExecutionContext);
   
                                        // now encode the results.  For all 
types but nodelist, we'll just convert it to a string
                                        // but, for nodelist, we'll convert 
each node to a string and return a list of them
  
  
  

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

Reply via email to