Updated fn:contains.
authorFrederic Jolliton <frederic@jolliton.com>
Mon, 12 Sep 2005 03:05:25 +0000 (03:05 +0000)
committerFrederic Jolliton <frederic@jolliton.com>
Mon, 12 Sep 2005 03:05:25 +0000 (03:05 +0000)
git-archimport-id: frederic@jolliton.com--2005-main/tx--main--0.1--patch-23

xpathfn.py

index f0cb6b0..110ebc5 100644 (file)
@@ -588,17 +588,17 @@ def fnContains( context , arg1 , arg2 , collation = None ) :
        if collation is not None :
                raise XPathError( 'FOCH0004' , 'Collation not supported' )
        arg1 = zeroOrOneItem( arg1 )
-       if arg1 is None :
-               arg1 = ''
        arg2 = zeroOrOneItem( arg2 )
-       if arg2 is None :
-               arg2 = ''
-       if arg1 is arg2 and arg2 == '' :
-               return _True
-       elif arg1 == '' :
-               return _False
+       if arg1 is arg2 :
+               return True
        else :
-               return _Boolean[ asString( arg2 ) in asString( arg1 ) ]
+               arg2 = asString( arg2 )
+               if arg2 == '' :
+                       return True
+               arg1 = asString( arg1 )
+               if arg1 == '' :
+                       return False
+               return _Boolean[ arg2 in arg1 ]
 
 # XO/7.5.2
 @registerFast( 'fn:starts-with' )