parseURI returns null for any URL in xerces-c 2.3 whereas in xerces 2.2
returns a valid pointer. If I provide a file path, it works on both
versions.

The following code complied on xerces-c 2.2 and 2.3 will help reproduce
this error.

______________________Code to reproduce the bug_______________________


#include <xercesc/dom/DOM.hpp>
#include <xercesc/util/XMLString.hpp>
#include <xercesc/util/PlatformUtils.hpp>
#include <iostream>

using namespace xercesc;

int main (int argc, char* args[]) {

  XMLPlatformUtils::Initialize( );
  
  XMLCh tempStr[100];
  XMLString::transcode("LS", tempStr, 99);
  DOMImplementation *impl =
DOMImplementationRegistry::getDOMImplementation(tempStr);
  DOMBuilder* parser =
((DOMImplementationLS*)impl)->createDOMBuilder(DOMImplementationLS::MODE_SYNCHRONOUS,
 0);

   //char* xmlFile = "/tmp/seeds";
  //char* xmlFile ="http://www.uta.edu";;
  char* xmlFile = "http://search.quepasa.com/servlet/seeds";;
  DOMDocument *doc = 0;
  
  doc = parser->parseURI(xmlFile);
  std::cout<<"Doc value is
*************"<<doc<<"*************"<<std::endl; 

  parser->release();

  XMLPlatformUtils::Terminate();
  
  return 0;
}


Reply via email to