Page 1 sur 1

Mise en page d'uen playlist iTunes

Posté : 26 nov. 2005, 14:42
par Sined
Bonjour,
J'aiemrais partager la liste d emes musique sur internet sauf qu'un fichier xml brut (sans mise en page CSS ou XSL) c'est pas très beau à regarder...
Le problème c'est que le fichier se présente comme sa pour chanque musique :

Code : Tout sélectionner

<key>548</key> <dict> <key>Track ID</key><integer>548</integer> <key>Name</key><string>A Cause des Garçons</string> <key>Artist</key><string>A Cause des Garçons</string> <key>Composer</key><string>A. Chamfort/P. Grillet</string> <key>Album</key><string>Club 80's, Vol. 2 Disc 1</string> <key>Genre</key><string>Rock</string> <key>Kind</key><string>Fichier audio MPEG</string> <key>Size</key><integer>2846261</integer> <key>Total Time</key><integer>177815</integer> <key>Track Number</key><integer>6</integer> <key>Year</key><integer>2001</integer> <key>Date Modified</key><date>2005-09-03T20:13:32Z</date> <key>Date Added</key><date>2005-11-17T17:36:39Z</date> <key>Bit Rate</key><integer>128</integer> <key>Sample Rate</key><integer>44100</integer> <key>Play Count</key><integer>2</integer> <key>Play Date</key><integer>-1079362175</integer> <key>Play Date UTC</key><date>2005-11-23T14:38:41Z</date> <key>Season</key><integer>0</integer> <key>Persistent ID</key><string>05F686918CC25F6B</string> <key>Track Type</key><string>File</string> <key>Location</key><string>file://localhost/J:/Various%20Artists/Club%2080's,%20Vol.%202%20Disc%201/06%20A%20Cause%20des%20Gar%C3%A7ons.mp3</string> <key>File Folder Count</key><integer>-1</integer> <key>Library Folder Count</key><integer>-1</integer> </dict>
Donc chaque balise pour le titre, le genre, l'artiste... sont les mêmes donc pour faire de la présentation en CSS je ne sais pas comment faire :o
Pour une liste beuacoup plus simple j'arrive à faire des choses comme sa : http://abc.verygames.net/musique/liste.php
Merci d'avance!

Posté : 26 nov. 2005, 14:48
par jeff
salut je suis pas sur que tu utilise bien xml
je farais plustot de cette facon

Code : Tout sélectionner

<chanson> <artiste> <album type="" dure="" date=""> <chanson titre="" dure="" description=""></chanson> </album> </artiste> </chanson>
c'est une facon de faire
et apres avec xsl tu traite les bloc de la facon que tu

ps:je suis pas sur d'avoir repondue a tes questions??

Posté : 26 nov. 2005, 14:50
par Sined
salut je suis pas sur que tu utilise bien xml
je farais plustot de cette facon

Code : Tout sélectionner

<chanson> <artiste> <album type="" dure="" date=""> <chanson titre="" dure="" description=""></chanson> </album> </artiste> </chanson>
c'est une facon de faire
et apres avec xsl tu traite les bloc de la facon que tu

ps:je suis pas sur d'avoir repondue a tes questions??
Le xml c'est pas moi qui le crée c'est iTunes en fonction des musiques qu'il y a sur mon PC.

Posté : 26 nov. 2005, 22:56
par Invité
l'xml à comme doctype "plist", le format des préférences du système OS X d'Apple.

Voici un petit exemple pour créer un document xml comme ceci :

Code : Tout sélectionner

<chansons> <chanson> <artiste>Leonard Cohen</artiste> <album>I'm Your Man</album> <titre>Jazz Police</titre> </chanson> <chanson> <artiste>Leonard Cohen</artiste> <album>More Best Of</album> <titre>Take This Waltz</titre> </chanson> <chanson> <artiste>Leonard Cohen</artiste> <album>Songs of Love and Hate</album> <titre>Sing Another Song, Boys</titre> </chanson> </chansons>

Code : Tout sélectionner

<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="/"> <chansons> <xsl:apply-templates select="/*/*/dict[1]/dict"/> </chansons> </xsl:template> <xsl:template match="dict"> <chanson> <artiste> <xsl:value-of select="child::*[preceding-sibling::* = 'Artist']"/> </artiste> <album> <xsl:value-of select="child::*[preceding-sibling::* = 'Album']"/> </album> <titre> <xsl:value-of select="child::*[preceding-sibling::* = 'Name']"/> </titre> </chanson> </xsl:template> </xsl:stylesheet>
Pour les autres rubriques, il suffit de faire du copier-coller de la ligne

Code : Tout sélectionner

<xsl:value-of select="child::*[preceding-sibling::* = 'xxx']"/>
Et de remplacer "xxx" par la valeur de l'élément "key" souhaité.

Dans "plist", en gros, la valeur de chaque élément "key" indique le nom du contenu de l'élément qui le suit immédiatement.