xsl-list
[Top] [All Lists]

Re: determine existence of preceding element

2004-10-29 06:38:17
      what test will tell me if there are any preceding <text:p 
  text:style-name="sub-module-title">s which follow the first preceding 
  <text:p text:style-name="module-title"> of the currently visited <text:p 
  text:style-name="sub-module-title">.


   preceding-sibling::text:p[(_at_)text:style-name="'module-title'][1]
      /following-sibling::text:p[(_at_)text:style-name="'sub-module-title']

is all the sub-module-titles following the previous module-title

   following-sibling::text:p[(_at_)text:style-name="'sub-module-title']

is all the sub-module-titles following the current node so one way to
write your test is

 test="count(the first xpath above ) = count (the second xpath)"

this isn't particularly efficient but unless you have thousands of nodes
that probably doesn't matter.

Altenatively you can express it as testing that the current node is in
the node set returned by the first path, which you could write as


 test="count(the first xpath above ) = count (.  | the first xpath above)"

I suspect that really you want to do "positional grouping" which was
discussed earlier this week, and is often most efficiently expressed
using keys, but it depends a bit what transform you were doing that led
to the above question.

David


________________________________________________________________________
This e-mail has been scanned for all viruses by Star. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________


<Prev in Thread] Current Thread [Next in Thread>