DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=24974>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=24974 XalanDocument return by parseXMLString doesn't work correctly Summary: XalanDocument return by parseXMLString doesn't work correctly Product: XalanC Version: 1.2.x Platform: Sun OS/Version: Solaris Status: NEW Severity: Critical Priority: Other Component: XalanC AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] I'm trying to write an extension function of Xalan. This function should parse in a XML string in memory and return them as NodeSet as following: const char* xml="...."; // the xml string in memory MemBufInputSource * source = new MemBufInputSource((const XMLByte*)xml,strlen (xml), "foo", false); XalanSourceTreeDOMSupport aDOMSupport; XalanSourceTreeParserLiaison aLiaison(aDOMSupport); aDOMSupport.setParserLiaison(&aLiaison); XalanDocument * aXalanDoc = aLiaison.parseXMLStream(*source); XPathExecutionContext::BorrowReturnMutableNodeRefList mnl(executionContext); mnl->addNodeInDocOrder((XalanNode*)aXalanDoc, executionContext); return executionContext.getXObjectFactory().createNodeSet(mnl); As long as i user the NodeSet returned from this function to evaluate a XPath expression, it crashs. But if i write the XML string at first in a file and then user fuction parseXML of executionContext as following: const char* xml="...."; // the xml string in memory // stream out this string into file called "test.xml" XalanDOMString * xx = new XalanDOMString("test.xml"); XalanDocument * const aXalanDoc = executionContext.parseXML(*xx, XalanDOMString ("")); XPathExecutionContext::BorrowReturnMutableNodeRefList mnl(executionContext); mnl->addNodeInDocOrder((XalanNode*)aXalanDoc, executionContext); return executionContext.getXObjectFactory().createNodeSet(mnl); It works then. Can anyone tell me why? Bug by function parseXMLStream????
