This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
RE: Distinct items?
- To: xsl-list at lists dot mulberrytech dot com
- Subject: RE: [xsl] Distinct items?
- From: eric at perceive dot net (Eric Vitiello)
- Date: Tue, 27 Mar 2001 14:34:39 -0500
- Reply-To: xsl-list at lists dot mulberrytech dot com
HA! I figured that one out!
two nested for-each loops...
the first select is:
select='//item[not(year = preceding-sibling::item/year)]'
The second level is:
select="/projects/item[year = $x]"
(the second has the x variable defined as the current year in the loop.
Thanksfor your help on the original problem, Edmund!
--Eric
(learning XSLT one small step at a time)
> OK, I just realized another step I'd like to do. My XML is:
>
>
> <projects>
> <item>
> <year>1998</year>
> <title>This is the first item</title>
> </item>
> <item>
> <year>2000</year>
> <title>This is the second item</title>
> </item>
> <item>
> <year>1999</year>
> <title>This is the third item</title>
> </item>
> <item>
> <year>2000</year>
> <title>This is the fourth item</title>
> </item>
> <item>
> <year>1998</year>
> <title>This is the fifth item</title>
> </item>
> </projects>
>
>
> with the following XSLT:
>
> <xsl:for-each select='//item[not(year = preceding-sibling::item/year)]'>
> <xsl:sort select="projects/item/year" data-type="number" order="descending"/>
> <xsl:sort select="projects/item/month" data-type="number"
> order="descending"/> <xsl:sort select="projects/item/day" data-type="number"
> order="descending"/> <xsl:value-of select="year"/>
> </xsl:for-each>
>
> I get:
>
> 1998 1999 2000
>
>
> I would like then to be able to list the data such as:
>
> 1998
> * This is the first item
> * This is the fifth item
>
> 1999
> * This is the third item
>
> 2000
> * This is the second item
> * This is the fourth item
>
>
> Got code for that?
>
> I'm just starting with XSLT, and the syntax of selects, etc keeps throwing me
> off.
> --Eric
>
> > Hello
> > You can use this:
> > select='//item[not(year = preceding-sibling::item/year)]'>
> >
> > I hope that helps
> >
> > Edmund
> >
> > -----Original Message-----
> > From: eric@perceive.net [mailto:eric@perceive.net]
> >
> > I would like to retrieve a list of items such as:
> >
> > 1998 1999 2000
> >
> > from the following XML:
> >
> > <projects>
> > <item>
> > <year>1998</year>
> > </item>
> > <item>
> > <year>1998</year>
> > </item>
> > <item>
> > <year>1999</year>
> > </item>
> > <item>
> > <year>2000</year>
> > </item>
> > <item>
> > <year>2000</year>
> > </item>
> > </projects>
> >
> >
> >
> >
> >
> > 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