|
Subject: Re: [xsl] sort | uniq via keys From: "Thomas B. Passin" <tpassin@xxxxxxxxxxxx> Date: Thu, 14 Feb 2002 12:32:02 -0500 |
My post from February 11,2002, with the title "Re: [xsl] Many sets of eyes "
shows how to get a unique list of elements sorted by names (unique meaning
that each element name occurs once). That should be close enough to get you
started.
Cheers,
Tom P
[Saverio Perugini]>
> I am interested in a sorted and uniqed list of all element names in
> an XML file (except for the root), similar to `sort | uniq' in UNIX.
>
> e.g., in the following data,
>
> <db>
> <a>...</a>
> <z>...</z>
> <g>...</g>
> <j>
> <f>...</f>
> <z>...</z>
> <a><o>...</o></a>
> </j>
> <b>...</b>
> <b>...</b>
> </db>
>
> I'd like the following list
>
> a
> b
> f
> g
> j
> o
> z
>
> I am trying to achieve this with keys (unless someone can direct me to
> a simpler method). The following is an initial attempt.
>
> <xsl:key name="features" match="*" use="name()"/>
>
> <xsl:template match="/db">
>
> <xsl:for-each select="following::*[count (. | key('features', name())[1])
= 1]">
> <xsl:sort select="name()" />
> <xsl:value-of select="name()" /><xsl:text>
> </xsl:text>
> </xsl:for-each>
>
> </xsl:template>
>
> <xsl:template match="text()"/>
>
> This is not working out however. It returns an empty file. Does this
> appear to be correct?
>
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
| Current Thread |
|---|
|
| <- Previous | Index | Next -> |
|---|---|---|
| [xsl] differences between fop 0.20 , Bryan Rasmussen | Thread | Re: [xsl] sort | uniq via keys, Wendell Piez |
| Re: [xsl] match on attribute anywhe, Jeni Tennison | Date | [xsl] trouble merging an XHTML and , Bruce Kimpel |
| Month |