[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

AW: [xsl] limit count() to nodes with a position() < the posti on of the current node


Subject: AW: [xsl] limit count() to nodes with a position() < the posti on of the current node
From: "Zink, Juergen" <Juergen.Zink@xxxxxxxxxxxxxxxxxxxx>
Date: Tue, 9 Sep 2003 08:07:59 +0200

Hi,

the position of <lid> is the number of preceding siblings.
In your example should be 4, <loc>, <sub>, <date> sibling before.

Maybe you can use a foreach with select="//lid".
All the lid elements in a node set in document order.
Then you can use position() within the loop.

But I don't understand your questions fully.
What do you want to achieve?

Kind regards,

Juergen

-----Ursprüngliche Nachricht-----
Von: M. David Peterson [mailto:conners_dad@xxxxxxx]
Gesendet am: Dienstag, 9. September 2003 07:23
An: xsl-list
Betreff: [xsl] limit count() to nodes with a position() &lt; the postion
of the current node

Hi all,

Ive got an interesting one for you...

Ive got the following key...

<xsl:key name="linkCount" match="lid" use="."/>

that uses the following xml...

<history>
    <visit>
      <loc>life</loc>
      <subloc>main</subloc>
      <date>9/8/2003 10:49:58 PM</date>
      <lid>AAD001</lid>
    </visit>
</history>

to give me the total count of all nodes that have the value of the current context...

<xsl:value-of select="count(key('linkCount', lid))"/>

This works perfectly as it returns the total count of all nodes that have the same value as the current context node...

But I want to take this one step further and return the count of all nodes that have a position() that is less than the position of the current node. Taking the position() of the context node out of the equation I thought it would as simple as this (I used 5 as a test parameter)...

<xsl:key name="linkCount" match="lid[position() &lt; 5]" use="."/>

I expected it to return the count of the nodes that matched the current 
context node as long as there postion was less than 5.  But it didn't.  It returned the total count for the entire xml tree.

So, my questions are...  1)What do I need to change to get the above example

to work and 2)How could I then take it one step further and use the 
position() of the current context node as the parameter to test against the position() of the test nodes?

Your help is much appreciated!

Best Regards,

M.David 

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


*****************************************************************************
Diese E-Mail enthaelt vertrauliche und/oder rechtlich geschuetzte 
Informationen. Wenn Sie nicht der richtige Adressat sind oder diese 
eMail irrtuemlich erhalten haben, informieren Sie bitte sofort den 
Absender und vernichten Sie diese Mail. Das unerlaubte Kopieren 
sowie die unbefugte Weitergabe dieser Mail ist nicht gestattet.

This e-mail may contain confidential and/or privileged information. 
If you are not the intended recipient (or have received this e-mail 
in error) please notify the sender immediately and destroy this e-mail. 
Any unauthorized copying, disclosure or distribution of the material 
in this e-mail is strictly forbidden.
*****************************************************************************


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



Current Thread
Keywords
xml