Bonjour, j'aimerais g�n�rer ma feuille xml (compos�e que d'�l�ments) en un arbre graphique svg. Cependant je n'arrive pas � repr�senter les lignes des cases � l'int�rieur desquelles est marqu�e le nom de l'�l�ment.
Il y a des fautes mais je veux juste arriver � g�n�rer les lignes des cases
Merci pour la r�ponse
Voici un peu le code :
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlnssl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/2000/SVG/Transform">
<xsl:output method="xml" version="1.0" encoding="ISO-8859-1"
indent="yes" />
<xsl:param name="text.style" select="'fill:#000000;stroke:none;'" />
<xsl:param name="handle.path.style"
select="'stroke-width:0.5;stroke-miterlimit:3;fill:none;'" />
<xsl:param name="graph.style">
fill-rule:nonzero;clip-rule:nonzero;fill:#FFFFD0;
stroke:#000000;stroke-miterlimit:4; font-family:'ArialMT';
font-size:12;
</xsl:param>
<xsl:param name="handles" select="'true'" />
<xsl:param name="root.handle" select="'false'" />
<xsl:param name="boxes" select="'true'" />
<xsl:param name="letterHeight" select="8" />
<xsl:param name="letterWidth" select="8" />
<xsl:param name="x0" select="20" />
<xsl:param name="y0" select="20" />
<xsl:param name="rowHeight" select="20" />
<xsl:param name="columnWidth" select="20" />
<xsl:param name="boxHeight" select="16" />
<xsl:include href="string-width.xslt" />
<!-- Pour rejeter tous les textes -->
<xsl:template match="text()" />
<!-- Rajouter le texte ici -->
<xsl:template match="/">
<svg>
<g style="graph.style">
<xsl:apply-templates select="child::*" />
</g>
</svg>
</xsl:template>
<xsl:template match="*">
<xsl:param name="profond" select="0" />
<xsl:param name="lignePrec" select="0" />
<xsl:variable name="longueur">
<xsl:call-template name="string-width">
<xsl:with-param name="s" select="name()" />
</xsl:call-template>
</xsl:variable>
<p>
<rect x="{$x0+$columnWidth*$profond}" y="{$y0+$rowHeight*$lignePrec}"
width="{$longueur}" height="$rowHeight" />
<text x="{$x0+$columnWidth*profondeur}" y="{$y0+$rowHeight}"
style="{$text.style}">
<xsl:value-of select="name()" />
</text>
</p>
<xsl:apply-templates select="child::*">
<xsl:with-param name="profond" select="$profond+1" />
<xsl:with-param name="lignePrec" select="$lignePrec+1" />
</xsl:apply-templates>
</xsl:template>
</xsl:stylesheet>




R�pondre avec citation




Partager