Je commence de plus en plus à m'intéresser aux possibilités que permettent le SVG (article wikipédia sur le SVG) (pages d'exemples Svg de Mozilla).

Etant donné qu'il n'est pas supporté par IE nativement (et je pense que le % d'utilisateur ayant le plugin SVG doit etre proche de 0), un site web a t'il intérêt à se lancer dans son utilisation ?

C'est l'éternel problème du webmaster. Si le standard n'est pas compris par IE, le webmaster ne l'utilisera pas. Si le standard n'est pas utilisé, quel intérêt a t'il d'exister ? Bien que les alternatives à IE ne cesse de progresser, IE reste dominant sur le marché. Pour faire avancer le web dans le bon sens, il faudrait passer outre cette non-reconnaissance par IE, mais commercialement parlant ce n'est pas valable => paradoxe et immobilisme (en attendant les maj de IE).

J'observe la même chose avec le Css et les hack spécialement conçu pour IE.

Bref j'aurais aimé connaître vos avis sur la question et si un spécialsite du Svg pouvait me renseigner sur la démarche de mon idée de faire ceci en Svg :

Dans un fichier xml on a :
<note>8</note>........

Au final je veux obtenir un rectangle qui sera plus ou moins rempli en fonction de la note du fchier xml.

Donc en Svg on créera un rectangle de fond de hauteur 100px de couleur rouge par ex, et un rectangle dynamique de couleur verte dont la hauteur sera fixé par la variable issu du fichier xml (ici une hauteur de 80px).

Pour extraire cette variable, peut on en svg piocher ds le document xml on doit on passer par une variable php ?
Modifié par Bellami (26 Apr 2007 - 21:11)
bonjour ,

au delà de l'implémentation du SVG sur IE (via une extension) , le SVG est de plus en plus une format graphique qui est associé aux Mobiles (java + svg).

Pour ce qui est de la transformation (ou utilisation ) de données XMl , dans ton cas il me semble que la meilleure solution serait l'utilisation de XSL pour créer dynamiquement un rectangle dans ce format (avec cet avantage qu'ils sont tous les 2 des langages XML)

Il faut prendre en compte également le support des navigateurs de transformation XSLT (processeur xsl) et savoir si l'on veut effectuer plutot ce traitement coté client ou coté serveur ...

Mais il est tout à fait possible d'utiliser en plus le DOM pour extraire des données d'un document XML et les attribuer ( variables javascript) à un fichier Svg

Les possibilité du Svg sont infinies ... mais son plus gros handicap est ( et restera !!?) son implémentation sur IE (il ne faut pas s'attendre que l'utilisateur installera le plug nécessaire) ...mais on parle toujours ( et encore Smiley lol ) d'une version IE avec svg en natif , et je crois toujours au Père Noel Smiley langue )

un simple exemple avec xsl (avec Javascript incorporé pour le coté dynamique)

fichier XMl :

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="data_exo1.xslt"?>

<data>
  <form id="rect1"
        x="10"
        y="10"
        height="100"
        width="100"
        fill="red">
  </form>
  <form id="rect2"
        x="100"
        y="10"
        height="100"
        width="100"
        fill="green">      
  </form>
</data>


fichier de transformation Xsl :

<xsl:stylesheet version="1.0"
                xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                xmlns:xlink="http://www.w3.org/1999/xlink"
                xmlns="http://www.w3.org/2000/svg">

<xsl:output method="xml" encoding="UTF-8"/>

<xsl:template match="/">
  <svg version="1.1"
       baseProfile="full"
       xmlns="http://www.w3.org/2000/svg"
       xmlns:xlink="http://www.w3.org/1999/xlink">
       <script type="text/ecmascript">
         function change(obj) {
           if(obj.getAttribute('fill')=="red")
             {
              obj.setAttribute('fill','yellow');
             }
           if(obj.getAttribute('fill')=="green")
             {
             obj.setAttribute('fill','rgb(225,165,0)');
             }
           }
           
       </script>
       <!-- declenchement de regles
            selection des noeuds -->
            <xsl:apply-templates select="data"/>
  </svg>
