Subject: Re: [xsl] xsl Date Sorting referencing ID and data in a differentNode From: "KUMAR NINGASHETTY" <kningashetty@xxxxxxxxxxxxxxxx> Date: Wed, 08 May 2002 15:59:54 -0400 |
Hello Joerg .. Thanks for your inputs .. I just happened to try this ... It still doesnt seem to sort ...Here is the XSL i wrote adopting your solution ,.....Please advise ... XSL: <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format"> <xsl:key name="distinct-region" match="//company/application" use="region_name"/> <xsl:key name="app-refs" match="//stages/application" use="@idref"/> <xsl:template match="/"> <xsl:for-each select="//rep/company/application[generate-id()=generate-id(key('distinct-region', region_name))]"> <tr> <xsl:value-of select="region_name"/> </tr> <xsl:for-each select="key('distinct-region', region_name)"> <xsl:sort select="key('app-refs',@id)/closedate" order="ascending"/> <table> <tr> <td><xsl:value-of select="./@id"/> ~</td> <td><xsl:value-of select="ssn"/> ~</td> <td><xsl:value-of select="key('app-refs',@id)/closedate"/></td> </tr> </table> </xsl:for-each> </xsl:for-each> </xsl:template> </xsl:stylesheet> For XML: <rep> <company> <application id="768"> <region_name><![CDATA[Region 4]]></region_name> <company_name><![CDATA[ABC Inc.]]></company_name> <ssn>234567890</ssn> </application> <application id="232"> <region_name><![CDATA[Region 4]]></region_name> <company_name><![CDATA[BBC Inc.]]></company_name> <ssn>112334556</ssn> </application> <application id="455"> <region_name><![CDATA[Region 2]]></region_name> <company_name><![CDATA[CCC Inc.]]></company_name> <ssn>667778559</ssn> </application> </company> <stages> <application idref="768"> <closedate>20020321</closedate> <current>decline</current> </application> <application idref="232"> <closedate>20020411</closedate> <current>cancel</current> </application> <application idref="455"> <closedate>20020227</closedate> <current>decline</current> </application> </stages> </rep> Thanks everyone.. -Kumar >>> joerg.heinicke@xxxxxx 05/07/02 07:57PM >>> Hello Kumar, you can add a further key to easily access the application-elements with closedate: <xsl:key name="app-refs" match="stages/application" use="@idref"/> With this key it's a bit easier to access the nodes, with which you want to sort your application-elements. And I would change your first key so, that you are directly getting the application-element. I think the region_name is more or less uninteresting, it's only for grouping. At the end the stylesheet looks like: <xsl:key name="distinct-region" match="company/application" use="region_name"/> <xsl:key name="app-refs" match="stages/application" use="@idref"/> <xsl:template match="/"> <xsl:for-each select="rep/company/application[generate-id()=generate-id(key('distinct-region', region_name))]"> <xsl:value-of select="region_name"/> <xsl:for-each select="key('distinct-region', region_name)"> <xsl:sort select="key('app-refs',@id)/closedate"/> <xsl:value-of select="ssn"/> <xsl:value-of select="key('app-refs',@id)/closedate"/> <xsl:value-of select="key('app-refs',@id)/current"/> </xsl:for-each> </xsl:for-each> </xsl:template> Regards, Joerg > XSL: > > <?xml version="1.0" encoding="iso-8859-1"?> > <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> > > <xsl:key name="distinct-region" match="rep/company/application/region_name" use="text()"/> > <xsl:template match="/"> > <xsl:for-each select="rep/company/application/region_name[generate-id()=generate-id(key('distinct-region', text()))]"> > <xsl:value-of select="text()"/> > > > <xsl:for-each select="key('distinct-region', text())"> > > <xsl:variable name="appid" select="parent::application/@id"/> > > <xsl:value-of select="parent::application/ssn"/> > <xsl:value-of select="ancestor::rep/stages/application[@idref=$appid]/closedate"/> > <xsl:value-of select="ancestor::rep/stages/application[@idref=$appid]/current"/> > > </xsl:for-each> > > </xsl:for-each> > </xsl:stylesheet> > > </xsl:template> > > > Thanks in advance .. > -Kumar XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Javascript looping expres, Zoe Peng | Thread | Re: [xsl] xsl Date Sorting referenc, Joerg Heinicke |
Re: [xsl] Transformation in NetScap, Roma Yankin | Date | RE: [xsl] Transformation in NetScap, Stuart Celarier |
Month |