xsl-list
[Top] [All Lists]

RE: Using not(...a nd ... ) to select nodes

2003-07-11 08:51:13
Lars,

At 06:48 PM 7/10/2003, Mike wrote:
> In order for your code to work, current() in the select
> expression of a for-each loop must refer to the <item> node
> currently being tested for whether it gets selected, right?
> If so, is this the way xsl:for-each / xpath work? I realize
> that INSIDE the for-each, current() refers to the node
> currently being processed, but is that also true in the
> select expression of the for-each? Or does current() there
> refer to the context node outside the for-each?

current() always refers to the node that "." would refer to if you
replaced the whole XPath expression containing the call on current()
with ".".

In other words, your last conjecture is correct: in the for-each select, current() refers to the context node outside the for-each. *Within* the for-each, the evaluation context changes.

I wrote more of a gloss to try to explain further, but then decided my explanation of Mike's heuristic was more confusing than what he said, not less. So I deleted it.

I hope it's clear now, anyhow.

Note the OP still hasn't gotten an XPath-based solution using the preceding-sibling:: axis as originally posed. David C., jumping ahead to the analysis that this is really a grouping problem, offered the (superior) key-based solution. Do we care about the XPath?

Cheers,
Wendell


======================================================================
Wendell Piez                            
mailto:wapiez(_at_)mulberrytech(_dot_)com
Mulberry Technologies, Inc.                http://www.mulberrytech.com
17 West Jefferson Street                    Direct Phone: 301/315-9635
Suite 207                                          Phone: 301/315-9631
Rockville, MD  20850                                 Fax: 301/315-8285
----------------------------------------------------------------------
  Mulberry Technologies: A Consultancy Specializing in SGML and XML
======================================================================


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