Re: [xml-dev] XPath 2.0 Best Practice Issue: Graceful Degradation

From
David Carver <>
To
"Costello, Roger L." <>, " Developers" <>
Date
2008-01-29T15:12:57Z
ID
<>
Thread
Re: [xml-dev] XPath 2.0 Best Practice Issue: Graceful Degradation
Costello, Roger L. wrote:
> Excellent discussion!
>
> Consider this XPath statement:
>
>     if (//airplane[@tailnum='C3H1'] instance of
> schema-element(airplane)) then 
>             //airplane[@tailnum='C3H1']/altitude * .3048  
>     else 
>         if (//airplane[@tailnum='C3H1']/altitude[@unit='feet'] castable
> as xs:double) then 
>             //airplane[@tailnum='C3H1']/altitude * .3048
>         else
>             'Error'
>   
One thing I think we need to clarify here, is that the above itself is 
not just an XPATH statement. It's a mix of XPATH and a logical structure 
of another language like XQuery, XSLT or something else. XPATH it self 
can do some AND/OR/NOT logic, but not if-then-else logic.

So what we are really talking about is XPATH Expressions for selection 
and existance of boolean values, along with another language to provide 
the if-then-else logic that XPATH doesn't have.