Mercurial > genshi > mirror
diff doc/xpath.txt @ 516:317a7f4e3c69 trunk
Implemented XPath sub-expressions.
author | athomas |
---|---|
date | Wed, 06 Jun 2007 13:57:40 +0000 |
parents | 1bdccd3bda00 |
children | f33ecf3c319e |
line wrap: on
line diff
--- a/doc/xpath.txt +++ b/doc/xpath.txt @@ -52,8 +52,8 @@ * ``sum()`` The mathematical operators (``+``, ``-``, ``*``, ``div``, and ``mod``) are not -yet supported, whereas the various comparison and logical operators should work -as expected. +yet supported, whereas sub-expressions and the various comparison and logical +operators should work as expected. You can also use XPath variable references (``$var``) inside predicates. @@ -68,20 +68,28 @@ .. code-block:: pycon >>> from genshi.input import XML - + >>> doc = XML('''<doc> - ... <items count="2"> - ... <item status="new"> - ... <summary>Foo</summary> - ... </item> - ... <item status="closed"> - ... <summary>Bar</summary> - ... </item> - ... </items> + ... <items count="4"> + ... <item status="new"> + ... <summary>Foo</summary> + ... </item> + ... <item status="closed"> + ... <summary>Bar</summary> + ... </item> + ... <item status="closed" resolution="invalid"> + ... <summary>Baz</summary> + ... </item> + ... <item status="closed" resolution="fixed"> + ... <summary>Waz</summary> + ... </item> + ... </items> ... </doc>''') - - >>> print doc.select('items/item[@status="closed"]/summary/text()') - Bar + + >>> print doc.select('items/item[@status="closed" and ' + ... '(@resolution="invalid" or not(@resolution))]/summary/text()') + BarBaz + ---------------------