Test output for sxpath [ok]

Testing time: 22s

'/usr/home/chicken/salmonella/build/salmonella-run-publish/chicken/bin/csi' -script run.scm < /dev/null 2>&1

-- testing all sxpath flavors and subsystems ---------------------------------

    -- testing sxpath-ext (sxpath-lolevel & sxpath) --------------------------
    (sxml:string "some string") ...................................... [ PASS]
    (sxml:string 0) .................................................. [ PASS]
    (sxml:string -76) ................................................ [ PASS]
    (sxml:string #t) ................................................. [ PASS]
    (sxml:string #f) ................................................. [ PASS]
    (sxml:string (list node1 node2)) ................................. [ PASS]
    (sxml:string '()) ................................................ [ PASS]
    (sxml:boolean #t) ................................................ [ PASS]
    (sxml:boolean -56) ............................................... [ PASS]
    (sxml:boolean 0) ................................................. [ PASS]
    (sxml:boolean "word") ............................................ [ PASS]
    (sxml:boolean "") ................................................ [ PASS]
    (sxml:boolean (list node1 node2)) ................................ [ PASS]
    (sxml:boolean '()) ............................................... [ PASS]
    (sxml:number 45) ................................................. [ PASS]
    (sxml:number "  -34  ") .......................................... [ PASS]
    (sxml:number "  -34.654  ") ...................................... [ PASS]
    (sxml:number #t) ................................................. [ PASS]
    (sxml:number #f) ................................................. [ PASS]
    (sxml:string-value "erer") ....................................... [ PASS]
    (sxml:string-value node1) ........................................ [ PASS]
    (sxml:string-value node2) ........................................ [ PASS]
    (sxml:string-value xt-doc) ....................................... [ PASS]
    (sxml:equal? #f 12) .............................................. [ PASS]
    (sxml:equal? #t 12) .............................................. [ PASS]
    (sxml:not-equal? #t 0) ........................................... [ PASS]
    (sxml:equal? #f "") .............................................. [ PASS]
    (sxml:equal? #f "something") ..................................... [ PASS]
    (sxml:not-equal? #t "something") ................................. [ PASS]
    (sxml:equal? "  12 " 12) ......................................... [ PASS]
    (sxml:not-equal? "  123 " 12) .................................... [ PASS]
    ((sxml:relational-cmp >) #t 0) ................................... [ PASS]
    ((sxml:relational-cmp <) #f 1) ................................... [ PASS]
    ((sxml:relational-cmp <=) " 12   " 1) ............................ [ PASS]
    ((sxml:relational-cmp >=) " 12   " " -2 ") ....................... [ PASS]
    ((sxml:relational-cmp <=) "foo" 1) ............................... [ PASS]
    ((sxml:relational-cmp <) "5 " "  -53") ........................... [ PASS]
    ((sxml:relational-cmp <) "5 " "eee") ............................. [ PASS]
    ((sxml:relational-cmp >) "  100" (list node1 node2)) ............. [ PASS]
    (sxml:equal? (list node1 node2) 7) ............................... [ PASS]
    ((sxml:relational-cmp >=) (list node1 node2) 2) .................. [ PASS]
    ((sxml:relational-cmp <=) (list node1 node2) 3) .................. [ PASS]
    (sxml:equal? (list node1 node2) #t) .............................. [ PASS]
    (sxml:equal? '() #t) ............................................. [ PASS]
    (sxml:equal? '() #f) ............................................. [ PASS]
    (sxml:equal? (list node1 node2) (list node2 node3)) .............. [ PASS]
    ((sxml:relational-cmp >=) (list node1 node2) (list node2 node3)) . [ PASS]
    ((sxml:relational-cmp <=) (list node1 node2) (list node2 node3)) . [ PASS]
    (sxml:not-equal? (list node1 node2) (list node2 node3)) .......... [ PASS]
    (sxml:equal? (list node1 node2) (list node3)) .................... [ PASS]
    (sxml:equal? (list xt-doc) (list node3)) ......................... [ PASS]
    (sxml:node? node1) ............................................... [ PASS]
    (sxml:node? '(@ (id "chap3"))) ................................... [ PASS]
    (sxml:node? node2) ............................................... [ PASS]
    (sxml:node? "XML Pointing Language (XPointer)") .................. [ PASS]
    (((sxml:ancestor (ntype?? '*)) xt-doc) node1) .................... [ PASS]
    (((sxml:ancestor (ntype?? '*)) xt-doc) node2) .................... [ PASS]
    (((sxml:ancestor (ntype?? '*)) xt-doc) node3) .................... [ PASS]
    (((sxml:ancestor (ntype?? '*)) xt-doc) (list node2 node2 node3)) . [ PASS]
    (((sxml:ancestor-or-self (ntype?? '*)) xt-doc) node1) ............ [ PASS]
    (((sxml:ancestor-or-self (ntype?? '*)) xt-doc) node2) ............ [ PASS]
    (((sxml:ancestor-or-self (ntype?? '*)) xt-doc) node3) ............ [ PASS]
    (((sxml:ancestor-or-self (ntype?? '*)) xt-doc) (list node2 node...  [ PASS]
    ((sxml:attribute (ntype?? '*)) node1) ............................ [ PASS]
    ((sxml:attribute (ntype?? 'id)) node1) ........................... [ PASS]
    ((sxml:attribute (ntype?? '*)) node2) ............................ [ PASS]
    ((sxml:attribute (ntype?? 'absent)) '(empty-node)) ............... [ PASS]
    ((sxml:attribute (ntype?? '*)) '(loc (@ (http://www.w3.org/1999...  [ PASS]
    ((sxml:attribute (ntype?? '*)) '((loc (@ (http://www.w3.org/199...  [ PASS]
    ((sxml:descendant (ntype?? '*)) node1) ........................... [ PASS]
    ((sxml:descendant sxml:node?) node1) ............................. [ PASS]
    ((sxml:descendant (ntype?? '*)) xt-doc) .......................... [ PASS]
    ((sxml:descendant sxml:node?) (list node1 node2)) ................ [ PASS]
    ((sxml:descendant (ntype?? '*)) '((chapter (@ (id "chap1")) (ti...  [ PASS]
    ((sxml:descendant-or-self (ntype?? '*)) node1) ................... [ PASS]
    ((sxml:descendant-or-self sxml:node?) node1) ..................... [ PASS]
    ((sxml:descendant-or-self (ntype?? '*)) xt-doc) .................. [ PASS]
    ((sxml:descendant-or-self sxml:node?) (list node1 node2)) ........ [ PASS]
    ((sxml:descendant-or-self (ntype?? '*)) '((chapter (@ (id "chap...  [ PASS]
    (((sxml:following (ntype?? '*)) xt-doc) node1) ................... [ PASS]
    (((sxml:following sxml:node?) xt-doc) node1) ..................... [ PASS]
    (((sxml:following (ntype?? '*)) xt-doc) node2) ................... [ PASS]
    (((sxml:following sxml:node?) xt-doc) node2) ..................... [ PASS]
    (((sxml:following (ntype?? '*)) xt-doc) node3) ................... [ PASS]
    (((sxml:following sxml:node?) xt-doc) (list node1 node2)) ........ [ PASS]
    (((sxml:following-sibling (ntype?? '*)) xt-doc) node1) ........... [ PASS]
    (((sxml:following-sibling (ntype?? '*)) xt-doc) node2) ........... [ PASS]
    (((sxml:following-sibling (ntype?? '*)) xt-doc) node3) ........... [ PASS]
    (((sxml:following-sibling (ntype?? '*)) xt-doc) (list node1 nod...  [ PASS]
    ((sxml:namespace (ntype?? '*)) node1) ............................ [ PASS]
    ((sxml:namespace (ntype?? '*)) '(pref:tag (@) (@@ (*NAMESPACES*...  [ PASS]
    ((sxml:namespace (ntype?? 'pref)) '(pref:tag (@) (@@ (*NAMESPAC...  [ PASS]
    (((sxml:parent (ntype?? '*)) xt-doc) node1) ...................... [ PASS]
    (((sxml:parent (ntype?? '*)) xt-doc) node2) ...................... [ PASS]
    (((sxml:parent (ntype?? '*)) xt-doc) node3) ...................... [ PASS]
    (((sxml:parent (ntype?? '*)) xt-doc) (list node1 node2 node3)) ... [ PASS]
    (((sxml:preceding (ntype?? '*)) xt-doc) node1) ................... [ PASS]
    (((sxml:preceding sxml:node?) xt-doc) node1) ..................... [ PASS]
    (((sxml:preceding (ntype?? '*)) xt-doc) node2) ................... [ PASS]
    (((sxml:preceding sxml:node?) xt-doc) node2) ..................... [ PASS]
    (((sxml:preceding (ntype?? '*)) xt-doc) node3) ................... [ PASS]
    (((sxml:preceding sxml:node?) xt-doc) (list node1 node2)) ........ [ PASS]
    (((sxml:preceding-sibling (ntype?? '*)) xt-doc) node1) ........... [ PASS]
    (((sxml:preceding-sibling (ntype?? '*)) xt-doc) node2) ........... [ PASS]
    (((sxml:preceding-sibling (ntype?? '*)) xt-doc) node3) ........... [ PASS]
    (((sxml:preceding-sibling (ntype?? '*)) xt-doc) (list node1 nod...  [ PASS]
    106 tests completed in 17/1000 seconds.
    106 out of 106 (100%) tests passed.
    -- done testing sxpath-ext (sxpath-lolevel & sxpath) ---------------------


    -- testing sxpath-lib (sxpath-lolevel & sxpath) --------------------------
    ((select-kids (ntype?? 'para)) tree) ............................. [ PASS]
    ((test-sxpath '(para)) tree) ..................................... [ PASS]
    ((select-kids (ntype?? '*)) tree) ................................ [ PASS]
    ((test-sxpath '(*)) tree) ........................................ [ PASS]
    ((select-kids (ntype?? '*text*)) tree) ........................... [ PASS]
    ((test-sxpath '(*text*)) tree) ................................... [ PASS]
    ((select-kids (ntype?? '*any*)) tree) ............................ [ PASS]
    ((test-sxpath '(*any*)) tree) .................................... [ PASS]
    ((node-join (select-kids (ntype?? '*)) (select-kids (ntype?? 'p...  [ PASS]
    ((test-sxpath '(* para)) tree) ................................... [ PASS]
    ((node-join (select-kids (ntype?? '@)) (select-kids (ntype?? 'n...  [ PASS]
    ((test-sxpath '(@ name)) tree) ................................... [ PASS]
    ((node-join (select-kids (ntype?? '@)) (select-kids (ntype?? '*...  [ PASS]
    ((test-sxpath '(@ *)) tree) ...................................... [ PASS]
    ((node-closure (ntype?? 'para)) tree) ............................ [ PASS]
    ((test-sxpath '(// para)) tree) .................................. [ PASS]
    ((node-self (ntype?? 'para)) tree) ............................... [ PASS]
    ((node-self (ntype?? 'elem)) tree) ............................... [ PASS]
    ((sxml:descendant-or-self sxml:node?) tree) ...................... [ PASS]
    ((test-sxpath '(//)) tree) ....................................... [ PASS]
    ((node-or (node-self pred) (node-closure pred)) root) ............ [ PASS]
    ((node-join (select-kids (ntype?? 'div)) (node-closure (ntype??...  [ PASS]
    ((test-sxpath '(div // para)) tree) .............................. [ PASS]
    ((node-join (node-closure (ntype?? 'td)) (select-kids (ntype?? ...  [ PASS]
    ((test-sxpath '(// td @ align)) tree) ............................ [ PASS]
    ((node-reduce (node-closure (ntype?? 'td)) (sxml:filter (node-j...  [ PASS]
    ((test-sxpath `(// td ,(lambda (node . var-binding) ((node-self...  [ PASS]
    ((test-sxpath '(// (td (@ align)))) tree) ........................ [ PASS]
    ((test-sxpath '(// ((td) (@ align)))) tree) ...................... [ PASS]
    ((node-reduce (node-closure (ntype?? 'td)) (sxml:filter (test-s...  [ PASS]
    ((node-reduce (node-closure (ntype?? 'td)) (sxml:filter (node-j...  [ PASS]
    ((test-sxpath '(// (td (@ (equal? (align "right")))))) tree) ..... [ PASS]
    ((node-reduce (select-kids (ntype?? 'para)) (node-pos 1)) tree) .. [ PASS]
    ((test-sxpath '((para 1))) tree) ................................. [ PASS]
    ((node-pos -6) '((div "hi") (span "hello") (em "is this thing o...  [ PASS]
    ((node-reduce (select-kids (ntype?? 'para)) (node-pos -1)) tree) . [ PASS]
    ((test-sxpath '((para -1))) tree) ................................ [ PASS]
    ((node-reduce (node-closure (ntype?? 'para)) (node-pos 1)) tree) . [ PASS]
    ((test-sxpath '(// (para 1))) tree) .............................. [ PASS]
    ((node-parent tree) para1) ....................................... [ PASS]
    ((node-parent tree) para3) ....................................... [ PASS]
    ((node-parent tree) ((test-sxpath '(@ name)) div)) ............... [ PASS]
    ((node-join (node-parent tree) (select-kids (ntype?? '@)) (sele...  [ PASS]
    ((test-sxpath `(,(lambda (node . var-binding) ((node-parent tre...  [ PASS]
    ((node-reduce (node-join (node-parent tree) (select-kids (ntype...  [ PASS]
    ((node-reduce (node-join (node-parent tree) (select-kids (ntype...  [ PASS]
    ((node-join (select-kids (ntype?? 'table)) (node-reduce (select...  [ PASS]
    ((node-reduce (select-kids (ntype?? 'para)) (sxml:filter (node-...  [ PASS]
    ((test-sxpath '((((para (@ (equal? (type "warning"))))) 5))) tree)  [ PASS]
    ((node-reduce (select-kids (ntype?? 'para)) (node-pos 5) (sxml:...  [ PASS]
    ((test-sxpath '((((para 5)) (@ (equal? (type "warning")))))) tree)  [ PASS]
    ((test-sxpath '((para 5 (@ (equal? (type "warning")))))) tree) ... [ PASS]
    ((node-join (select-kids (ntype?? '*)) (sxml:filter (node-or (n...  [ PASS]
    ((test-sxpath `(* ,(lambda (node . var-binding) ((node-or (node...  [ PASS]
    ((node-join (node-closure (ntype?? 'stanza)) (node-reduce (sele...  [ PASS]
    ((test-sxpath '(// stanza (line 1) *text*)) tree) ................ [ PASS]
    56 tests completed in 3/500 seconds.
    56 out of 56 (100%) tests passed.
    -- done testing sxpath-lib (sxpath-lolevel & sxpath) ---------------------


    -- testing txpath --------------------------------------------------------
    ((sxml:xpath ".") '("Text node")) ................................ [ PASS]
    (sxml:test-xpath+index "child::*/child::*[2]") ................... [ PASS]
    (sxml:test-xpath+index "*/*[2]") ................................. [ PASS]
    (sxml:test-xpath+index "/*/*[2]") ................................ [ PASS]
    (sxml:test-xpath+index "descendant-or-self::node()[attribute::i...  [ PASS]
    (sxml:test-xpath+index "//*[attribute::* ='toc1']") .............. [ PASS]
    (sxml:test-xpath+index "/descendant::node()[attribute::id][1]") .. [ PASS]
    (sxml:test-xpath+index "//*[ self::node() = id('toc1') ]") ....... [ PASS]
    (sxml:test-xpath+index "descendant::processing-instruction()") ... [ PASS]
    (sxml:test-xpath+index "descendant::processing-instruction( 'xm...  [ PASS]
    (sxml:test-xpath+index "descendant::processing-instruction( 'sm...  [ PASS]
    (sxml:test-xpath+index "//*[ self::processing-instruction('smth...  [ PASS]
    (sxml:test-xpath+index "descendant-or-self::text()") ............. [ PASS]
    (sxml:test-xpath+index "descendant-or-self::text()[ self::node(...  [ PASS]
    (sxml:test-xpath+index "*/*/text()") ............................. [ PASS]
    (sxml:test-xpath+index "//attribute::xlink:type" vtxp:ns-binding)  [ PASS]
    (sxml:test-xpath+index "//attribute::xlink:*[ self::* = 'hoge' ...  [ PASS]
    (sxml:test-xpath+index "//attribute::xlink:*" (list (cons 'xlin...  [ PASS]
    (sxml:test-xpath+index "*[1]/*[9]/*[3]/@*") ...................... [ PASS]
    (sxml:test-xpath+index "*[1]/*[4]/@id") .......................... [ PASS]
    (sxml:test-xpath+index "*[1]/*[9]/*[3]/.") ....................... [ PASS]
    (sxml:test-xpath+index "*[1]/*[4]/@id/.") ........................ [ PASS]
    (sxml:test-xpath+index "*[1]/*[9]/*[3]/..") ...................... [ PASS]
    (sxml:test-xpath+index "*[1]/*[4]/@id/..") ....................... [ PASS]
    (sxml:test-xpath+index "*[1]/*[9]/*[3]/following-sibling::*") .... [ PASS]
    (sxml:test-xpath+index "*[1]/*[4]/@id/following-sibling::*") ..... [ PASS]
    (sxml:test-xpath+index "*[1]/*[9]/*[3]/preceding-sibling::*") .... [ PASS]
    (sxml:test-xpath+index "*[1]/*[4]/@id/preceding-sibling::*") ..... [ PASS]
    (sxml:test-xpath+index "*[1]/*[9]/*[3]/following::*") ............ [ PASS]
    (sxml:test-xpath+index "*[1]/*[4]/@id/following::node()") ........ [ PASS]
    (sxml:test-xpath+index "*[1]/*[9]/*[3]/preceding::*") ............ [ PASS]
    (sxml:test-xpath+index "*[1]/*[4]/@id/preceding::*") ............. [ PASS]
    (sxml:test-xpath+index "*[1]/*[9]/*[3]/parent::*") ............... [ PASS]
    (sxml:test-xpath+index "*[1]/*[4]/@id/parent::*") ................ [ PASS]
    (sxml:test-xpath+index "*[1]/*[9]/*[3]/ancestor::*") ............. [ PASS]
    (sxml:test-xpath+index "*[1]/*[4]/@id/ancestor::*") .............. [ PASS]
    (sxml:test-xpath+index "*[1]/*[9]/*[3]/ancestor-or-self::*") ..... [ PASS]
    (sxml:test-xpath+index "*[1]/*[4]/@id/ancestor-or-self::*") ...... [ PASS]
    (sxml:test-xpath+index "*/*[position()=2]") ...................... [ PASS]
    (sxml:test-xpath+index "*/*[position()=last()-4]") ............... [ PASS]
    (sxml:test-xpath+index "*/*[position()>=4 and position()<last()...  [ PASS]
    (sxml:test-xpath+index "*/*[9]/*[position()=last()-position()]") . [ PASS]
    (sxml:test-xpath+index "*/*[9]/*[position()=4]") ................. [ PASS]
    (sxml:test-xpath+index "doc/body/chapter[position()>=3 and posi...  [ PASS]
    (sxml:test-xpath+index "//item[2]") .............................. [ PASS]
    (sxml:test-xpath+index "*[1]/*[1]/*[attribute::xlink:*][attribu...  [ PASS]
    (sxml:test-xpath+index "descendant-or-self::node()[self::chapte...  [ PASS]
    (sxml:test-xpointer+index "xpointer( -2 + 4* (6-1) + 6 div 3 )") . [ PASS]
    (sxml:test-xpointer+index "xpointer( 7>4 and not( false() ) and...  [ PASS]
    (sxml:test-xpointer+index "xpointer( true() > false() )") ........ [ PASS]
    (sxml:test-xpointer+index "xpointer( '  15 ' = 15 = true() )") ... [ PASS]
    (sxml:test-xpointer+root+vars "xpointer(   $x and true() )" (li...  [ PASS]
    (sxml:test-xpointer+root+vars "xpointer(   $y - 4)" (list (cons...  [ PASS]
    (sxml:test-xpointer+root+vars "xpointer(   $z )" (list (cons 'z...  [ PASS]
    (sxml:test-xpointer+root+vars "xpointer(   $var[2] | id('toc2')...  [ PASS]
    (sxml:test-xpointer+index "xpointer( number(' -34 ') )") ......... [ PASS]
    (sxml:test-xpointer+index "xpointer( number(' -34.67 ') )") ...... [ PASS]
    (sxml:test-xpointer+index "xpointer( number( true() ) )") ........ [ PASS]
    (sxml:test-xpointer+index "xpointer( number(false()) )") ......... [ PASS]
    (sxml:test-xpointer+index "xpointer( boolean( -56 ) )") .......... [ PASS]
    (sxml:test-xpointer+index "xpointer( boolean( 0 ) )") ............ [ PASS]
    (sxml:test-xpointer+index "xpointer( boolean( 'ere' ) )") ........ [ PASS]
    (sxml:test-xpointer+index "xpointer( boolean( '' ) )") ........... [ PASS]
    (sxml:test-xpointer+index "xpointer( string( 0 ) )") ............. [ PASS]
    (sxml:test-xpointer+index "xpointer( string( -76 ) )") ........... [ PASS]
    (sxml:test-xpointer+index "xpointer( string( true() ) )") ........ [ PASS]
    (sxml:test-xpointer+index "xpointer( string( false() ) )") ....... [ PASS]
    (sxml:test-xpointer+index "xpointer( count( //item ) )") ......... [ PASS]
    (sxml:test-xpointer+index "xpointer( count( id('no_such_element...  [ PASS]
    (sxml:test-xpointer+index "xpointer( floor(.4) )") ............... [ PASS]
    (sxml:test-xpointer+index "xpointer( floor(-2.5) )") ............. [ PASS]
    (sxml:test-xpointer+index "xpointer( ceiling(.4) )") ............. [ PASS]
    (sxml:test-xpointer+index "xpointer( ceiling(-2.5) )") ........... [ PASS]
    (sxml:test-xpointer+index "xpointer( round(.4) )") ............... [ PASS]
    (sxml:test-xpointer+index "xpointer( round(4.51) )") ............. [ PASS]
    (sxml:test-xpointer+index "xpointer( round(-2.51) )") ............ [ PASS]
    (sxml:test-xpointer+index "xpointer( false() = 12 )") ............ [ PASS]
    (sxml:test-xpointer+index "xpointer( true() = 12 )") ............. [ PASS]
    (sxml:test-xpointer+index "xpointer( true() != 0 )") ............. [ PASS]
    (sxml:test-xpointer+index "xpointer( false() = '' )") ............ [ PASS]
    (sxml:test-xpointer+index "xpointer( false() = 'smth' )") ........ [ PASS]
    (sxml:test-xpointer+index "xpointer( true() != 'smth' )") ........ [ PASS]
    (sxml:test-xpointer+index "xpointer( '12  ' = 12 )") ............. [ PASS]
    (sxml:test-xpointer+index "xpointer( '123  ' != 12 )") ........... [ PASS]
    (sxml:test-xpointer+index "xpointer( true() > 0 )") .............. [ PASS]
    (sxml:test-xpointer+index "xpointer( false() < 1 )") ............. [ PASS]
    (sxml:test-xpointer+index "xpointer( '  12' <= 1 )") ............. [ PASS]
    (sxml:test-xpointer+index "xpointer( '  12' >= '  -2 ' )") ....... [ PASS]
    (sxml:test-xpointer+index "xpointer( 'ee' <= 1 )") ............... [ PASS]
    (sxml:test-xpointer+index "xpointer( 'aaa' < 'bbb' )") ........... [ PASS]
    (sxml:test-xpointer+index "xpointer( *[1]/*[7] | *[1]/*[9]/*[2]...  [ PASS]
    (sxml:test-xpointer+index "xpointer( id('toc2') | id('chap4') |...  [ PASS]
    (sxml:test-xpointer+index "xpointer( */*[9]/*[5]/following::nod...  [ PASS]
    (sxml:test-xpointer+index "xpointer( */*[9]/*[5]/following::nod...  [ PASS]
    (sxml:test-xpointer+index "xpointer( */*[9]/*[5]/following::nod...  [ PASS]
    (sxml:test-xpointer+index "xpointer( (/descendant::text()[23] |...  [ PASS]
    (sxml:test-xpointer+index "xpointer( //xlink:label[self::* = 'h...  [ PASS]
    (sxml:test-xpointer+index "here") ................................ [ PASS]
    (sxml:test-xpointer+index "here/1/1") ............................ [ PASS]
    (sxml:test-xpointer+index "toc1/2") .............................. [ PASS]
    (sxml:test-xpointer+index "/1/1/3") .............................. [ PASS]
    (sxml:test-xpointer+index "/1/9/8/1/2") .......................... [ PASS]
    (sxml:test-xpointer+index "xmlns( xl = http://www.w3.org/1999/x...  [ PASS]
    (sxml:test-xpointer+index "xmlns( xl = http://www.w3.org/1999/x...  [ PASS]
    (sxml:test-xpointer+index "xmlns( smth = http://smth ) \r\n    ...  [ PASS]
    (sxml:test-xpointer+index "xpointer( doc/multidirectional/loc[3...  [ PASS]
    (sxml:test-xpointer+index "xpointer( doc/multidirectional/loc[3...  [ PASS]
    (sxml:test-xpointer+index "xmlns( xlink=http://first_try)\r\n  ...  [ PASS]
    (sxml:test-xpointer+index "xpointer( id( id('toc4')/text() ) )\...  [ PASS]
    ((sxml:xpath "/") vtxp:doc) ...................................... [ PASS]
    ((sxml:xpath+root+vars "/") vtxp:doc '()) ........................ [ PASS]
    111 tests completed in 21/250 seconds.
    111 out of 111 (100%) tests passed.
    -- done testing txpath ---------------------------------------------------


    -- testing vcontext (context-sxpath-lolevel) -----------------------------
    ((draft:xpath ".") '("Text node")) ............................... [ PASS]
    (draft:test-xpath "child::*/child::*[2]") ........................ [ PASS]
    (draft:test-xpath "*/*[2]") ...................................... [ PASS]
    (draft:test-xpath "/*/*[2]") ..................................... [ PASS]
    (draft:test-xpath "descendant-or-self::node()[attribute::id ='t...  [ PASS]
    (draft:test-xpath "//*[attribute::* ='toc1']") ................... [ PASS]
    (draft:test-xpath "/descendant::node()[attribute::id][1]") ....... [ PASS]
    (draft:test-xpath "//*[ self::node() = id('toc1') ]") ............ [ PASS]
    (draft:test-xpath "descendant::processing-instruction()") ........ [ PASS]
    (draft:test-xpath "descendant::processing-instruction( 'xml' )") . [ PASS]
    (draft:test-xpath "descendant::processing-instruction( 'smth el...  [ PASS]
    (draft:test-xpath "//*[ self::processing-instruction('smth else...  [ PASS]
    (draft:test-xpath "descendant-or-self::text()") .................. [ PASS]
    (draft:test-xpath "descendant-or-self::text()[ self::node() = '...  [ PASS]
    (draft:test-xpath "*/*/text()") .................................. [ PASS]
    (draft:test-xpath "//attribute::xlink:type" vcntxt:ns-binding) ... [ PASS]
    (draft:test-xpath "//attribute::xlink:*[ self::* = 'hoge' ]" vc...  [ PASS]
    (draft:test-xpath "//attribute::xlink:*" (list (cons 'xlink "ht...  [ PASS]
    (draft:test-xpath "*[1]/*[9]/*[3]/@*") ........................... [ PASS]
    (draft:test-xpath "*[1]/*[4]/@id") ............................... [ PASS]
    (draft:test-xpath "*[1]/*[9]/*[3]/.") ............................ [ PASS]
    (draft:test-xpath "*[1]/*[4]/@id/.") ............................. [ PASS]
    (draft:test-xpath "*[1]/*[9]/*[3]/..") ........................... [ PASS]
    (draft:test-xpath "*[1]/*[4]/@id/..") ............................ [ PASS]
    (draft:test-xpath "*[1]/*[9]/*[3]/following-sibling::*") ......... [ PASS]
    (draft:test-xpath "*[1]/*[4]/@id/following-sibling::*") .......... [ PASS]
    (draft:test-xpath "*[1]/*[9]/*[3]/preceding-sibling::*") ......... [ PASS]
    (draft:test-xpath "*[1]/*[4]/@id/preceding-sibling::*") .......... [ PASS]
    (draft:test-xpath "*[1]/*[9]/*[3]/following::*") ................. [ PASS]
    (draft:test-xpath "*[1]/*[4]/@id/following::node()") ............. [ PASS]
    (draft:test-xpath "*[1]/*[9]/*[3]/preceding::*") ................. [ PASS]
    (draft:test-xpath "*[1]/*[4]/@id/preceding::*") .................. [ PASS]
    (draft:test-xpath "*[1]/*[9]/*[3]/parent::*") .................... [ PASS]
    (draft:test-xpath "*[1]/*[4]/@id/parent::*") ..................... [ PASS]
    (draft:test-xpath "*[1]/*[9]/*[3]/ancestor::*") .................. [ PASS]
    (draft:test-xpath "*[1]/*[4]/@id/ancestor::*") ................... [ PASS]
    (draft:test-xpath "*[1]/*[9]/*[3]/ancestor-or-self::*") .......... [ PASS]
    (draft:test-xpath "*[1]/*[4]/@id/ancestor-or-self::*") ........... [ PASS]
    (draft:test-xpath "*/*[position()=2]") ........................... [ PASS]
    (draft:test-xpath "*/*[position()=last()-4]") .................... [ PASS]
    (draft:test-xpath "*/*[position()>=4 and position()<last()-1]") .. [ PASS]
    (draft:test-xpath "*/*[9]/*[position()=last()-position()]") ...... [ PASS]
    (draft:test-xpath "*/*[9]/*[position()=4]") ...................... [ PASS]
    (draft:test-xpath "doc/body/chapter[position()>=3 and position(...  [ PASS]
    (draft:test-xpath "//item[2]") ................................... [ PASS]
    (draft:test-xpath "*[1]/*[1]/*[attribute::xlink:*][attribute::*...  [ PASS]
    (draft:test-xpath "descendant-or-self::node()[self::chapter]\r\...  [ PASS]
    (draft:test-xpointer "xpointer( -2 + 4* (6-1) + 6 div 3 )") ...... [ PASS]
    (draft:test-xpointer "xpointer( 7>4 and not( false() ) and ('er...  [ PASS]
    (draft:test-xpointer "xpointer( true() > false() )") ............. [ PASS]
    (draft:test-xpointer "xpointer( '  15 ' = 15 = true() )") ........ [ PASS]
    (draft:test-xpointer+vars "xpointer(   $x and true() )" (list (...  [ PASS]
    (draft:test-xpointer+vars "xpointer(   $y - 4)" (list (cons 'y ...  [ PASS]
    (draft:test-xpointer+vars "xpointer(   $z )" (list (cons 'z "va...  [ PASS]
    (draft:test-xpointer+vars "xpointer(   $var[2] | id('toc2') )" ...  [ PASS]
    (draft:test-xpointer "xpointer( number(' -34 ') )") .............. [ PASS]
    (draft:test-xpointer "xpointer( number(' -34.67 ') )") ........... [ PASS]
    (draft:test-xpointer "xpointer( number( true() ) )") ............. [ PASS]
    (draft:test-xpointer "xpointer( number(false()) )") .............. [ PASS]
    (draft:test-xpointer "xpointer( boolean( -56 ) )") ............... [ PASS]
    (draft:test-xpointer "xpointer( boolean( 0 ) )") ................. [ PASS]
    (draft:test-xpointer "xpointer( boolean( 'ere' ) )") ............. [ PASS]
    (draft:test-xpointer "xpointer( boolean( '' ) )") ................ [ PASS]
    (draft:test-xpointer "xpointer( string( 0 ) )") .................. [ PASS]
    (draft:test-xpointer "xpointer( string( -76 ) )") ................ [ PASS]
    (draft:test-xpointer "xpointer( string( true() ) )") ............. [ PASS]
    (draft:test-xpointer "xpointer( string( false() ) )") ............ [ PASS]
    (draft:test-xpointer "xpointer( count( //item ) )") .............. [ PASS]
    (draft:test-xpointer "xpointer( count( id('no_such_element') ) )")  [ PASS]
    (draft:test-xpointer "xpointer( floor(.4) )") .................... [ PASS]
    (draft:test-xpointer "xpointer( floor(-2.5) )") .................. [ PASS]
    (draft:test-xpointer "xpointer( ceiling(.4) )") .................. [ PASS]
    (draft:test-xpointer "xpointer( ceiling(-2.5) )") ................ [ PASS]
    (draft:test-xpointer "xpointer( round(.4) )") .................... [ PASS]
    (draft:test-xpointer "xpointer( round(4.51) )") .................. [ PASS]
    (draft:test-xpointer "xpointer( round(-2.51) )") ................. [ PASS]
    (draft:test-xpointer "xpointer( false() = 12 )") ................. [ PASS]
    (draft:test-xpointer "xpointer( true() = 12 )") .................. [ PASS]
    (draft:test-xpointer "xpointer( true() != 0 )") .................. [ PASS]
    (draft:test-xpointer "xpointer( false() = '' )") ................. [ PASS]
    (draft:test-xpointer "xpointer( false() = 'smth' )") ............. [ PASS]
    (draft:test-xpointer "xpointer( true() != 'smth' )") ............. [ PASS]
    (draft:test-xpointer "xpointer( '12  ' = 12 )") .................. [ PASS]
    (draft:test-xpointer "xpointer( '123  ' != 12 )") ................ [ PASS]
    (draft:test-xpointer "xpointer( true() > 0 )") ................... [ PASS]
    (draft:test-xpointer "xpointer( false() < 1 )") .................. [ PASS]
    (draft:test-xpointer "xpointer( '  12' <= 1 )") .................. [ PASS]
    (draft:test-xpointer "xpointer( '  12' >= '  -2 ' )") ............ [ PASS]
    (draft:test-xpointer "xpointer( 'ee' <= 1 )") .................... [ PASS]
    (draft:test-xpointer "xpointer( 'aaa' < 'bbb' )") ................ [ PASS]
    (draft:test-xpointer "xpointer( *[1]/*[7] | *[1]/*[9]/*[2] )") ... [ PASS]
    (draft:test-xpointer "xpointer( id('toc2') | id('chap4') | id('...  [ PASS]
    (draft:test-xpointer "xpointer( */*[9]/*[5]/following::node() =...  [ PASS]
    (draft:test-xpointer "xpointer( */*[9]/*[5]/following::node() =...  [ PASS]
    (draft:test-xpointer "xpointer( */*[9]/*[5]/following::node() =...  [ PASS]
    (draft:test-xpointer "xpointer( (/descendant::text()[23] | /des...  [ PASS]
    (draft:test-xpointer "xpointer( //xlink:label[self::* = 'hoge']...  [ PASS]
    (draft:test-xpointer "here") ..................................... [ PASS]
    (draft:test-xpointer "here/1/1") ................................. [ PASS]
    (draft:test-xpointer "toc1/2") ................................... [ PASS]
    (draft:test-xpointer "/1/1/3") ................................... [ PASS]
    (draft:test-xpointer "/1/9/8/1/2") ............................... [ PASS]
    (draft:test-xpointer "xmlns( xl = http://www.w3.org/1999/xlink)...  [ PASS]
    (draft:test-xpointer "xmlns( xl = http://www.w3.org/1999/xlink)...  [ PASS]
    (draft:test-xpointer "xmlns( smth = http://smth ) \r\n     xpoi...  [ PASS]
    (draft:test-xpointer "xpointer( doc/multidirectional/loc[3] )\r...  [ PASS]
    (draft:test-xpointer "xpointer( doc/multidirectional/loc[3] )\r...  [ PASS]
    (draft:test-xpointer "xmlns( xlink=http://first_try)\r\n     xp...  [ PASS]
    (draft:test-xpointer "xpointer( id( id('toc4')/text() ) )\r\n  ...  [ PASS]
    ((draft:xpath "/") vcntxt:doc) ................................... [ PASS]
    ((draft:xpointer "xpointer(/)") vcntxt:doc '()) .................. [ PASS]
    ((select-kids (ntype?? 'para)) tree) ............................. [ PASS]
    ((test-draft-sxpath '(para)) tree) ............................... [ PASS]
    ((select-kids (ntype?? '*)) tree) ................................ [ PASS]
    ((test-draft-sxpath '(*)) tree) .................................. [ PASS]
    ((select-kids (ntype?? '*text*)) tree) ........................... [ PASS]
    ((test-draft-sxpath '(*text*)) tree) ............................. [ PASS]
    ((select-kids (ntype?? '*any*)) tree) ............................ [ PASS]
    ((test-draft-sxpath '(*any*)) tree) .............................. [ PASS]
    ((node-join (select-kids (ntype?? '*)) (select-kids (ntype?? 'p...  [ PASS]
    ((test-draft-sxpath '(* para)) tree) ............................. [ PASS]
    ((node-join (select-kids (ntype?? '@)) (select-kids (ntype?? 'n...  [ PASS]
    ((test-draft-sxpath '(@ name)) tree) ............................. [ PASS]
    ((node-join (select-kids (ntype?? '@)) (select-kids (ntype?? '*...  [ PASS]
    ((test-draft-sxpath '(@ *)) tree) ................................ [ PASS]
    ((node-closure (ntype?? 'para)) tree) ............................ [ PASS]
    ((test-draft-sxpath '(// para)) tree) ............................ [ PASS]
    ((node-self (ntype?? 'para)) tree) ............................... [ PASS]
    ((node-self (ntype?? 'elem)) tree) ............................... [ PASS]
    ((node-or (node-self (ntype?? '*any*)) (node-closure (ntype?? '...  [ PASS]
    ((node-or (node-self pred) (node-closure pred)) root) ............ [ PASS]
    ((node-join (select-kids (ntype?? 'div)) (node-closure (ntype??...  [ PASS]
    ((test-draft-sxpath '(div // para)) tree) ........................ [ PASS]
    ((node-join (node-closure (ntype?? 'td)) (select-kids (ntype?? ...  [ PASS]
    ((test-draft-sxpath '(// td @ align)) tree) ...................... [ PASS]
    ((node-reduce (node-closure (ntype?? 'td)) (sxml:filter (node-j...  [ PASS]
    ((test-draft-sxpath `(// td ,(lambda (node . var-binding) ((nod...  [ PASS]
    ((test-draft-sxpath '(// (td (@ align)))) tree) .................. [ PASS]
    ((test-draft-sxpath '(// ((td) (@ align)))) tree) ................ [ PASS]
    ((node-reduce (node-closure (ntype?? 'td)) (sxml:filter (test-d...  [ PASS]
    ((node-reduce (node-closure (ntype?? 'td)) (sxml:filter (node-j...  [ PASS]
    ((test-draft-sxpath '(// (td (@ (equal? (align "right")))))) tree)  [ PASS]
    ((node-reduce (select-kids (ntype?? 'para)) (node-pos 1)) tree) .. [ PASS]
    ((test-draft-sxpath '((para 1))) tree) ........................... [ PASS]
    ((node-reduce (select-kids (ntype?? 'para)) (node-pos -1)) tree) . [ PASS]
    ((test-draft-sxpath '((para -1))) tree) .......................... [ PASS]
    ((node-reduce (node-closure (ntype?? 'para)) (node-pos 1)) tree) . [ PASS]
    ((test-draft-sxpath '(// (para 1))) tree) ........................ [ PASS]
    ((node-parent tree) para1) ....................................... [ PASS]
    ((node-parent tree) para3) ....................................... [ PASS]
    ((node-parent tree) ((test-draft-sxpath '(@ name)) div)) ......... [ PASS]
    ((node-join (node-parent tree) (select-kids (ntype?? '@)) (sele...  [ PASS]
    ((test-draft-sxpath `(,(lambda (node . var-binding) ((node-pare...  [ PASS]
    ((node-reduce (node-join (node-parent tree) (select-kids (ntype...  [ PASS]
    ((node-reduce (node-join (node-parent tree) (select-kids (ntype...  [ PASS]
    ((node-join (select-kids (ntype?? 'table)) (node-reduce (select...  [ PASS]
    ((node-reduce (select-kids (ntype?? 'para)) (sxml:filter (node-...  [ PASS]
    ((test-draft-sxpath '((((para (@ (equal? (type "warning"))))) 5...  [ PASS]
    ((node-reduce (select-kids (ntype?? 'para)) (node-pos 5) (sxml:...  [ PASS]
    ((test-draft-sxpath '((((para 5)) (@ (equal? (type "warning")))...  [ PASS]
    ((test-draft-sxpath '((para 5 (@ (equal? (type "warning")))))) ...  [ PASS]
    ((node-join (select-kids (ntype?? '*)) (sxml:filter (node-or (n...  [ PASS]
    ((test-draft-sxpath `(* ,(lambda (node . var-binding) ((node-or...  [ PASS]
    ((node-join (node-closure (ntype?? 'stanza)) (node-reduce (sele...  [ PASS]
    ((test-draft-sxpath '(// stanza (line 1) *text*)) tree) .......... [ PASS]
    165 tests completed in 33/1000 seconds.
    165 out of 165 (100%) tests passed.
    -- done testing vcontext (context-sxpath-lolevel) ------------------------


    -- testing vddo (ddo-sxpath-lolevel) -------------------------------------
    ((lambda (x) x) vddo:doc) ........................................ [ PASS]
    ((ddo:txpath ".") '("Text node")) ................................ [ PASS]
    ((ddo:txpath "child::*/child::*[2]") vddo:doc) ................... [ PASS]
    ((ddo:txpath "*/*[2]") vddo:doc) ................................. [ PASS]
    ((ddo:txpath "/*/*[2]") vddo:doc) ................................ [ PASS]
    ((ddo:txpath "descendant-or-self::node()[attribute::id ='toc1']...  [ PASS]
    ((ddo:txpath "//*[attribute::* ='toc1']") vddo:doc) .............. [ PASS]
    ((ddo:txpath "//node()[attribute::id][1]") vddo:doc) ............. [ PASS]
    ((ddo:txpath "//*[ self::node() = id('toc1') ]") vddo:doc) ....... [ PASS]
    ((ddo:txpath "descendant::processing-instruction()") vddo:doc) ... [ PASS]
    ((ddo:txpath "descendant::processing-instruction( 'xml' )") vdd...  [ PASS]
    ((ddo:txpath "descendant::processing-instruction( 'smth else' )...  [ PASS]
    ((ddo:txpath "//*[ self::processing-instruction('smth else') ]"...  [ PASS]
    ((ddo:txpath "descendant-or-self::text()") vddo:doc) ............. [ PASS]
    ((ddo:txpath "descendant-or-self::text()[ self::node() = 'boo.c...  [ PASS]
    ((ddo:txpath "*/*/text()") vddo:doc) ............................. [ PASS]
    ((ddo:txpath "//attribute::xlink:type" vddo:ns-binding) vddo:doc)  [ PASS]
    ((ddo:txpath "//attribute::xlink:*[ self::* = 'hoge' ]" vddo:ns...  [ PASS]
    ((ddo:txpath "//attribute::xlink:*" '((xlink . "http://www.else...  [ PASS]
    ((ddo:txpath "*[1]/*[9]/*[3]/@*") vddo:doc) ...................... [ PASS]
    ((ddo:txpath "*[1]/*[4]/@id") vddo:doc) .......................... [ PASS]
    ((ddo:txpath "*[1]/*[9]/*[3]/.") vddo:doc) ....................... [ PASS]
    ((ddo:txpath "*[1]/*[4]/@id/.") vddo:doc) ........................ [ PASS]
    ((ddo:txpath "*[1]/*[9]/*[3]/..") vddo:doc) ...................... [ PASS]
    ((ddo:txpath "*[1]/*[4]/@id/..") vddo:doc) ....................... [ PASS]
    ((ddo:txpath "*[1]/*[9]/*[3]/following-sibling::*") vddo:doc) .... [ PASS]
    ((ddo:txpath "*[1]/*[4]/@id/following-sibling::*") vddo:doc) ..... [ PASS]
    ((ddo:txpath "*[1]/*[9]/*[3]/preceding-sibling::*") vddo:doc) .... [ PASS]
    ((ddo:txpath "*[1]/*[4]/@id/preceding-sibling::*") vddo:doc) ..... [ PASS]
    ((ddo:txpath "*[1]/*[9]/*[3]/following::*") vddo:doc) ............ [ PASS]
    ((ddo:txpath "*[1]/*[4]/@id/following::node()") vddo:doc) ........ [ PASS]
    ((ddo:txpath "*[1]/*[9]/*[3]/preceding::*") vddo:doc) ............ [ PASS]
    ((ddo:txpath "*[1]/*[4]/@id/preceding::*") vddo:doc) ............. [ PASS]
    ((ddo:txpath "*[1]/*[9]/*[3]/parent::*") vddo:doc) ............... [ PASS]
    ((ddo:txpath "*[1]/*[4]/@id/parent::*") vddo:doc) ................ [ PASS]
    ((ddo:txpath "*[1]/*[9]/*[3]/ancestor::*") vddo:doc) ............. [ PASS]
    ((ddo:txpath "*[1]/*[4]/@id/ancestor::*") vddo:doc) .............. [ PASS]
    ((ddo:txpath "*[1]/*[9]/*[3]/ancestor-or-self::*") vddo:doc) ..... [ PASS]
    ((ddo:txpath "*[1]/*[4]/@id/ancestor-or-self::*") vddo:doc) ...... [ PASS]
    ((ddo:txpath "*/*[position()=2]") vddo:doc) ...................... [ PASS]
    ((ddo:txpath "*/*[position()=last()-4]") vddo:doc) ............... [ PASS]
    ((ddo:txpath "*/*[position()>=4 and position()<last()-1]") vddo...  [ PASS]
    ((ddo:txpath "*/*[9]/*[position()=last()-position()]") vddo:doc) . [ PASS]
    ((ddo:txpath "*/*[9]/*[position()=4]") vddo:doc) ................. [ PASS]
    ((ddo:txpath "*[1]/*[1]/*[attribute::xlink:*][attribute::* = 'b...  [ PASS]
    ((ddo:txpath "descendant-or-self::node()[self::chapter][self::*...  [ PASS]
    ((ddo:txpath "doc/body/chapter[position()=2 or position()=5]/@i...  [ PASS]
    ((ddo:txpath "doc/body/chapter[position()=2 or position()=5]/@i...  [ PASS]
    ((ddo:txpath "doc/body/chapter[position()=2 or position()=5]/@i...  [ PASS]
    ((ddo:txpath "doc/body/chapter[position()=2 or position()=5]/@i...  [ PASS]
    ((ddo:txpath "doc/body/chapter[position()=2 or position()=5]/@i...  [ PASS]
    ((ddo:txpath "doc/body/chapter[position()=2 or position()=5]/@i...  [ PASS]
    ((ddo:txpath "doc/body/chapter[position()=2 or position()=5]/@i...  [ PASS]
    ((ddo:txpath "doc/body/chapter[position()=2 or position()=5]/@i...  [ PASS]
    ((ddo:txpath "doc/body/chapter[position()=2 or position()=5]/@i...  [ PASS]
    ((ddo:txpath "doc/body/chapter[position()=2 or position()=5]/@i...  [ PASS]
    ((ddo:txpath "doc/body/chapter[position()=2 or position()=5]/@i...  [ PASS]
    ((ddo:txpath "doc/body/chapter[position()=2 or position()=5]/@i...  [ PASS]
    ((ddo:txpath "doc/body/chapter[position()=2 or position()=5]/@i...  [ PASS]
    ((ddo:txpath "doc/body/chapter[position()=2 or position()=5]/@i...  [ PASS]
    ((ddo:txpath "doc/body/chapter[position()=2 or position()=5]/@i...  [ PASS]
    ((ddo:txpath "doc/body/chapter[position()=2 or position()=5]/@i...  [ PASS]
    ((ddo:txpath "doc/body/chapter[position()=2 or position()=5]/@i...  [ PASS]
    ((ddo:txpath "doc/body/chapter[position()=2 or position()=5]/@i...  [ PASS]
    ((ddo:txpath "doc/body/chapter[position()=2 or position()=5]/@i...  [ PASS]
    ((ddo:txpath "doc/body/chapter[position()=2 or position()=5]/@i...  [ PASS]
    ((ddo:txpath "doc/body/chapter[position()=2 or position()=5]/@i...  [ PASS]
    ((ddo:txpath "doc/body/chapter[position()=2 or position()=5]/@i...  [ PASS]
    ((ddo:txpath "doc/body/chapter[position()=2 or position()=5]/@i...  [ PASS]
    ((ddo:txpath "doc/body/chapter[position()=2 or position()=5]/@i...  [ PASS]
    ((ddo:txpath "doc/body/chapter[position()=2 or position()=5]/@i...  [ PASS]
    ((ddo:txpath "doc/body/chapter[position()=2 or position()=5]/@i...  [ PASS]
    ((ddo:txpath "doc/body/chapter[position()=2 or position()=5]/@i...  [ PASS]
    ((ddo:xpath-expr " -2 + 4* (6-1) + 6 div 3 ") '()) ............... [ PASS]
    ((ddo:xpath-expr " 7>4 and not( false() ) and ('err'= 12 or tru...  [ PASS]
    ((ddo:xpath-expr " true() > false() ") '()) ...................... [ PASS]
    ((ddo:xpath-expr " '  15 ' = 15 = true()") '()) .................. [ PASS]
    ((ddo:xpath-expr "   $xlink and true() ") '() '((xlink . #t))) ... [ PASS]
    ((ddo:xpath-expr "   $x - 4") '() '((x . 45))) ................... [ PASS]
    ((ddo:xpath-expr "   $y ") '() '((y . "variable value"))) ........ [ PASS]
    ((ddo:xpath-expr " number(' -34 ') ") '()) ....................... [ PASS]
    ((ddo:xpath-expr " number(' -34.67 ') ") '()) .................... [ PASS]
    ((ddo:xpath-expr " number( true() ) ") '()) ...................... [ PASS]
    ((ddo:xpath-expr " number(false()) ") '()) ....................... [ PASS]
    ((ddo:xpath-expr " boolean( -56 ) ") '()) ........................ [ PASS]
    ((ddo:xpath-expr " boolean( 0 ) ") '()) .......................... [ PASS]
    ((ddo:xpath-expr " boolean( 'ere' ) ") '()) ...................... [ PASS]
    ((ddo:xpath-expr " boolean( '' ) ") '()) ......................... [ PASS]
    ((ddo:xpath-expr " string( 0 ) ") '()) ........................... [ PASS]
    ((ddo:xpath-expr " string( -76 ) ") '()) ......................... [ PASS]
    ((ddo:xpath-expr " string( true() ) ") '()) ...................... [ PASS]
    ((ddo:xpath-expr " string( false() ) ") '()) ..................... [ PASS]
    ((ddo:xpath-expr " false() = 12 ") '()) .......................... [ PASS]
    ((ddo:xpath-expr " true() = 12 ") '()) ........................... [ PASS]
    ((ddo:xpath-expr "true() != 0") '()) ............................. [ PASS]
    ((ddo:xpath-expr " false() = '' ") '()) .......................... [ PASS]
    ((ddo:xpath-expr " false() = 'smth' ") '()) ...................... [ PASS]
    ((ddo:xpath-expr " true() != 'smth' ") '()) ...................... [ PASS]
    ((ddo:xpath-expr " '12  ' = 12 ") '()) ........................... [ PASS]
    ((ddo:xpath-expr " '123  ' != 12 ") '()) ......................... [ PASS]
    ((ddo:xpath-expr " true() > 0 ") '()) ............................ [ PASS]
    ((ddo:xpath-expr "( false() < 1 )") '()) ......................... [ PASS]
    ((ddo:xpath-expr " '  12' <= 1 ") '()) ........................... [ PASS]
    ((ddo:xpath-expr "( '  12' >= '  -2 ' )") '()) ................... [ PASS]
    ((ddo:xpath-expr " 'ee' <= 1 ") '()) ............................. [ PASS]
    ((ddo:xpath-expr "( 'aaa' < 'bbb' )") '()) ....................... [ PASS]
    ((ddo:xpath-expr "*[1]/*[7] | *[1]/*[9]/*[2] ") vddo:doc) ........ [ PASS]
    ((ddo:xpath-expr " id('toc2') | id('chap4') | id('here') ") vdd...  [ PASS]
    ((ddo:xpath-expr " */*[9]/*[5]/following::node() = 'ConclusionT...  [ PASS]
    ((ddo:xpath-expr " */*[9]/*[5]/following::node() = //appendix//...  [ PASS]
    ((ddo:xpath-expr " */*[9]/*[5]/following::node() = */*[9]/*[6]/...  [ PASS]
    ((ddo:xpath-expr " (//text()[23] | //text()[24]) = ( //*[self::...  [ PASS]
    ((ddo:xpath-expr " //xlink:label[self::* = 'hoge'] > id( 'chap6...  [ PASS]
    ((ddo:xpath-expr "(doc/body/*)[position()]") vddo:doc) ........... [ PASS]
    ((ddo:xpath-expr "(doc/body/*)[position()=4]") vddo:doc) ......... [ PASS]
    ((ddo:xpath-expr "(doc/body/*)[4]") vddo:doc) .................... [ PASS]
    ((ddo:xpath-expr "(doc/body/*)[4=position()]") vddo:doc) ......... [ PASS]
    ((ddo:xpath-expr "(doc/body/*)[last()]") vddo:doc) ............... [ PASS]
    ((ddo:xpath-expr "(doc/body/*)[position()<=6]") vddo:doc) ........ [ PASS]
    ((ddo:xpath-expr "(doc/body/*)[position()<6]") vddo:doc) ......... [ PASS]
    ((ddo:xpath-expr "(doc/body/*)[position()>=6]") vddo:doc) ........ [ PASS]
    ((ddo:xpath-expr "(doc/body/*)[position()>6]") vddo:doc) ......... [ PASS]
    ((ddo:xpath-expr "(doc/body/*)[3>position()]") vddo:doc) ......... [ PASS]
    ((ddo:xpath-expr "(doc/body/*)[3>=position()]") vddo:doc) ........ [ PASS]
    ((ddo:xpath-expr "(doc/body/*)[3<position()]") vddo:doc) ......... [ PASS]
    ((ddo:xpath-expr "(doc/body/*)[3<=position()]") vddo:doc) ........ [ PASS]
    ((ddo:txpath "doc/body/chapter[@id[../title[../p[count(ancestor...  [ PASS]
    ((ddo:txpath "doc/body/chapter[title[count(following-sibling::*...  [ PASS]
    ((ddo:txpath "doc/item[following-sibling::body[chapter[title[.....  [ PASS]
    ((ddo:txpath "doc/item[@id[../text()[parent::item[count(precedi...  [ PASS]
    ((ddo:txpath "doc/body/chapter[title[../@id[../section[@ID[../p...  [ PASS]
    ((ddo:txpath "para[self::*[self::*[self::*[1]]]]") '(*TOP* (par...  [ PASS]
    ((ddo:txpath "stanza/line[text()[self::text() = ../parent::*[pr...  [ PASS]
    ((ddo:xpath-expr " count( //item ) ") vddo:doc) .................. [ PASS]
    ((ddo:xpath-expr " count( id('no_such_element') ) ") vddo:doc) ... [ PASS]
    ((ddo:xpath-expr " count( doc/body/chapter/p/text() ) ") vddo:doc)  [ PASS]
    ((ddo:xpath-expr "id('chap4')") vddo:doc) ........................ [ PASS]
    ((ddo:xpath-expr "id('toc1 toc5 chap6 here')") vddo:doc) ......... [ PASS]
    ((ddo:xpath-expr "id('not-exist')") vddo:doc) .................... [ PASS]
    ((ddo:xpath-expr "local-name(*)") vddo:doc) ...................... [ PASS]
    ((ddo:xpath-expr "local-name(doc/body/*[position()<4])") vddo:doc)  [ PASS]
    ((ddo:xpath-expr "local-name(empty)") vddo:doc) .................. [ PASS]
    ((ddo:xpath-expr "local-name(descendant::text()[1])") vddo:doc) .. [ PASS]
    ((ddo:xpath-expr "local-name(doc/multidirectional/@*)") vddo:doc)  [ PASS]
    ((ddo:xpath-expr "namespace-uri(doc/multidirectional/@*)") vddo...  [ PASS]
    ((ddo:xpath-expr "namespace-uri(*)") vddo:doc) ................... [ PASS]
    ((ddo:xpath-expr "name(doc/multidirectional/@*)") vddo:doc) ...... [ PASS]
    ((ddo:xpath-expr "name(empty)") vddo:doc) ........................ [ PASS]
    ((ddo:xpath-expr "name(descendant::text()[1])") vddo:doc) ........ [ PASS]
    ((ddo:xpath-expr "string(0)") '()) ............................... [ PASS]
    ((ddo:xpath-expr "string(13)") '()) .............................. [ PASS]
    ((ddo:xpath-expr "string(666.666)") '()) ......................... [ PASS]
    ((ddo:xpath-expr "string(1 div 2)") '()) ......................... [ PASS]
    ((ddo:xpath-expr "string( true() )") '()) ........................ [ PASS]
    ((ddo:xpath-expr "string( false() )") '()) ....................... [ PASS]
    ((ddo:xpath-expr "string( doc/body/chapter[6] )") vddo:doc) ...... [ PASS]
    ((ddo:xpath-expr "string( doc/body/chapter[1] )") vddo:doc) ...... [ PASS]
    ((ddo:xpath-expr "string( doc/body/chapter )") vddo:doc) ......... [ PASS]
    ((ddo:xpath-expr "concat( 'one', ' ', 'beer' )") '()) ............ [ PASS]
    ((ddo:xpath-expr "concat( doc/item[1], ' & ', doc/item[7] )") v...  [ PASS]
    ((ddo:xpath-expr "starts-with( 'one gin', 'one' )") '()) ......... [ PASS]
    ((ddo:xpath-expr "starts-with( 'one', 'another' )") '()) ......... [ PASS]
    ((ddo:xpath-expr "starts-with( 'str1', 'str2' )") '()) ........... [ PASS]
    ((ddo:xpath-expr "starts-with( 'text', 'text' )") '()) ........... [ PASS]
    ((ddo:xpath-expr "contains( 'pirate', 'ira' )") '()) ............. [ PASS]
    ((ddo:xpath-expr "contains( 'one string', 'different string' )"...  [ PASS]
    ((ddo:xpath-expr "contains( 'any', '' )") '()) ................... [ PASS]
    ((ddo:xpath-expr "doc/body/chapter[contains( p , 'XLink')]") vd...  [ PASS]
    ((ddo:xpath-expr "substring-before( '1999/04/01', '/')") '()) .... [ PASS]
    ((ddo:xpath-expr "substring-before( '1999/04/01', ':')") '()) .... [ PASS]
    ((ddo:xpath-expr "substring-before( doc/body/chapter[2] , 'XML'...  [ PASS]
    ((ddo:xpath-expr "substring-after( '1999/04/01', '/')") '()) ..... [ PASS]
    ((ddo:xpath-expr "substring-after( '1999/04/01', '19')") '()) .... [ PASS]
    ((ddo:xpath-expr "substring-after( '1999/04/01', ':')") '()) ..... [ PASS]
    ((ddo:xpath-expr "substring-after( doc/body/chapter[2] , 'XML')...  [ PASS]
    ((ddo:xpath-expr "substring('12345', 1.5, 2.6) ") '()) ........... [ PASS]
    ((ddo:xpath-expr "substring('12345', 0, 3)") '()) ................ [ PASS]
    ((ddo:xpath-expr "substring('12345', 2)") '()) ................... [ PASS]
    ((ddo:xpath-expr "substring('12345', -10, 100)") '()) ............ [ PASS]
    ((ddo:xpath-expr "substring('12345', 10, 2)") '()) ............... [ PASS]
    ((ddo:xpath-expr "string-length('26.08.2004')") '()) ............. [ PASS]
    ((ddo:xpath-expr "string-length(doc/item[position()=1])") vddo:...  [ PASS]
    ((ddo:xpath-expr "doc/item[string-length()-1]") vddo:doc) ........ [ PASS]
    ((ddo:xpath-expr "normalize-space('   Want   to    have   a lun...  [ PASS]
    ((ddo:xpath-expr "normalize-space('         ')") '()) ............ [ PASS]
    ((ddo:xpath-expr "normalize-space('')") '()) ..................... [ PASS]
    ((ddo:xpath-expr "normalize-space(.)") '(p "   Want   to    hav...  [ PASS]
    ((ddo:xpath-expr "translate('bar', 'abc', 'ABC')") '()) .......... [ PASS]
    ((ddo:xpath-expr "translate('bar', 'abc', 'ABCDEFGHR')") '()) .... [ PASS]
    ((ddo:xpath-expr "translate('--aaa--', 'abc-', 'ABC') ") '()) .... [ PASS]
    ((ddo:xpath-expr "translate(doc/body/chapter[1]/title, 'Aact', ...  [ PASS]
    ((ddo:xpath-expr "translate(doc/body/chapter[2]/title, doc/body...  [ PASS]
    ((ddo:xpath-expr "boolean(*/*)") vddo:doc) ....................... [ PASS]
    ((ddo:xpath-expr "boolean(*/no_such)") vddo:doc) ................. [ PASS]
    ((ddo:xpath-expr "boolean( name(*) )") vddo:doc) ................. [ PASS]
    ((ddo:xpath-expr "boolean( name(doc/item[1]/text()) )") vddo:doc)  [ PASS]
    ((ddo:xpath-expr "boolean( 1 )") '()) ............................ [ PASS]
    ((ddo:xpath-expr "boolean( 0 )") '()) ............................ [ PASS]
    ((ddo:xpath-expr "true()") '()) .................................. [ PASS]
    ((ddo:xpath-expr "false()") '()) ................................. [ PASS]
    ((ddo:xpath-expr "not( true() )") '()) ........................... [ PASS]
    ((ddo:xpath-expr "not( false() )") '()) .......................... [ PASS]
    ((ddo:xpath-expr "lang('en')") ((ddo:txpath "doc/body/chapter[1...  [ PASS]
    ((ddo:xpath-expr "lang('en')") '(div (@ (xml:lang "en")) (para)))  [ PASS]
    ((ddo:xpath-expr "lang('en')") ((ddo:txpath "para" -1) '(div (@...  [ PASS]
    ((ddo:xpath-expr "number('12')") '()) ............................ [ PASS]
    ((ddo:xpath-expr "number('-12.45')") '()) ........................ [ PASS]
    ((ddo:xpath-expr "number( true() )") '()) ........................ [ PASS]
    ((ddo:xpath-expr "number( false() )") '()) ....................... [ PASS]
    ((ddo:xpath-expr "number( self::* )") '(para "67")) .............. [ PASS]
    ((ddo:xpath-expr "number( self::* )") '(para (high "67") (low "...  [ PASS]
    ((ddo:xpath-expr "sum( self::text() )") '("1" "2" "5")) .......... [ PASS]
    ((ddo:xpath-expr "sum( * )") '(add (p "4") (p "15") (p (high "1...  [ PASS]
    ((ddo:xpath-expr "floor(.4)") '()) ............................... [ PASS]
    ((ddo:xpath-expr "floor(-2.5)") '()) ............................. [ PASS]
    ((ddo:xpath-expr " ceiling(.4)") '()) ............................ [ PASS]
    ((ddo:xpath-expr "ceiling(-2.5) ") '()) .......................... [ PASS]
    ((ddo:xpath-expr "round(.4)") '()) ............................... [ PASS]
    ((ddo:xpath-expr " round(4.51) ") '()) ........................... [ PASS]
    ((ddo:xpath-expr "round(-2.51) ") '()) ........................... [ PASS]
    220 tests completed in 9727/500 seconds.
    220 out of 220 (100%) tests passed.
    -- done testing vddo (ddo-sxpath-lolevel) --------------------------------

5 subgroups completed in 3919/200 seconds.
5 out of 5 (100%) subgroups passed.
-- done testing all sxpath flavors and subsystems ----------------------------