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
Conferences Close Tree View
+ Stylus Studio Feature Requests (1192)
+ Stylus Studio Technical Forum (14621)
+ Website Feedback (249)
- XSLT Help and Discussion (7625)
-> + Using XSL files to transform x... (4)
-> + Logical Operators in if test (2)
-> + xpath with predicate otherwise... (3)
-> + XSL logic help (2)
-> + Rounding of Numbers Issue (3)
-> + using saxon trace (option -T) ... (4)
-> + Returning a node-set (4)
-> + Dynamic columns (2)
-> + Creating an XML fragment from ... (2)
-> + Writing quot. marks with XSLT ... (3)
-> + New to XSL with Recursion/Coun... (2)
-> + Identity Transform problem. Hi... (5)
-> - How can I put static content o... (1)
-> + WYSIWYG - Changes disappearing (3)
-> + Generating DeNormalized Schema (2)
-> + Building TransforMiiX standalo... (2)
-> + Problem with xs name space in ... (2)
-> + xsl:param seems to be xsl:par... (4)
-> + Input namespace prefix problem (4)
-> - Need help with grouping (3)
-> ->Need help with grouping
-> ->Need help with grouping
-- Previous [1441-1460] [1461-1480] [1481-1500] Next
+ XQuery Help and Discussion (2017)
+ Stylus Studio FAQs (159)
+ Stylus Studio Code Samples & Utilities (364)
+ Stylus Studio Announcements (113)
Topic  
Postnext
Mary PotterSubject: Need help with grouping
Author: Mary Potter
Date: 15 Jun 2006 08:50 AM
I have been struggling with grouping. My XML file is as follows:
<index>
<item>
<num>6000</num><date>12/12/05</date><desc>install</desc>
</item>
<item>
<num>2400</num><date>12/12/05</date><desc>install</desc>
</item>
<item>
<num>6012</num><date>10/10/05</date><desc>inspect</desc>
</item>
<item>
<num>6000</num><date>12/12/05</date><desc>remove</desc>
</item>
<item>
<num>2412</num><date>12/12/05</date><desc>install</desc>
</item>
</index>

I want it to look like this...
Chapter 24
2400 12/12/05
2412 12/12/05
Chapter 60
6000 12/12/05
6012 10/10/05

The chapter titles are the substring of the <num> elements. I am able to sort and group at the num level and the chapter level but not at the same time.

Any help would be greatly appreciated,
Mary M Potter

Postnext
Minollo I.Subject: Need help with grouping
Author: Minollo I.
Date: 15 Jun 2006 09:31 AM
Something along these lines may help; not sure how you need to handle the case in which multiple entries for the same "num" element are there, but you can easily change it to fit your needs:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:key name="chapters" match="item" use="substring(num, 1, 2)"/>

<xsl:template match="/">
<xsl:for-each select="//item[generate-id() = generate-id(key('chapters', substring(num,1,2))[1])]">
<xsl:variable name="chapter" select="substring(num,1,2)"/>Chapter <xsl:value-of select="$chapter"/><xsl:text>
</xsl:text>
<xsl:for-each select="//item[substring(num,1,2) = $chapter]">
<xsl:value-of select="num"/>
<xsl:text> </xsl:text>
<xsl:value-of select="date"/>
<xsl:text>
</xsl:text>
</xsl:for-each>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>

Posttop
Mary PotterSubject: Need help with grouping
Author: Mary Potter
Date: 15 Jun 2006 10:33 AM
Got it!! Thanks - I actually had the right idea but my second level xpath expression was wrong.

Thanks again!!

   
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.