Subject: [xsl] help on removing duplicates From: juan valentín-pastrana <jvalentin@xxxxxxxxxx> Date: Thu, 20 Jan 2005 22:34:54 +0100 |
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 - -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 out of this xml: <xml> <el> <node>A</node> <rel> <el> <node>X</node> <obj>myobject</obj> </el> </rel> </el> <el> <node>A</node> <rel> <el> <node>X</node> <obj>myobject</obj> </el> </rel> </el> <el> <node>A</node> <rel> <el> <node>Y</node> <obj>myobject</obj> </el> </rel> </el> ... <el> <node>B</node> <rel> <el> <node>X</node> <obj>myobject</obj> </el> </rel> </el> ... </xml> i want to get a list of the first level nodes (A, B, C..) with their related nodes (X, Y, Z...) but removing duplicates, so i'd like to get: A-XY B-X ... but using this -or simmilar principle- basic duplicate removing xsl script: <!-- to avoid node group repetition --> <xsl:template match = "/"> <xsl:apply-templates select="/xml/el[obj='myobject'][not(node=following::node)]"> <xsl:sort select="node" /> </xsl:apply-templates> </xsl:template> <xsl:template match="el"> ... <xsl:value-of select="node">- <xsl:call-template name="XXX"><xsl:with-param name="node" ><xsl:value-of select="node" /></xsl:with-param></xsl:call-template> ... </xsl:template> <xsl:template name="XXX"> <xsl:for-each select="/xml/el[node=$node]/rel/el[obj='myobject'][not(node=following-siblin g::*)]"> <xsl:value-of select="node"> </xsl:for-each> </xsl:template> i wrongly get this: A-XXY B-X ... as i don't have tight performance problems i don't need to resort to muenchian methods, any idea on how to solve this ? thanks - - -- "Sobre lo que no se puede hablar hay que pasar de puntillas" Ludwig Wittgenstein Juan Valentmn-Pastrana jvalentin@xxxxxxxxxx - -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.6 (GNU/Linux) Comment: For info see http://www.gnupg.org iEYEARECAAYFAkHwEvwACgkQWSh8rAinIHn1fgCdHlJ0GWlZihM8JGggL1IQQust 4dsAoIbGp317a1SHaTAS0vfKZlkH53g7 =T0VW - -----END PGP SIGNATURE----- -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.6 (GNU/Linux) Comment: For info see http://www.gnupg.org iEYEARECAAYFAkHwI/4ACgkQWSh8rAinIHnuIACgkfKCplha6/Drzq8fNRfseptc BxcAn1HcpJ7+HBhyUsACUnIj/XFeX5vp =78++ -----END PGP SIGNATURE-----
Current Thread |
---|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] Test a node set based on , Wendell Piez | Thread | Re: [xsl] help on removing duplicat, Juergen |
RE: [xsl] Test a node set based on , Wendell Piez | Date | Re: [xsl] help on removing duplicat, Juergen |
Month |