Hi Roger, I encountered this issue stepping into a call to getChildNodes on an instance of XalanDocument class. The implementation of getChildNodes for this class is in XalanSourceTreeDocument.cpp. It throws a NOT_SUPPORTED_ERR at line 204 in the getChildNodes method implementation. Grepping through the Xalan source code shows that the following implementations also throw this exception in their respective getChildNodes implementations:
XalanSourceTreeComment.cpp:117 XalanSourceTreeDocumentFragment.cpp:110 XalanSourceTreeElement.cpp:136 XalanSourceTreeProcessingInstruction.cpp:116 XalanSourceTreeText.cpp:104 I wonder why this method is not implemented. I have been able to simulate it trivially, using getNextSibling, which is implemented for these classes. Regards, Paul From: Roger Leigh <[email protected]> Sent: Saturday, August 22, 2020 4:18 AM To: [email protected] Subject: Re: getChildNodes errors in Xalan 1.12 Hi Paul, Which specific class are you using? Kind regards, Roger On 21/08/2020 22:32, Paul Kinnucan wrote: Hi, Xalan does not support getChildNodes. The method implementations throw a XalanDOMException::NOT_SUPPORTED_ERR. Why is this method not supported? Paul From: Paul Kinnucan Sent: Sunday, August 9, 2020 12:59 PM To: [email protected]<mailto:[email protected]> Subject: RE: getChildNodes errors in Xalan 1.12 Thanks. I will investigate. From: Roger Leigh <[email protected]<mailto:[email protected]>> Sent: Sunday, August 9, 2020 12:00 PM To: [email protected]<mailto:[email protected]> Subject: Re: getChildNodes errors in Xalan 1.12 Hi Paul, The 1.12 release hasn't made any changes relating to getChildNodes. Other than a handful of small bugfixes, and the switchover to using C++ standard features unconditionally, there aren't any real changes to the code. But it's certainly possible that some latent bug might have been exposed. If you could possibly investigate the failure in a bit more detail, we might be able to pinpoint the fault. If you compile xalan and your application with "-g3" on Linux, could you run your program with gdb and "catch throw", and get a backtrace at the point where the exception is thrown? That will at least tell use where the failure happens, and if you dig around the stack frames leading up to the point where it throws, maybe something will be obviously wrong, like a null pointer or corrupted pointer or something. Kind regards, Roger On 09/08/2020 16:33, Paul Kinnucan wrote: Hi, XalanNode.getChildNodes() triggers an error in Xalan 1.12 on Windows and Linux. All the other node navigation methods work fine, e.g., XalanNode *pDoc = static_cast<XalanNode*>(_LiaisonPtr->parseXMLStream(inputSource)); const XalanNode *pChild = pDoc->getFirstChild(); // works const XalanNodeList *pList = pDoc->getChildNodes(); // Never returns. Triggers a std::exception of unknown cause. I am able to simulate getChildNodes, using getFirstChild and getNextSibling. Any idea what the problem is? Paul
