[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: are multiple predicates same as boolean and
Thanks, David for further thoughts .. this makes me better at this. I have a related question ... for real world XSLT/XPath programs, upto how many predicates can we typically see? I haven't seen programs using 3, 4 or more predicates. X[..][..][..][..] I have used one or two predicates upto now. are excessively large number or predicates really useful? (the syntax allows that ...) I think perhaps, for complex 'and' conditions, using multiple predicates are useful ... On Fri, Nov 21, 2008 at 8:11 PM, David Carlisle <davidc@xxxxxxxxx> wrote: > > >> If X[@a='hi'] matches a node, then that node will become the context >> node when evaluating [@b='hi..'] > > as Andrew just said [] the context node doesn't change, so > >> X[P][Q] is equivalent to X[P and Q] if and only if Q does not depend on >> the context node at all. > > isnt't true, howver > > context position (position() ) and size (last()) do change. so basically > repeated filters are equivalent to and unless any of them depend on > position() or last(), including the speical case of [integer] being > equivalent to [position()=integer] > this last case is what makes it tricky to do a static rewite of this > unless you are a real XSLT engine that really know what is happening. > If you have > X[... foo ..][... bar ...] > you can only rewrite that to > > X[(... foo ..) and (... bar ...)] > if you know that neither expression will evaluate to a number at run > time. You probably don't know that unless you are the XSLt engine, > except in special cases. > > David -- Regards, Mukul Gandhi
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|