Disabled a XPath optimization. Removed bad debug code.
authorFrederic Jolliton <frederic@jolliton.com>
Mon, 14 Nov 2005 04:50:01 +0000 (04:50 +0000)
committerFrederic Jolliton <frederic@jolliton.com>
Mon, 14 Nov 2005 04:50:01 +0000 (04:50 +0000)
 * Disabled the following XPath optimization:
     child::<TEST>/descendant::<TEST>[<PRED>] -> descendant::<TEST>[<PRED>]
   (which is wrong for PRED := "1" for example.)

git-archimport-id: frederic@jolliton.com--2005-main/tx--main--0.1--patch-50

tags.py
xpath.py

diff --git a/tags.py b/tags.py
index 0d88516..f488dab 100644 (file)
--- a/tags.py
+++ b/tags.py
@@ -52,7 +52,6 @@ def ensureNode( node ) :
        if isinstance( node , Node ) :
                return node
        elif isinstance( node , basestring ) :
-               print node
                return Text( node )
        else :
                raise Error( 'Invalid expression of type %s to build tree' % typeOf( node ) )
index 2f2e75d..05817e0 100644 (file)
--- a/xpath.py
+++ b/xpath.py
@@ -572,10 +572,11 @@ rules = [
                                ( 'descendant' , 1 ) ) ,
                  To( 'descendant' , 1 ) ) ,
 
-       # child::<TEST>/descendant::<TEST>[<PRED>] -> descendant::<TEST>[<PRED>]
-       Rule( From( ( 'child' , 1 ) ,
-                               ( 'predicates' , ( 'descendant' , 1 ) , 2 ) ) ,
-                 To( 'predicates' , ( 'descendant' , 1 ) , 2 ) ) ,
+#   PROBABLY INCORRECT
+#      # child::<TEST>/descendant::<TEST>[<PRED>] -> descendant::<TEST>[<PRED>]
+#      Rule( From( ( 'child' , 1 ) ,
+#                              ( 'predicates' , ( 'descendant' , 1 ) , 2 ) ) ,
+#                To( 'predicates' , ( 'descendant' , 1 ) , 2 ) ) ,
 
        # descendant-or-self::node()/attribute::<NAME> -> ext:descendant-attribute(<NAME>)
        Rule( From( ( 'descendant-or-self' , ( 'node' , ) ) ,