Ik probeer de daap/itunes xml output te parsen (Dus niet de library.xml). Dit heeft de volgende layout:
Elke track heeft dus een dmap.listingitem. Ik wil hieruit een lijst genereren die er zo uit ziet:
Mijn vraag: Hoe krijg ik alle tracks die bij het betreffende album horen binnen die for-each in een lijstje?
Ik heb al een nested for-each geprobeerd, maar dit zorgde bij 2500 albums voor het crashen van mn browser
XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| <daap.databasesongs> <dmap.listing> <dmap.listingitem> <daap.songalbum>Album</daap.songalbum> <daap.songartist>Artiest</daap.songartist> <daap.songbitrate>192</daap.songbitrate> <dmap.itemid>1</dmap.itemid> <daap.songformat>mp3</daap.songformat> <dmap.itemname>Tracknaam</dmap.itemname> <daap.songsize>123456789</daap.songsize> <daap.songtrackcount>1</daap.songtrackcount> <daap.songtracknumber>1</daap.songtracknumber> <daap.songyear>2006</daap.songyear> </dmap.listingitem> </dmap.listing> </daap.databasesongs> |
Elke track heeft dus een dmap.listingitem. Ik wil hieruit een lijst genereren die er zo uit ziet:
- Artist1 - Album
- Track1
- Track2
- Artist2 - Album
- Track1
- Track2
- Artist1 - Album
- Artist2 - Album
XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| <xsl:key name="songsByAlbum" match="daap.songalbum" use="."/> <xsl:for-each select="/daap.databasesongs/dmap.listing/dmap.listingitem[generate-id(daap.songalbum)=generate-id(key('songsByAlbum',daap.songalbum))]"> <xsl:sort select="daap.songartist"/> <xsl:variable name="Artist" select="daap.songartist"/> <ul> <li> <xsl:value-of select="$Artist"/> - <xsl:value-of select="daap.songalbum"/> <ul> <!-- Hier moeten de tracks komen --> </ul> </li> </ul> </xsl:for-each> |
Mijn vraag: Hoe krijg ik alle tracks die bij het betreffende album horen binnen die for-each in een lijstje?
Ik heb al een nested for-each geprobeerd, maar dit zorgde bij 2500 albums voor het crashen van mn browser