>>> foo.findall('.//[@id]') Traceback (most recent call last): File "", line 1, in ? File "lxml.etree.pyx", line 1547, in lxml.etree._ElementTree.findall File "lxml.etree.pyx", line 1182, in lxml.etree._Element.findall File "/home/jhammel/fsm.env/opencore/lib/python2.4/site-packages/lxml-2.0beta1-py2.4-linux-x86_64.egg/lxml/_elementpath.py", line 216, in findall return list(iterfind(elem, path)) File "/home/jhammel/fsm.env/opencore/lib/python2.4/site-packages/lxml-2.0beta1-py2.4-linux-x86_64.egg/lxml/_elementpath.py", line 197, in iterfind selector = _build_path_iterator(path) File "/home/jhammel/fsm.env/opencore/lib/python2.4/site-packages/lxml-2.0beta1-py2.4-linux-x86_64.egg/lxml/_elementpath.py", line 181, in _build_path_iterator selector.append(ops[token[0]](next, token)) File "/home/jhammel/fsm.env/opencore/lib/python2.4/site-packages/lxml-2.0beta1-py2.4-linux-x86_64.egg/lxml/_elementpath.py", line 93, in prepare_iter raise SyntaxError SyntaxError