[lxml-dev] Bug in XPath evaluation - not a bug :)

Martijn Faassen faassen at startifact.com
Mon Apr 23 22:06:09 CEST 2007


Torsten Rehn wrote:
> On Mon, 2007-04-23 at 08:24 +0200, Stefan Behnel wrote:
>> You should pass the namespace-prefix mapping to lxml. See the docs on this topic:
>>
>> http://codespeak.net/lxml/dev/xpathxslt.html#xpath
> 
> Ah, looking at the development version's page obviously helps ;)
> 
>>> etree.XPathSyntaxError: error in xpath expression
>> As expected. Undefined prefixes are invalid.
> 
> But it is valid XPath 1.0, isn't it? I'm just a little confused by the
> term "XPath Syntax Error". As far as I understand the issue, the problem
> is not with the syntax but with lxml (or whatever lies beneath) not
> supporting some of it (which is ok with the W3C recommendation).

I think it is indeed confusing we call it an XPath Syntax Error. The 
xpath expression is indeed correct, we just haven't supplied it with 
enough information. I wonder if there's a way we can detect this 
specific problem and raise something like an XPathNamespaceError 
instead? I think this one bites people quite frequently, as people often 
forget that the prefixes in XPath are not looked up in the document but 
is independent, just like the prefixes between documents are independent.

Regards,

Martijn



More information about the lxml-dev mailing list