</xsl:template>
<!-- les regles a appliquer selon la designation des noeuds -->

<!-- designation par attribut et identifiant -->
<xsl:template match="data/form">
<xsl:element name="rect">
    <xsl:attribute name="x"><xsl:value-of select="@x"/></xsl:attribute>
    <xsl:attribute name="y"><xsl:value-of select="@y"/></xsl:attribute>
    <xsl:attribute name="width"><xsl:value-of select="@width"/></xsl:attribute>
    <xsl:attribute name="height"><xsl:value-of select="@height"/></xsl:attribute>
    <xsl:attribute name="fill"><xsl:value-of select="@fill"/></xsl:attribute>
    <!-- evenement -->
    <xsl:attribute name="onclick">alert('ma couleur : <xsl:value-of select="@fill"/>')</xsl:attribute>
    <xsl:attribute name="onmouseover">change(this)</xsl:attribute>
</xsl:element>
</xsl:template>

</xsl:stylesheet>


en utilsant les memes "nom" d'attributs dans le fichier de données xml que les attributs nécessaies pour la création d'une forme rectangulaire on simplifie l'écriture des requetes Xpath xsl:value-of select="@x" .

j'ai rajouté un peu de JS pour montrer qu'il est facile d'insérer un petti script
Modifié par kzone (29 Apr 2007 - 09:21)
...
je ne sais si cela change quelque chose à l'interêt ou non de l'utilisation du SVG , mais je pense que le projet silverlight peut changer la donne ( bien que selon microsoft , puisqu'il s'agit d'un projet Microsoft c'est bien plus pour "contrer" le Flash que de concurrencer le Svg ... mais alors pourquoi avoir créer Xaml !? Smiley lol )
Tiens, un peu de lecture exactement sur ce thème sur le blog de Dave Shea: SVG please?. Et la conclusion du maître est
Dave Shea a écrit :

Overall, it seems there’s some decent momentum happening right now. I’m cautiously optimistic that some day in the next few years, we’ll actually see a usable subset of SVG across the board. I just wonder what we’ll use for authoring tools…
....

le "grande question" reste est-ce qu'un jour Internet Explorer supportera le Svg en Natif ( c'est semble t-il dans les projets 'à long terme' de Microsoft' Smiley lol ), tous les navigateurs 'alternatifs ' l'ayant fait (Safari , Konquror, Opera , firefox et SeaMonkey, ...).

Mais est-ce la volonté de ces derniers !?
Il y a une discussion ces derniers jour sur le forum Yahoo SVG Group et ça bataille ferme Smiley langue
Pour ce qui est de "l'avancée" du web dans le futur, tout en gardant IE dans les navigateurs "acceptés" (on s'comprend hein: créer un site avec beaucoup de xml (ici, plus particulièrement svg) tout en permettant aux utilisateurs d'IE de visiter en toute aisance le site),
pourquoi ne pas proposer deux versions de sites Smiley lol

wé wé wé, en effet, "Deux fois l'boulot mais il pas bien lui !"
d'un autre côté: imaginez !

Page 1:
- bannière dynamique SVG
- un texte appelé depuis un fichier html externe
- un menu appelé de la même façon

=> Page 1: XHTML 1.0 (application/xhtml+xml), extension .php

Page 2:
- bannière simple, PNG
- un texte appelé depuis un fichier html externe
- un menu appelé de la même façon

=> Page 2: XHTML 1.0 (text/html), extension PHP

Dans les deux cas, seul la base des deux versions est différentes.
XHTML 1.0 interprêté différemment selon le MIME type permet de ne pas ré-écrire deux fois le même texte avec des règles de balisages différents

Le boulot a déjà grandement diminué non ? Smiley lol