bonjour,
je me questionne sur la meilleure façon d'inclure un svg dans une page html.
Je produis des graphiques avec le module perl ttgraph qui me donne ce genre de chose
http://leo.cuckoo.org/projects/SVG-T...t_expanded.svg
Comme il n'y avait pas d'exemple d'inclusion, j'ai pensé qu'il fallait extraire le noeud svg du document, le placer dans un xml et traiter le tout avec un xslt de ce typece qui fonctionne. Ensuite je me suis dit qui si j'avais besoin du svg ailleurs, j'étais marron. J'ai finalement fait un include
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <?xml version="1.0"?> 2 3 <xsl:stylesheet version="1.0" 4 xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 5 xmlns="http://www.w3.org/2000/svg" 6 xmlns:xlink="http://www.w3.org/1999/xlink" 7 > 8 <xsl:output 9 method="xml" 10 indent="yes" 11 standalone="no" 12 doctype-public="-//W3C//DTD SVG 1.0//EN" 13 doctype-system="http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd" 14 media-type="image/svg" />
et maintenant je viens de voir qu'on peut tout simplement inclure le svg avec une balise image ou object
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 </div> <xsl:element name="svg"> <xsl:variable name="ad_a">///Users/mac/Produits/svg/</xsl:variable> <xsl:variable name="ad_b">.xml</xsl:variable> <xsl:variable name="adresseSvg" select="concat($ad_a,$nom_x,$ad_b)"/> <xsl:attribute name="width"> <xsl:value-of select="document($adresseSvg)//glob/musique_svg/@width" /> </xsl:attribute> <xsl:attribute name="height"> <xsl:value-of select="document($adresseSvg)//glob/musique_svg/@height" /> </xsl:attribute> <xsl:attribute name="viewBox"> <xsl:value-of select="document($adresseSvg)//glob/musique_svg/@viewBox" /> </xsl:attribute> <xsl:value-of select="document($adresseSvg)//glob/musique_svg" /> </xsl:element> <div>
Ma question est : comment faut il faire finalement ?
Partager