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
+
 
 
 ---------------------
Copyright (C) 2012-2017 Edgewall Software