Bonjour,

Je souhaiterai afficher un graphique pour des données contenues dans un fichier XML grâce à la feuille XSL. Bon je n'y arrive pas du tout...

Voila ce que j'ai actuellement :

Le fichier XML:
Il est constitué d'une répétition de noeuds (comptage) avec des types différents.
Mais c'est moi qui le génère, donc si je dois le modifier pour faciliter le problème c'est possible.
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?xml-stylesheet href="panorama.xsl" type="text/xsl" ?>
<Rapport type="Panorama">
	<Comptage type="Individus">
		<Indicateur>Individus</Indicateur>
		<Period>11/2013</Period>
		<MoyenneIndicateur>254865</MoyenneIndicateur>
	</Comptage>
	<Comptage type="Individus">
		<Indicateur>Individus</Indicateur>
		<Period>12/2013</Period>
		<MoyenneIndicateur>265789</MoyenneIndicateur>
	</Comptage>
	<Comptage type="nbTelephone">
		<Indicateur>nbTelephone</Indicateur>
		<Period>11/2013</Period>
		<MoyenneIndicateur>55962</MoyenneIndicateur>
	</Comptage>
	<Comptage type="nbTelephone">
		<Indicateur>nbTelephone</Indicateur>
		<Period>12/2013</Period>
		<MoyenneIndicateur>60258</MoyenneIndicateur>
	</Comptage>
	<Comptage type="nbEmail">
		<Indicateur>nbEmail</Indicateur>
		<Period>11/2013</Period>
		<MoyenneIndicateur>137500</MoyenneIndicateur>
	</Comptage>
	<Comptage type="nbEmail">
		<Indicateur>nbEmail</Indicateur>
		<Period>12/2013</Period>
		<MoyenneIndicateur>155000</MoyenneIndicateur>
	</Comptage>
</Rapport>

Le fichier XSL
Il référence jquery et morris.js pour réaliser mon graphique et lire le XML.
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="utf-8" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
 
<xsl:template match="/">
	<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
		<meta name = "viewport" content = "initial-scale = 1, user-scalable = no" />
		<title>Rapport - <xsl:value-of select="Rapport/@type"/></title>
 
    	<link href="morris/morris.css" rel="stylesheet" />
	</head>
	<body>
		<div id="graph"></div>
 
		<script type="text/javascript" src="morris/jquery-1.11.0.min.js"></script>
		<script type="text/javascript" src="morris/raphael-min.js"></script>
		<script type="text/javascript" src="morris/morris.min.js"></script>
 
		<script>
			//Ici le code JS pour générer mon graphique
		</script>
	</body>
	</html>
</xsl:template>
</xsl:stylesheet>

Alors mon souci est le suivant :
Je ne vois pas du tout comment parcourir mon XML afin de générer les objets data/xkey/ykeys/labels pour mon mon JS qui génère le graphique.
J'ai bien essayer quelque truc, mais si je les passe à morris (j'adore ce nom ) ca ne lui va pas du tout et du coup je ne sais pas trop quoi faire
Voila mon code actuel qui correspond a la dernière balise script de mon fichier XSL
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
$(function () {
	$.ajax({
		type: "GET", 
		url: "panorama.xml",
		dataType: "xml",
		success: function(xml){
			var indic = {};
			$(xml).find("Fichier").each(function(){
				indic[$(this).attr('type')] = true; 
			});
			var resIndic = new Array();
			for(var i in indic){
				resIndic.push(i);
			}
			var Indicateurs = JSON.stringify(resIndic);
			console.log('Indicateurs : ' + Indicateurs);
			var Period = {};
			$(xml).find("Fichier").find("Period").each(function(){
				Period[$(this).text()] = true; 
			});
			var resPeriod = new Array();
			for(var i in Period){
				resPeriod.push(i);
			}
			var Periods = JSON.stringify(resPeriod);
			console.log('Periods : ' + Periods);
			new Morris.Area({
				element: 'graph',
				behaveLikeLine: true,
				data: [
					{x: '2011 Q1', y: 3, z: 3},
					{x: '2011 Q2', y: 2, z: 0},
					{x: '2011 Q3', y: 2, z: 5},
					{x: '2011 Q4', y: 4, z: 4} 
				],
				xkey: 'x',
				ykeys: ['y', 'z'],
				labels: ['Y', 'Z']
			});
		}
	});
});

Et petite question supplémentaire en passant :
Vu qu'on est dans la feuille XSL pour le fichier XML,
il n'y a pas une autre solution pour parcourir le fichier, car la je suis obligé de passer le nom du fichier a l'AJAX, ça me parait étrange...

Voila,

Par avance merci si quelqu'un peu m'aider pour ce souci

Ghosty