Subject: RE: [xsl] Sorting & Grouping From: Satish Patil <Satish.Patil@xxxxxxx> Date: Fri, 27 Apr 2001 09:39:00 -0400 |
Mark, I appreciate your help. I read in documentation that AXIS refers to document order and not sorted order. Ex: If I have a document <parent> <typeA> <id>9</id> </typeA> <typeB> <id>8</id> </typeB> <typeC> <id>6</id> </typeC> <typeB> <id>7</id> </typeB> </parent> I want to sort by <id> and print node name of all the children of the <parent>. If there are consecative nodes with the same node name then node name should be printed once and print "same" for the rest. In the intended o/p is typeA typeB same typeC I used following xsl and it did't work. It prints typeA typeB typeB typeC <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="xml" indent="yes"/> <xsl:template match="/"> <xsl:apply-templates select="parent/*"> <xsl:sort select="id"/> </xsl:apply-templates> </xsl:template> <xsl:template match="typeA"> <xsl:choose> <xsl:when test="self::node()[name(preceding-sibling::*)!= name()]"> Type A </xsl:when> <xsl:otherwise> Same </xsl:otherwise> </xsl:choose> </xsl:template> <xsl:template match="typeB"> <xsl:choose> <xsl:when test="self::node()[name(preceding-sibling::*)!= name()]"> Type B </xsl:when> <xsl:otherwise> Same </xsl:otherwise> </xsl:choose> </xsl:template> <xsl:template match="typeC"> <xsl:choose> <xsl:when test="self::node()[name(preceding-sibling::*)!= name()]"> Type C </xsl:when> <xsl:otherwise> Same </xsl:otherwise> </xsl:choose> </xsl:template> </xsl:stylesheet> Thank you, Satish -----Original Message----- From: Mark Swardstrom To: 'xsl-list@xxxxxxxxxxxxxxxxxxxxxx' Sent: 4/26/01 6:37 PM Subject: RE: [xsl] Sorting & Grouping Then try: <xsl:template match="parent"> <html> <body> <pre> <xsl:apply-templates select="child"> <xsl:sort select="emp_id"/> <xsl:sort select="name"/> </xsl:apply-templates> </pre> </body> </html> </xsl:template> <xsl:template match="child"> <xsl:choose> <xsl:when test="self::node()[not(preceding-sibling::*/emp_id = emp_id)]/emp_id"> <xsl:value-of select="emp_id"/> </xsl:when> <xsl:otherwise> <xsl:text> </xsl:text> </xsl:otherwise> </xsl:choose> <xsl:text> </xsl:text> <xsl:value-of select="name"/> <xsl:text>
</xsl:text> </xsl:template> -----Original Message----- From: Satish Patil [mailto:Satish.Patil@xxxxxxx] Sent: Thursday, April 26, 2001 3:06 PM To: 'xsl-list@xxxxxxxxxxxxxxxxxxxxxx' Subject: RE: [xsl] Sorting & Grouping John, Thank you for the help. But I don't want to print <emp_id> that are repeated. -Satish -----Original Message----- From: John Wang To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Sent: 4/26/01 5:55 PM Subject: RE: [xsl] Sorting & Grouping Try this. I am not sure it is good enough. <?xml version='1.0' encoding='utf-8' ?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:output method="html"/> <xsl:template match="parent"> <html> <body> <xsl:apply-templates select="child"> <xsl:sort select="emp_id"/> <xsl:sort select="name"/> </xsl:apply-templates> </body> </html> </xsl:template> <xsl:template match="child"> <xsl:value-of select="emp_id"/> <xsl:text> </xsl:text> <xsl:value-of select="name"/> <br /> </xsl:template> </xsl:stylesheet> -John -----Original Message----- From: owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx [mailto:owner-xsl-list@xxxxxxxxxxxxxxxxxxxxxx]On Behalf Of Satish Patil Sent: Thursday, April 26, 2001 3:15 PM To: 'xsl-list@xxxxxxxxxxxxxxxxxxxxxx' Subject: [xsl] Sorting & Grouping Hi All, I need help in sorting & grouping. I have a XML <parent> <child> <name>AAAA</name> <emp_id>1</emp_id> </child> <child> <name>BBBBB</name> <emp_id>3</emp_id> </child> <child> <name>CCCC</name> <emp_id>2</emp_id> </child> <child> <name>DDDDD</name> <emp_id>2</emp_id> </child> </parent> How to write an XSL that sorts & groups according to <emp_id>. The intended O/P is 1 AAAA 2 CCCC DDDD 3 BBBB Thank you in advance. XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list 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] Sorting & Grouping, Mark Swardstrom | Thread | RE: [xsl] Sorting & Grouping, Michael Kay |
Re: [xsl] XSL and XMLSchema, Karim Barkati | Date | RE: [xsl] Sorting & Grouping, Michael Kay |
Month |