[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

RE: Xpath - count preceding-siblings matching some co

Subject: RE: Xpath - count preceding-siblings matching some condition
From: "Angela Williams" <Angela.Williams@xxxxxxxxxxxxxxxxxx>
Date: Mon, 30 Apr 2007 15:51:04 -0500
RE:  Xpath - count preceding-siblings matching some  co
Thank you for the explanation!
Angela

-----Original Message-----
From: Michael Kay [mailto:mike@xxxxxxxxxxxx]
Sent: Monday, April 30, 2007 3:23 PM
To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
Subject: RE:  Xpath - count preceding-siblings matching some
condition

When you create a sequence of elements using:

<xsl:variable name="v" as="element()+">
  <a/>
  <a/>
  <a/>
</xsl:variable>

then the elements in the resulting sequence are not siblings. They are
parentless, whereas siblings always share a parent. To make them
siblings
you need to add a document node, which you can do simply by leaving out
the
"as" attribute:

<xsl:variable name="v">
  <a/>
  <a/>
  <a/>
</xsl:variable>

Michael Kay
http://www.saxonica.com/



> -----Original Message-----
> From: Angela Williams [mailto:Angela.Williams@xxxxxxxxxxxxxxxxxx]
> Sent: 30 April 2007 21:00
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: RE:  Xpath - count preceding-siblings matching
> some condition
>
> This works great in my test stylesheet.  However, when I use
> this in my real stylesheet, I end up with 1 group, so all
> rows have a row-nbr=1.
>
> The only difference in my real stylesheet is how I build $tmp-table.
> Instead of selecting from a static node tree, it is built in
> memory with the <xsl:variable name="tmp-table" as="element()+">
>   <!-- build the data -->
> </xsl:variable>
>
> I've tried writing out the data instead of putting it in a
> variable, and then using that output as input for the test
> stylesheet and it works!?!
>
> Is there something different about holding the temporary tree
> in memory to process it, as opposed to selecting from a
> static file?  When I view the $tmp-table variables in the
> debugger, my node-sets look exactly the same in both real and
> test stylesheets.
>
> I'm going cross-eyed - any suggestions?
>
> Thanks!
> Angela
>
> -----Original Message-----
> From: Angela Williams
> Sent: Monday, April 30, 2007 1:35 PM
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: RE:  Xpath - count preceding-siblings matching
> some condition
>
> That's wonderful!
>
> Thanks!
> Angela
>
> -----Original Message-----
> From: Bjorndahl, Brad [mailto:brad.bjorndahl@xxxxxxxxxxxxxxxx]
> Sent: Monday, April 30, 2007 1:19 PM
> To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx
> Subject: RE:  Xpath - count preceding-siblings matching
> some condition
>
> How about:
>
> <table>
>   <xsl:for-each-group select="//data/a"
> group-starting-with="a[@col-nbr lt
> preceding-sibling::a[1]/@col-nbr]" >
>     <xsl:variable name="row" select="position()" />
>     <xsl:for-each select="current-group()" >
>       <b col-nbr="{@col-nbr}" row-nbr="{$row}" />
>     </xsl:for-each>
>  </xsl:for-each-group>
> </table>
>
> Brad.

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.