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] Tableau avec 2 colonnes


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2006
    Messages
    196
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 196
    Par défaut [XSL-FO] Tableau avec 2 colonnes
    Bonjour,

    J'ai un fichier XML qui ressemble à cela

    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
    18
     
    <MOIS mois=1>
       <NOM>Toto</NOM>
       <NOM>Titi</NOM>
       <NOM>Tutu</NOM>
    </MOIS>
    <MOIS mois=2>
       <NOM>Lolo</NOM>
       <NOM>Lili</NOM>
    </MOIS>
    <MOIS mois=3>
       <NOM>Blop</NOM>
    </MOIS>
    <MOIS mois=4>
       <NOM>Zaza</NOM>
       <NOM>Zuzu</NOM>
       <NOM>Zozo</NOM>
    </MOIS>
    Par la suite, ce code me permet de créer un fichier PDF.
    Ce que je voudrai faire, c'est afficher un tableau sur 2 colonnes :
    1 | 2
    -----
    3 | 4
    J'ai essayé de créer un fichier en XSL-FO mais je n'arrive pas à créer 2 colonnes...

    Merci pour votre aide.

    TONY

  2. #2
    Membre émérite Avatar de laurentibus
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Par défaut
    tu peux nous faire voir ton code ?

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2006
    Messages
    196
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 196
    Par défaut
    Salut,

    Voici mon code :

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0"
    				xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    				xmlns:fo="http://www.w3.org/1999/XSL/Format">
     
    <xsl:output method="xml" version="1.0" encoding="UTF-8"/>
     
    <xsl:template match="/">
    	<fo:root>
    		<fo:layout-master-set>
    		<xsl:choose>
    			<xsl:when test="fo:page-number=1">	
    				<fo:simple-page-master master-name="first"
    	                           page-height="29,7cm"
    	                           page-width="21cm"
    	                           margin-top="1cm"
    	                           margin-bottom="0.7cm"
    	                           margin-left="0.5cm"
    	                           margin-right="0.5cm">
    					<fo:region-body margin-top="2.5cm"/>
    					<fo:region-before extent="3cm"/>
    					<fo:region-after extent="1cm"/>
    				</fo:simple-page-master>
    				</xsl:when>
    				<xsl:otherwise>
    					<fo:simple-page-master master-name="first"
    		                           page-height="29,7cm"
    		                           page-width="21cm"
    		                           margin-top="1cm"
    		                           margin-bottom="0.7cm"
    		                           margin-left="0.5cm"
    		                           margin-right="0.5cm">
    						<fo:region-body margin-top="2.5cm" margin-bottom="1cm"/>
    						<fo:region-before extent="3cm"/>
    						<fo:region-after extent="1cm"/>
    					</fo:simple-page-master>
    				</xsl:otherwise>
    			</xsl:choose>
    		</fo:layout-master-set>
     
    		<fo:page-sequence master-reference="first">
     
    		    <fo:static-content flow-name="xsl-region-before">
    				<fo:block>
    					<fo:external-graphic src="http://mflimpression.mutualite-loire.com/images/Logopetit.bmp" width="2cm"/>
    				</fo:block>
    				<fo:block text-align="center" 
    								font-weight="bold"
    								font-variant="small-caps"
    								font-size="14pt">Gardes Administratives du Long et Moyen Séjour</fo:block>
    				<fo:block text-align="center"></fo:block>
    			</fo:static-content>
     
     
    			  <fo:static-content flow-name="xsl-region-after">
    			  <fo:block font="6pt Verdana"  border="0.5px solid black"></fo:block>
      <fo:block font="4pt Verdana" color="white">a</fo:block>
    		<fo:block text-align="center" 
    								font-weight="bold"
    								font-variant="small-caps"
    								font-size="8pt">Dernière mise à jour : <xsl:value-of select="XMLGARDE/MISEAJOUR"/></fo:block>
    			</fo:static-content>
     
    			<fo:flow flow-name="xsl-region-body">
     
    				<fo:block  text-align="center">
    					<xsl:apply-templates select="XMLGARDE/MOISGARDE"/>
    				</fo:block>
    			</fo:flow>
    		</fo:page-sequence>
    	</fo:root>
    </xsl:template>
     
     
    <xsl:template match="XMLGARDE/MOISGARDE">
    	<fo:table border-collapse="separate" width="100%" table-layout="fixed">
     
    		<fo:table-column column-width="60px"></fo:table-column> 
    		<fo:table-column column-width="60px"></fo:table-column> 
    		<fo:table-column column-width="100px"></fo:table-column> 
     
    		<fo:table-body text-align="center" font-size="6pt" display-align="center" border-left="1px solid black" border-right="1px solid black" border-bottom="1px solid black">		
    			<xsl:apply-templates select="GESTIONGARDE"/>
    		</fo:table-body>
     
    	</fo:table>
    </xsl:template>
     
     
    <xsl:template match="GESTIONGARDE">
     
    	<fo:table-row text-align="center" height="10px" >
    		<fo:table-cell>
    			<fo:block>
    				<xsl:value-of select="DATEDEBUTGARDE"/>
    			</fo:block>
    		</fo:table-cell>
    		<fo:table-cell>
    			<fo:block>
    				<xsl:value-of select="DATEFINGARDE"/>
    			</fo:block>
    		</fo:table-cell>
    		<fo:table-cell>
    			<fo:block>
    				<xsl:value-of select="PERSONNEGARDE"/>
    			</fo:block>
    		</fo:table-cell>
    	</fo:table-row>
     
    </xsl:template>
     
     
    </xsl:stylesheet>
    Ca me renvoi un tableau avec une colonne, hors j'en voudrai 2.
    Je pensais faire un truc du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <xsl:apply-templates select="GESTIONGARDE"/>
    <xsl:apply-templates select="suivant de GESTIONGARDE"/>
    mais ca marche pas et je sais pas la fonction à utiliser...

  4. #4
    Membre émérite Avatar de laurentibus
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Par défaut
    le tableau créer par gestionGarde a 1 seule colonne ???
    il devrait en avoir 3 non ?

  5. #5
    Membre confirmé
    Inscrit en
    Décembre 2006
    Messages
    196
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 196
    Par défaut
    En fait, j'ai un grand tableau contenant un tableau avec 3 colonnes.
    Pour chaque mois, je retourne 3 éléments d'une liste de données

    Pour l'instant j'ai ça :

    ---------------
    |.....Mois 1.....|
    | 1a | 1b | 1c |
    ---------------
    |.....Mois 2.....|
    | 2a | 2b | 2c |
    ---------------
    |.....Mois 3.....|
    | 3a | 3b | 3c |
    ---------------
    |.....Mois 4.....|
    | 4a | 4b | 4c |
    ---------------

    et je voudrai :

    ------------------------------
    |.....Mois 1.....||.....Mois 2.....|
    | 1a | 1b | 1c || 2a | 2b | 2c |
    ------------------------------
    |.....Mois 3.....||.....Mois 4.....|
    | 3a | 3b | 3c || 4a | 4b | 4c |
    ------------------------------

  6. #6
    Membre émérite Avatar de laurentibus
    Inscrit en
    Mars 2008
    Messages
    875
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Mars 2008
    Messages : 875
    Par défaut
    c'est normal vu ton code

    essaye de faire un truc du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    <fo:table-body text-align="center" font-size="6pt" display-align="center" border-left="1px solid black" border-right="1px solid black" border-bottom="1px solid black">		
    			<xsl:apply-templates select="GESTIONGARDE"/>
    !!!!!!!!!!!!!!!!!!!!!!!!!!fais une colonne !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    <xsl:apply-templates select="GESTIONGARDE"/>
    		</fo:table-body>

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

Discussions similaires

  1. affichage d'un tableau avec des colonnes fixes
    Par jbaudens dans le forum C
    Réponses: 3
    Dernier message: 28/10/2007, 19h31
  2. Un tableau avec des colonnes dynamiques
    Par Cronycs dans le forum Struts 1
    Réponses: 5
    Dernier message: 07/06/2007, 13h38
  3. [XSL-FO] Tableau avec bouts arrondis + Utilisation FOP
    Par Little_flower dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 21/05/2007, 09h24
  4. [CSS] Remplacer un tableau avec des colonnes
    Par mullger dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 22/08/2006, 15h30
  5. tableau avec 1 colonne sur 3 sans cadre
    Par brasco06 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 21/04/2005, 17h44

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