Hi Daniel, All, I'm having troubles catching some XPath errors using structured error interface (via XML::LibXML perl module I'm working on). We're using xmlXPathCompile(path) to compile xpath expressions. While errors like Invalid expression when path="..." are reported fine, other errors like "Undefined variable" (XPATH_UNDEF_VARIABLE_ERROR) when e.g. path="$xyz" and $xyz is not registered, are not. Maybe it's just I'm doing something wrong. According to xpath.c, line 10297, the error code is assigned to ctxt->error, but it also seems that it gets discarded in xmlXPathCtxtCompile at line 10978: if( pctxt->error != XPATH_EXPRESSION_OK ) { xmlXPathFreeParserContext(pctxt); return (0); } I'm not sure that this is intentional. Do I have to use my own xmlXPathParserContext and low-level API calls or some other way to get the error, or is it simply a bug that the hi-level xmlXPathCompile function doesn't also report the error via a generic structured error handler? Thanks, Petr
Attachment:
pgprq426aPCxY.pgp
Description: signature