Subject: RE: [xsl] XSLT sort From: Tomas Olsson <tomas.olsson@xxxxxxxxxxxxxxxxxxxxxxxx> Date: Thu, 20 May 2004 21:06:53 +0200 |
<xsl:template match="Katalog"> <xsl:copy> <xsl:apply-templates select="Person"> <xsl:sort select="@enamn"/> </xsl:apply-templates> </xsl:copy> </xsl:template>
<xsl:template match="Person"> <xsl:copy-of select="."/> </xsl:template> </xsl:stylesheet>
> > I get some weird problems with this XSLT. If a element has the same > attribute "enamn" like another element, it gets duplicated. > > > <xsl:template match="@enamn"> > <xsl:for-each select="key('mykey',.)"> > <xsl:copy-of select="."/> > </xsl:for-each> > </xsl:template> >
key('mykey',.) selects all the elements that have a value for mykey equal to the value of the context node. So this will do exactly what you describe: each time you hit the value X, it will output one copy of each node whose value is X.
I don't know what you're trying to achieve by using a key here.
Michael Kay
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] XSLT sort, Michael Kay | Thread | RE: [xsl] XSLT sort, Michael Kay |
RE: [xsl] XML to XML, Reece, Michael Clark | Date | Re: [xsl] XSLT sort, Tomas Olsson |
Month |