IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XSL/XSLT/XPATH XML Discussion :

Générer graph SVG avec XSLT


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Générer graph SVG avec XSLT
    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>

  2. #2
    Membre émérite
    Avatar de polymorphisme
    Homme Profil pro
    Publishing
    Inscrit en
    Octobre 2009
    Messages
    1 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Publishing
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2009
    Messages : 1 460
    Points : 2 372
    Points
    2 372
    Par défaut
    Bonjour,

    je ne crois pas que cela fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <xsl:apply-templates select="child::*">
    <xsl:with-param name="profond" select="$profond+1" />
    <xsl:with-param name="lignePrec" select="$lignePrec+1" />
    </xsl:apply-templates>
    Essai plutot de créer un appel de template avec xsl:call-template.

Discussions similaires

  1. [XSLT] Générer du SVG avec XSLT
    Par soli.f dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 19/03/2007, 09h16
  2. générer un fichier svg avec le bon encoding
    Par TOM-Z dans le forum XML/XSL et SOAP
    Réponses: 3
    Dernier message: 24/08/2005, 17h39
  3. Générer du SVG avec le bon encoding...
    Par TOM-Z dans le forum XMLRAD
    Réponses: 3
    Dernier message: 24/08/2005, 12h34
  4. [XSLT] Générer un HTML avec du FO
    Par virgul dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 27/04/2005, 10h19
  5. traitement des caractères spéciaux avec XSLT
    Par Mirgue dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 19/07/2004, 16h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo