XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Show tree view Topic
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
Jerry JanofskySubject: How do find get parent group when nesting xsl:for-each-group
Author: Jerry Janofsky
Date: 15 Sep 2007 07:31 PM
I am using nested <xsl:for-each-group> statements. Within my second group, I want to know what the grouping key was for the first group. Current-grouping-key gives me the current one, but how can I get the parent group-key? I'm stumped?

Here is some pseudo xml for a person that has 2 city elements. If I use nested groups to first group by city, then by last name, how do I get the value of the current city.

<person>
<lastname>Smith</lastname>
<city>Boston</city>
<city>New York</city>
</person>

XSL frag looks like:

<xsl:for-each-group select="person" group-by="city">
<xsl:for-each-group select="current-group()" group-by="lastname">

How do I get the value of the first grouping-key (city) while I am here? My person can have more than one city so I can't just get it from person/city because I don't know which city to get the value of?

I have a feeling this is an easy answer, but I don't see it?

Jerry J

Postnext
Tony LavinioSubject: How do find get parent group when nesting xsl:for-each-group
Author: Tony Lavinio
Date: 15 Sep 2007 11:18 PM
Maybe I'm missing something, but couldn't you just store
the current-grouping-key of the outer loop to a variable,
and then read it in the inner loop?

Postnext
Jerry JanofskySubject: How do find get parent group when nesting xsl:for-each-group
Author: Jerry Janofsky
Date: 15 Sep 2007 11:36 PM

But I can only set the variable once, right? What do I do for the next iteration? Or am I missing something?

Postnext
Jerry JanofskySubject: How do find get parent group when nesting xsl:for-each-group
Author: Jerry Janofsky
Date: 16 Sep 2007 07:35 PM

As far as I know, there is no way to find the parent group key. However, I did solve my problem by putting the second group by inside a template. I then pass in the parent group key as a parameter.

I suppose most experienced XSLT programmers would have known this right away.

Postnext
James DurningSubject: How do find get parent group when nesting xsl:for-each-group
Author: James Durning
Date: 17 Sep 2007 10:51 AM
You set the variable once every iteration of the for-each. The variable gets reset every time.

Postnext
Jerry JanofskySubject: How do find get parent group when nesting xsl:for-each-group
Author: Jerry Janofsky
Date: 17 Sep 2007 06:28 PM
Are you sure I can set the same variable on every iteration?

Posttop
Minollo I.Subject: How do find get parent group when nesting xsl:for-each-group
Author: Minollo I.
Date: 17 Sep 2007 08:25 PM
Positive.

 
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.