Dieter Schmerlaib wrote:
The reason that 2.0 is I am planning to transition to 2.0. So a for-each-group may work
the out put I want is below I am missing Transactions 1,2,8 ie where there is no skill requirement.
Here is an XSLT 2.0 stylesheet that produces the tables you want but not
in the order you have in the sample you posted. I am not sure what
determines the order in that posted sample thus I have not tried to use
xsl:sort to change the order.
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="2.0">
<xsl:output method="html" indent="yes"/>
<xsl:param name="empty" select="''"/>
<xsl:template match="/">
<html>
<head>
<title>TEST</title>
</head>
<body>
<xsl:for-each-group select="CertificationSheets/Sheet"
group-by="if (PlanningData/WorkArea) then
PlanningData/WorkArea else $empty">
<xsl:variable name="wa" select="current-grouping-key()"/>
<xsl:for-each-group select="current-group()"
group-by="if (PlanningData/SkillRequirement/Skill) then
PlanningData/SkillRequirement/Skill else $empty">
<p>Work Area: <xsl:value-of select="$wa"/></p>
<p>Skill: <xsl:value-of select="current-grouping-key()"/></p>
<table border="1">
<thead>
<tr>
<th>Trn #</th>
<th>Type</th>
</tr>
</thead>
<tbody>
<xsl:for-each select="current-group()">
<tr>
<td><xsl:value-of
select="Summary/WorkOrderInfo/TransactionNo"/></td>
<td><xsl:value-of select="Detail/Task/Type"/></td>
</tr>
</xsl:for-each>
</tbody>
</table>
</xsl:for-each-group>
</xsl:for-each-group>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
--
Martin Honnen
http://msmvps.com/blogs/martin_honnen/