element bib { fs:item-sequence-to-node-sequence( for $b in fs:distinct-docorder-or-atomic-sequence( let $fs:sequence := fs:node-sequence( fs:distinct-docorder-or-atomic-sequence( let $fs:sequence := fs:node-sequence( let $fs:v1 := fs:promote-to-anystring( fs:convert-simple-operand(fn:data("bib.xml"), "") ) return doc($fs:v1) ), $fs:last := fn:count($fs:sequence) for $fs:dot at $fs:position in $fs:sequence return child::bib ) ), $fs:last := fn:count($fs:sequence) for $fs:dot at $fs:position in $fs:sequence return child::book ) return if (fn:boolean( if (fn:boolean( some $fs:v2 in fn:data( fs:distinct-docorder-or-atomic-sequence( let $fs:sequence := fs:node-sequence($b), $fs:last := fn:count($fs:sequence) for $fs:dot at $fs:position in $fs:sequence return child::publisher ) ) satisfies fn:boolean( some $fs:v3 in fn:data("Addison-Wesley") satisfies fn:boolean( op:equal( fs:untyped-to-any($fs:v2, $fs:v3), fs:untyped-to-any($fs:v3, $fs:v2) ) ) ) )) then fn:boolean( some $fs:v4 in fn:data( fs:distinct-docorder-or-atomic-sequence( let $fs:sequence := fs:node-sequence($b), $fs:last := fn:count($fs:sequence) for $fs:dot at $fs:position in $fs:sequence return attribute::year ) ) satisfies fn:boolean( some $fs:v5 in fn:data(1991) satisfies fn:boolean( op:gt( fs:untyped-to-any($fs:v4, $fs:v5), fs:untyped-to-any($fs:v5, $fs:v4) ) ) ) ) else fn:false() )) then element book { fs:item-sequence-to-node-sequence( attribute newyear { fn:data(text {""}), fn:data( fs:item-sequence-to-untypedAtomic( fs:distinct-docorder-or-atomic-sequence( let $fs:sequence := fs:node-sequence($b), $fs:last := fn:count($fs:sequence) for $fs:dot at $fs:position in $fs:sequence return attribute::year ) ) ) }, fs:distinct-docorder-or-atomic-sequence( let $fs:sequence := fs:node-sequence($b), $fs:last := fn:count($fs:sequence) for $fs:dot at $fs:position in $fs:sequence return child::title ) ) } else () ) }