Subject: Re: How to find unique element. From: David Carlisle <davidc@xxxxxxxxx> Date: Tue, 18 May 1999 14:04:35 +0100 (BST) |
> <xsl:functions ns="jjc" type="text/javascript"> > ~/some processing instructions > </xsl:functions> > would be one way. Script may work, but it may be worth seeing how far you can get without scripting. The original questions were > Problems: > 1) How do i find out unique projectcodes? > 2) How to display the total hours put in by all the employees in a > particular project? which I think means that you want something like the following for the example XMl you posted? bash-2.01$ xt p2.xml p.xsl ====================== Project p1 Employee: 1, Hours: 10 Employee: 2, Hours: 14 Total: 24 ====================== ====================== Project p2 Employee: 1, Hours: 8 Employee: 2, Hours: 6 Total: 14 ====================== ====================== Project p3 Employee: 2, Hours: 12 Total: 12 ====================== bash-2.01$ If so, you may want to play with the xml code at the end of this msg. David <xsl:stylesheet xmlns:xsl="http://www.w3.org/XSL/Transform/1.0" result-ns=""> <xsl:template match="company"> <xsl:apply-templates mode="find" select="Employee/project/@pcode"> </xsl:apply-templates> </xsl:template> <xsl:template mode="find" match="@pcode"> <!-- grab first occurrence --> <xsl:variable name="x" expr="."/> <xsl:if test="not(from-following(*[@pcode=$x]))"> ====================== Project <xsl:value-of select="$x"/> <xsl:apply-templates select="/from-descendants(project[@pcode=$x][1])"> <xsl:param name="hlours" expr="0"/> <xsl:param name="x" expr="$x"/> </xsl:apply-templates> </xsl:if> </xsl:template> <xsl:template match="project"> <xsl:param-variable name="x" /> <xsl:param-variable name="hours" /> Employee: <xsl:value-of select="../@empcode" />, Hours: <xsl:value-of select="duration/@hours"/> <xsl:apply-templates select="from-following(project[@pcode=$x][1])"> <xsl:param name="hours" expr="$hours+duration/@hours"/> <xsl:param name="x" expr="$x"/> </xsl:apply-templates> <xsl:if test="not(from-following(project[@pcode=$x]))"> Total: <xsl:value-of select="$hours+duration/@hours"/> ====================== </xsl:if> </xsl:template> </xsl:stylesheet> XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: How to find unique element., Duane Nickull | Thread | How to put a DTD in the result tree, Robert C. Lyons |
Re: Multiple XML files, G. Ken Holman | Date | RE: Encoding Problem when convertin, Harbarth, Juliane |
Month |