GNOME Bugzilla – Bug 748062
XPath fails if root element is unicode (cyrillic)
Last modified: 2021-07-05 13:21:14 UTC
Created attachment 301854 [details] Test XML to reproduce problem Both lxml and xmlstarlet fail to process XPath is root element is Cyrillic; or more precisely, if first letter of root is Cyrillic. $ xmlstarlet sel -t -v "/юникод/text()" test.xml Invalid expression: /юникод/text() compilation error: element with-param XSLT-with-param: Failed to compile select expression '/юникод/text()' But this works: $ xmlstarlet sel -t -v "/./юникод/text()" test.xml текст It reproduces also in Python lxml #!/usr/bin/env python3 import lxml.etree e = lxml.etree.fromstring('<?xml version="1.0" encoding="UTF-8"?><юникод>текст</юникод>'.encode('utf-8')) # Works assert e.xpath('/./юникод/text()') == ['текст'] # Fails assert e.xpath('/юникод/text()') == ['текст']
GNOME is going to shut down bugzilla.gnome.org in favor of gitlab.gnome.org. As part of that, we are mass-closing older open tickets in bugzilla.gnome.org which have not seen updates for a longer time (resources are unfortunately quite limited so not every ticket can get handled). If you can still reproduce the situation described in this ticket in a recent and supported software version, then please follow https://wiki.gnome.org/GettingInTouch/BugReportingGuidelines and create a new ticket at https://gitlab.gnome.org/GNOME/libxml2/-/issues/ Thank you for your understanding and your help.