*******************************************************************************************************************************************************
This email and any files transmitted with it are intended solely for the use of
the individual or entity to whom they are addressed.
*******************************************************************************************************************************************************
Posted this yesterday
Hi, I'm fairly new to XSLT and have been having a problem with an XML file
I'm trying to process, the file being something along the lines below
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="andytest.xsl"?>
<Resources>
<resource>
<filename Dept="A" LastModified="10/03/2003"
NextReview="10/04/2003" Stale="More Than Month Overdue">
Filename title
</filename>
<author>
Joe
</author>
<readers/>
<Div Head>
A
</Dept Head>
<Division>
A
</Division>
</resource>
<resource>
<filename Dept="A " LastModified="30/04/2003 14:02 "
NextReview="31/05/2003 " Stale="Up To Month Overdue">
Filename title
</filename>
<author>
Jill
</author>
<readers/>
<Div Head>
Person B
</Div Head>
<Division>
Div B
</Division>
</resource>
<resource>
<filename Dept="A" LastModified="17/04/2003"
NextReview="29/05/2003" Stale="Up To Month Overdue">
Filename title
</filename>
<author>
Sam
</author>
<readers/>
<Div Head>
Person C
</Div Head>
<Division>
A
</Division>
</resource>
<resource>
<filename Dept="B" LastModified="30/05/2003"
NextReview="01/07/2003" Stale="More Than Week To Go">
Filename Title
</filename>
<author>
Alice
</author>
<readers>
<reader count="1">
Bloggs J (Joe)
</reader>
<reader count="1">
Bloggs S (Sam)
</reader>
<reader count="1">
Bloggs J (Jim)
</reader>
</readers>
<Div Head>
Person A
</LeadMinister>
<Division>
C
</Division>
</resource>
</Resources>
need to end up with
Group by Dept: Group By Division: Group By Author
Dept - Division - Author
- ----------------------------------------------
A - A - Joe
- - Sam
- B - Jill
B - C - Alice
The problem I'm having is I'm trying to use Meunchian grouping and while I
can get the first grouping using
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml" version="1.0">
<xsl:output indent="yes" method="html"/>
<xsl:key name="resources-div" match="resource" use="Division" />
<xsl:template match="/">
<html>
<head></head>
<body>
<xsl:apply-templates />
</body>
</html>
</xsl:template>
<xsl:template match="Resources">
<xsl:for-each
select="//resource[generate-id(.)=generate-id(key('resources-div',Division))
]">
<xsl:value-of select="Division" />
<xsl:for-each select="key('resources-div',Division)">
</xsl:for-each>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
I'm having great trouble getting the second grouping and so on to work, I've
experimented with a few different formats but haven't quite got there (or
got there at all) so I was hoping someone would be able to give me a few
pointers to get me in the right direction.
Jarno replied "You can't use XSLT with IE5, it only supports Microsoft's
XSL. Upgrade to Mozilla or IE6."
Sorry I should have mentioned that we're using Java servlets to circumvent
this problem so, again any help with the code would be much appreciated.
Andy Stephen
Analytical Services
Tel: 2440796
<mailto: Stephen AD (Andy)>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list