Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Autres langages pour le Web
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/05/2007, 03h24   #1
Membre du Club
 
Inscription : mai 2007
Messages : 149
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 149
Points : 53
Points : 53
Par défaut [SVG] SVG qui ne fonctionne pas sous IE

Bonjour,
j'ai une feuille XSLT qui transforme un xml en svg, elle a très bien fonctionné jusqu'ici, je lui ai apporté une modification et maintenant elle ne fonctionne plus du tout sous IE avec le plugin ADobe. Pourtant sous Firefox, elle n'as jamais céssé de fonctionner. Le problème c'est que je ne sais pas d'ou vient l'erreur; la page sous ie reste blanche.

Je vous donne le fichier xml et la feuille de style pour info
Fichier XML
Code :
1
2
3
4
5
6
7
<?xml version="1.0" encoding="iso-8859-1" standalone="yes" ?>
<?xml-stylesheet type="text/xsl" href="histogramme.xsl" ?>
<dataset>
<donnee value="" count="23" />
<donnee value="F" count="11" />
<donnee value="M" count="10" />
</dataset>
histogramme.xsl
Code :
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:param name="Ox" select="0" />
<xsl:param name="largeur_barre" select="100" />
<xsl:param name="pas_y" select="5" />
<xsl:param name="intervalle" select="20" />
<xsl:param name="taille_police" select="40" />

<!--Ici on cherche à retrouver la racine du document xml, dans ce cas la racine est data-->
<xsl:template match="dataset">

<!-- On définit la taille du document svg-->
<!--
<svg height="480px" width="700px"  viewBox="0 0 800 300" preserveAspectRatio="xMinYMid meet"
     xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
	--> 
	<svg height="100%" width="100%"  viewBox="0 0 800 300" preserveAspectRatio="meet"
     xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
  <!--<rect height="480px" width="700px" stroke="blue" fill="none" />-->
<g transform="scale(0.5 0.5)">

<!-- On définit une variable qui va representer la position en x des éléments-->

<!-- Pour chaque mot rencontré-->
<xsl:for-each select="donnee">
     <xsl:sort select="@count" data-type ="number" order = "descending" />
<xsl:variable name="couleur">
<xsl:choose>
<xsl:when test="position() mod 5 = 1">red</xsl:when>
<xsl:when test="position() mod 5 = 2">yellow</xsl:when>
<xsl:when test="position() mod 5 = 3">green</xsl:when>
<xsl:when test="position() mod 5 = 4">purple</xsl:when>
<xsl:otherwise>orange</xsl:otherwise>
</xsl:choose>
</xsl:variable>

<xsl:variable name="posx" select="position()*($largeur_barre+$intervalle) + $Ox "/>
<xsl:variable name="pos" select="position()+20"/>
<xsl:variable name="decompte" select="@count"/>
<xsl:variable name="nombreoccurence" select="@count*10"/>
<!--La variable posy représente la position en y des éléments. Elle est donnée par la fonction position() qui renvoie la position de l'élément dans l'abre xml. Je la multiplie par 120 pour espacer chaque element-->
<xsl:variable name="posy" select="position()"/>
<!--On applique une transformation telle que le mot soit affiché en diagonale-->
<g transform="translate({$posx + $largeur_barre div 2 },{$pos}) rotate(50)">
     <!--Affichage du mot   -->
     <text font-size="40" > <xsl:value-of select="@value"/></text>
</g>


<g transform="translate({$posx}, {$posy - $nombreoccurence})">
<rect width="{$largeur_barre}" height="{$nombreoccurence}" fill="{$couleur}" />
<text x="{($largeur_barre - $taille_police)  div 2}" y="-20"  font-size="{$taille_police}" >
<xsl:value-of select="$decompte"/>
</text>
</g>

</xsl:for-each>
</g>
</svg>
</xsl:template>

</xsl:stylesheet>
bilou972 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/07/2007, 11h43   #2
Nouveau Membre du Club
 
Inscription : décembre 2004
Messages : 58
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : décembre 2004
Messages : 58
Points : 30
Points : 30
Envoyer un message via MSN à petitsims
Bonjour,

Peux tu me dire qu'elle est la modification qui tu as fait que je puisse savoir ou chercher...

Merci.
Séb.
petitsims est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/08/2007, 17h27   #3
Membre du Club
 
Inscription : mai 2007
Messages : 149
Détails du profil
Informations forums :
Inscription : mai 2007
Messages : 149
Points : 53
Points : 53
Je ne m'en souviens vraiment plus. Du coup étant donné que je devais remettre le travail j'ai dû opter pour une solution ou le php génère directement le svg.
bilou972 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h05.


 
 
 
 
Partenaires

Hébergement Web