salut,
j'ai une XML qui contient des données numerique (pour etre exact: des resultats des tests dans une école), je voudrais bien etre capable de les presenter dans une sorte de graphique pour qu'on peut vite "voir" l'evolution d'elève.
pour cela j'ai construit une fichier xslt pour le transformer en svg (on utilize firefox, qui a du support pour svg donc c'est parfait
ben, pour faire des test j'ai la suite pour xml
en une XSLT
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <?xml version="1.0" encoding="ISO-8859-1"?> <?xml-stylesheet type="text/xsl" href="xml2svg.xsl"?> <list> <value>1</value> <value>7</value> <value>6</value> <value>2</value> <value>3</value> <value>5</value> </list>
si j'ouvre le xml en firefox il prend le xslt automatiquement et le resultat est parfait (et moche en plus
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 <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" media-type="image/svg+xml" encoding="iso-8859-1" indent="yes" /> <xsl:template match="/"> <svg width="320" height="100" version="1.1" xmlns="http://www.w3.org/2000/svg"> <xsl:for-each select="list/value"> <xsl:element name="rect"> <xsl:variable name="_hi"><xsl:value-of select="."/></xsl:variable> <xsl:attribute name="x"><xsl:value-of select="0+((position()-1)*20)"/></xsl:attribute> <xsl:attribute name="y"><xsl:value-of select="100-($_hi*10)"/></xsl:attribute> <xsl:attribute name="width">20</xsl:attribute> <xsl:attribute name="height"><xsl:value-of select="$_hi*10"/></xsl:attribute> <xsl:attribute name="style">fill:rgb(0,0,255)</xsl:attribute> </xsl:element> </xsl:for-each> </svg> </xsl:template> </xsl:stylesheet>)
pour le HTML je dois utillise "iframe"
la probleme c'est que apparament je ne peut que utillise l'attribu "src" pour charger mon svg, mais je doit etre capable de charger la svg directement sans que je dois la sauvegarder quelquepart apres avoir transformer le xml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <iframe src="test.svg" id="SVGFrame" width="320" height="100" frameborder="0" scrolling="no"/>
est-ce que vous savez une methode qui peut m'aider ?
merci
(PS: les javascripts utillisez pour ka XSLT fonctionne parfaitement pour des tables qu'on peut just ajouter aver .INNERHTML , je voudrais faire just quelque chose comme ca avec mon svg)
Partager