Subject: [xsl] Sorting problem From: crestall@xxxxxxxxxxx Date: Sun, 23 Feb 2003 16:59:21 -0700 |
Hi All, I'm stumped on this one. I'm attempting to duplicate this xml but with the <days> sorted by @sortID for each <DeliveryMethod>. The first sorting of <days> for the first <DeliveryMethod> works as it should however <days> for the second <DeliveryMethod> are not output. I've tried various methods but cannot get the second grouping to output. Any suggestions: ----Sample XML----- <CustomerDeliveryDays> <DeliveryDays Calculate="1" TimeOffset="0" MaxDaysOut="7"> <DeliveryMethod Type="1" Desc="Standard (Truck)"> <Day OrderDate="0" DayIndex="4" DeliveryTime="00:00" DeliveryDescription="" DeliveryDate="2/26/2003 12:00:00 AM" DateDifference="0" SortID="111"/> <Day OrderDate="0" DayIndex="2" DeliveryTime="00:00" DeliveryDescription="" DeliveryDate="2/24/2003 12:00:00 AM" DateDifference="0" SortID="63"/> </DeliveryMethod> <DeliveryMethod Type="2" Desc="Will Call / Pickup "/> <Day OrderDate="0" DayIndex="4" DeliveryTime="00:00" DeliveryDescription="" DeliveryDate="2/26/2003 12:b00:00 AM" DateDifference="0" SortID="111"/> <Day OrderDate="0" DayIndex="2" DeliveryTime="00:00" DeliveryDescription="" DeliveryDate="2/24/2003 12:00:00 AM" DateDifference="0" SortID="63"/> </DeliveryDays> </CustomerDeliveryDays> ----XSL---- <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" encoding="UTF-8" indent="yes"/> <xsl:template match="/"> <CustomerDeliveryDays> <xsl:apply-templates select="CustomerDeliveryDays/DeliveryDays"/> </CustomerDeliveryDays> </xsl:template> <xsl:template match="CustomerDeliveryDays/DeliveryDays"> <DeliveryDays> <xsl:call-template name="AddAllAttributes" /> <xsl:for-each select="DeliveryMethod"> <DeliveryMethod> <xsl:call-template name="AddAllAttributes" /> <xsl:call-template name="GetDays" /> </DeliveryMethod> </xsl:for-each> </DeliveryDays> </xsl:template> <xsl:template name="GetDays"> <xsl:for-each select="Day"> <xsl:sort select="@sortID" order="ascending"/> <Day> <xsl:call-template name="AddAllAttributes" /> </Day> </xsl:for-each> </xsl:template> <xsl:template name="AddAllAttributes"> <xsl:for-each select="@*"> <xsl:attribute name="{name(.)}"><xsl:value-of select="."/></xsl:attribute> </xsl:for-each> </xsl:template> </xsl:stylesheet> Thanks in advance, Chris Restall XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Looping on a set value, Michael Kay | Thread | RE: [xsl] Sorting problem, Dion Houston |
Re: [xsl] different first element i, Lorenzo De Tomasi | Date | RE: [xsl] Sorting problem, Dion Houston |
Month |