Skip to content
Snippets Groups Projects
Commit 0d3af7ce authored by Simon Lejeune's avatar Simon Lejeune
Browse files

[FIX] ir.ui.view: `locate_node` of a ns prefixed element

According to [1], "If your XPath expression uses namespace prefixes, you
must define them in a prefix mapping.". It makes sense because an xpath
to a prefixed tag is not able to uniquely locate the tag in the parent
view (it is possible to redefine the ns definition of a prefix, so you
could have multiple elements matching).

We chose to define the nsmap to locate the element in the parent view by
using the lxml internal form to qualify a node ({ns def}tagname). This
form is not compatible with etree.xpath but is with etree.ETXPath.
Fortunately, etree.ETXPath is compatible with the classic xpath
expressions so we'll use this one by default in `locate_node`.

A test has been introduced to showcase the problem.

http://lxml.de/xpathxslt.html#namespaces-and-prefixes: Namespaces and prefixes
parent 2d3c928d
Branches
Tags
No related merge requests found
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment