[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] 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.
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|