If X[(_at_)a='hi'] matches a node, then that node will become the context
node when evaluating [(_at_)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
________________________________________________________________________
The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.
This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs.
________________________________________________________________________
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--