let $possible1 as xs:string* := (: go looking for a value via one route :)
let $possible2 .... (: all the other routes in preference order :)
....
let $foundIt as xs:string :=
($possible1,$possible2,$possible3,$possible4,$possible5,'FAILED')[1]

This works nicely in terms of "I got the value by the least-bad route".
What I'm blanking on is "how do I tell which was the first possibility to
match?" without resorting to sprawl of if-then-else statements.  I have the
idea that there must be a compact way but I have no idea what it is if
there is.

Any suggestions?

Thanks!
Graydon

Reply via email to