Test output for sxpath [ok]
Testing time: 6s
/home/mario/local/chicken-4.8.0.3/bin/csi -script run.scm < /dev/null -- 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 0.008 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-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] 55 tests completed in 0.003 seconds. 55 out of 55 (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 0.012 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 0.024 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 5.482 seconds. 220 out of 220 (100%) tests passed. -- done testing vddo (ddo-sxpath-lolevel) -------------------------------- 5 subgroups completed in 5.53 seconds. 5 out of 5 (100%) subgroups passed. -- done testing all sxpath flavors and subsystems ----------------------------