This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

RE: Context node/Predicates in Expressions


> <snip>
> NOTE: The meaning of a Predicate depends crucially on which 
> axis applies.
> For example, preceding::foo[1] returns the first foo element 
> in reverse
> document order, because the axis that applies to the [1] 
> predicate is the
> preceding axis; by contrast, (preceding::foo)[1] returns the first foo
> element in document order, because the axis that applies to the [1]
> predicate is the child axis.
> </snip>

This paragraph is one of the most contorted pieces of explanation in the
entire spec. They could have simply said that in a filter expression, the
nodes are in document order, whereas in a step, they are in either forwards
or reverse document order depending on the axis. Bringing in the child axis
as a notional axis for filter expressions, which is merely a device for
ensuring that filter expressions are in forwards order, is an amazingly
obscure way of achieving this simple effect, especially as the nodes do not
need to be children of anything.

Mike K


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]