Subject: Re: human-talk for "::" From: David Carlisle <davidc@xxxxxxxxx> Date: Thu, 25 May 2000 19:01:27 +0100 (BST) |
> how to explain to a non-programmer the "verbal sense" conveyed/represented > by the "::" read x::y as all y that are a(n) x select="ancestor-or-self:xxx" select all xxx nodes that are an ancestor of, or are, the current node. > (preceding::foo)[1] example, I can't That's because the spec defines this by sleight of hand. The [4] syntax and more generally position() needs to know whether the node set is in document or reverse document order. By definition the ordering depends on the axis. For something like following::* it is clear what the natural ordering of the resulting node list should be but for a general expression (following::xx | child::y | ancestor::*) there isn't a natural order to the resulting node set as it might be constructed from several axes, so what does (following::xx | child::y | ancestor::*)[1] mean? They could have defined that such expressions were ordered in document order, but instead the spec defines that by default this > The Predicate filters the node-set with respect to the child axis. This has the effect that position() counts in document order because child is a forward axis. But that is, I think, the _only_ effect of this statement, so it might have been clearer to just have said that, rather than introduce the confusing reference to the child axis. David XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
human-talk for "::", John Robert Gardner | Thread | Xalan Extension, Carlos Sanchez |
Context node/Predicates in Expressi, John Robert Gardner | Date | How would you add depth to this fla, Eric G. Bosch |
Month |