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 :

[XSL FO] Indices de colonnes


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite Avatar de sozie9372
    Inscrit en
    Mai 2005
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 713
    Par défaut [XSL FO] Indices de colonnes
    Salut !

    Voila, j'ai un fichier XML comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <data><name>Exportation</name>
        <row number = '1'>
            <one>1</one>        <two>2</two>        <three>3</three>        <four>4</four>
        </row>
        <row number = '2'>
              <one>1</one>        <two>2</two>        <three>3</three>
        </row>
    </data>
    Je voudrais générer un fichier PDF sous forme de tableau... Le problème est que je n'arrive pas à passer d'une colonne à l'autre de façon dynamique.
    Voici le template de "row" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <xsl:template match="row">
                    <fo:table-row>
                    <fo:table-cell  column-number="1" >
                            <fo:block color="black" font-size="8pt" line-height="11pt" text-align="start" space-before.optimum="5pt">
                                <xsl:value-of select="one"/>
                            </fo:block> 
                    </fo:table-cell>
                    </fo:table-row>
     </xsl:template>
    J'aimerai pouvoir faire varier column-number en fonction de la balise lue... Je m'explique, pour la balise
    <one> --> column-number = '1'
    <two> --> column-number = '2'
    ...
    Mais de façon dynamique, sans écrire un template à chaque fois... Est-ce possible ?
    Merki !

    +++
    Ju

  2. #2
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    Salut

    pourquoi ne pas faire ceci :
    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
          <xsl:for-each select="./*">
                    <fo:table-cell>
                               <xsl:attribute name="column-number">
                                  <xsl:choice>
                                       <xsl:when test="./name() = 'one'">1</xsl:when>
                                       <xsl:when test="./name() = 'two'">2</xsl:when>
                                       <xsl:when test="./name() = 'three'">3</xsl:when>
                                       <xsl:otherwise />
                                  </xsl:choice>
                               </xsl:attribute>
                            <fo:block color="black" font-size="8pt" line-height="11pt" text-align="start" space-before.optimum="5pt">
                                <xsl:value-of select="."/>
                            </fo:block> 
                    </fo:table-cell>
                 </xsl:for-each>
    si ./name() ne fonctionne pas, essaie de retirer le ./
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

  3. #3
    Membre émérite Avatar de sozie9372
    Inscrit en
    Mai 2005
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 713
    Par défaut
    C'était pas exactement ce que je voulais, je voulais qu'il fasse ca tout seul sans tester à chaque fois
    Mais je m'en suis accomodé, et j'ai fais ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <xsl:for-each select="./*">
                    <fo:table-cell>
                            <fo:block color="black" font-size="8pt" line-height="11pt" text-align="start" space-before.optimum="5pt">
                                <xsl:value-of select="."/>
                            </fo:block> 
                    </fo:table-cell>
                 </xsl:for-each>
    Et ca marche...
    Merki Swoög !
    +++
    Ju

  4. #4
    Expert confirmé
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Par défaut
    malheusement, y'a pas encore de moteur pour traduire automatiquement lettre => chiffre

    mais si tu as trouvé quelque chose qui te convenait tant mieux pense au ^^
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag :resolu: (en bas)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 9
    Dernier message: 21/06/2011, 20h50
  2. [débutant] indice de colonne hors limite
    Par moifistand dans le forum JDBC
    Réponses: 26
    Dernier message: 26/04/2008, 02h18
  3. Convertir nombre en lettre (indice de colonne)
    Par serar dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 08/04/2008, 10h16
  4. Macro Excel indice de colonne
    Par pierrOPSG dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 01/12/2006, 13h41
  5. [XSL~FO] tableau à colonnes variables
    Par matts21 dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 18/09/2006, 15h47

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