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 :

Itération d'un paragraphe avec incrémentation [XSLT 1.0]


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Itération d'un paragraphe avec incrémentation
    Bonjour à tous,

    Je suis débutant en XML (je connais juste le principe en fait ).

    Alors voilà mon problème :

    Je dois répéter le paragraphe suivant autant de fois que nécessaire.

    Siret : 01234 56789 Raison Sociale : LIBELLE RAISON SOCIALE
    Destinataire : 111 TESTX
    Nombre de salaries : 22222
    Masse Salariale (Total des bases brutes de Securite Sociale) : 33333

    XML:
    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
    <?xml version="1.0" encoding="UTF-8"?>
    <?xml-stylesheet type="text/xsl"?>
    <XML>  
    <Email>
        <BE_TECH>
          <DEMANDE>
          <ATTRIBUT>
          <DISTRIBUTION>
          <SUIVI>
        </BE_TECH>
        <BE_FONCT>
          <DATA_COMMUN>
            <CO_SOCIETE>
              <STE_LBSOCCRT>TEST1</STE_LBSOCCRT>
            </CO_SOCIETE>
            <CO_DOCUMENT>
              <DOC_CODOC>NDSLETAPPGER1</DOC_CODOC>
              <DOC_NOVERDOC>01</DOC_NOVERDOC>
            </CO_DOCUMENT>
    		<CO_ENTREPRISE>
    		  <ENT_IDPUBENT>01234</ENT_IDPUBENT>
    		  <ENT_COIDEPUB>56789</ENT_COIDEPUB>
    		  <ENT_LBRS>LIBELLE RAISON SOCIALE</ENT_LBRS>
    		  <ENT_NBEFFCAD>111</ENT_NBEFFCAD>
    		  <ENT_NBEFFNCA>22222</ENT_NBEFFNCA>
    		  <ENT_NBEFFENS>33333</ENT_NBEFFENS>
    		</CO_ENTREPRISE>
          </DATA_COMMUN>
          <DATA_COMMUN>
            <CO_SOCIETE>
              <STE_LBSOCCRT>TEST2</STE_LBSOCCRT>
            </CO_SOCIETE>
            <CO_DOCUMENT>
              <DOC_CODOC>NDSLETAPPGER1</DOC_CODOC>
              <DOC_NOVERDOC>01</DOC_NOVERDOC>
            </CO_DOCUMENT>
    		<CO_ENTREPRISE>
    		  <ENT_IDPUBENT>01234</ENT_IDPUBENT>
    		  <ENT_COIDEPUB>56789</ENT_COIDEPUB>
    		  <ENT_LBRS>LIBELLE RAISON SOCIALE</ENT_LBRS>
    		  <ENT_NBEFFCAD>111</ENT_NBEFFCAD>
    		  <ENT_NBEFFNCA>22222</ENT_NBEFFNCA>
    		  <ENT_NBEFFENS>33333</ENT_NBEFFENS>
    		</CO_ENTREPRISE>
          </DATA_COMMUN>
          <DATA_COMMUN>
            <CO_SOCIETE>
              <STE_LBSOCCRT>TEST3</STE_LBSOCCRT>
            </CO_SOCIETE>
            <CO_DOCUMENT>
              <DOC_CODOC>NDSLETAPPGER1</DOC_CODOC>
              <DOC_NOVERDOC>01</DOC_NOVERDOC>
            </CO_DOCUMENT>
    		<CO_ENTREPRISE>
    		  <ENT_IDPUBENT>01234</ENT_IDPUBENT>
    		  <ENT_COIDEPUB>56789</ENT_COIDEPUB>
    		  <ENT_LBRS>LIBELLE RAISON SOCIALE</ENT_LBRS>
    		  <ENT_NBEFFCAD>111</ENT_NBEFFCAD>
    		  <ENT_NBEFFNCA>22222</ENT_NBEFFNCA>
    		  <ENT_NBEFFENS>33333</ENT_NBEFFENS>
    		</CO_ENTREPRISE>
          </DATA_COMMUN>
        </BE_FONCT>
    </Email>
    </XML>
    XSL :
    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
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="/">
    <html>
    <head>
      <title>DSU_RU</title>
    </head>
    <body>
    <xsl:for-each select="//DATA_COMMUN">
    <style type="text/css">
    .retrait { margin-left:  ; }
    </style>
    <div class="retrait">
    	<ul type="square">
    		<li>
    			<p style="color:normal;font-family:Verdana;font-size:small">
    			  <tr>Siret :</tr>
    			  <tr><xsl:value-of select="//ENT_IDPUBENT" /></tr>
    			  <tr><xsl:value-of select="//ENT_COIDEPUB" /></tr>
    			  <tr>Raison Sociale :</tr>
    			  <tr><xsl:value-of select="//ENT_LBRS" /></tr>
    			  <br />
    			  <tr>Destinataire :</tr>
    			  <tr><xsl:value-of select="//ENT_NBEFFCAD" /></tr>
    			  <tr><xsl:value-of select="//STE_LBSOCCRT" /></tr>
    			  <br />
    			  <tr>Nombre de salaries :</tr>
    			  <tr><xsl:value-of select="//ENT_NBEFFNCA" /></tr>
    			  <br />
    			  <tr>Masse Salariale (Total des bases brutes de Securite Sociale) :</tr>
    			  <tr><xsl:value-of select="//ENT_NBEFFENS" /></tr>
    			</p>
    		</li>
    	</ul>
    </div>
    </xsl:for-each>
    </body>
    </html>
    </xsl:template>
    </xsl:stylesheet>
    Mais le résultat ne donne pas l'effet voulu ... Il me répète 3 fois le même paragraphe (ça c'est bon 3 itérations) mais il met les même valeurs à chaque fois.
    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Siret : 01234 56789 Raison Sociale : LIBELLE RAISON SOCIALE
    Destinataire : 111 TEST1 
    Nombre de salaries : 22222
    Masse Salariale (Total des bases brutes de Securite Sociale) : 33333
     
    Siret : 01234 56789 Raison Sociale : LIBELLE RAISON SOCIALE
    Destinataire : 111 TEST1 (au lieu de TEST2)
    Nombre de salaries : 22222
    Masse Salariale (Total des bases brutes de Securite Sociale) : 33333
     
    Siret : 01234 56789 Raison Sociale : LIBELLE RAISON SOCIALE
    Destinataire : 111 TEST1 (au lieu de TEST3)
    Nombre de salaries : 22222
    Masse Salariale (Total des bases brutes de Securite Sociale) : 33333
    D'avance merci.

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 466
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 466
    Points : 1 610
    Points
    1 610
    Par défaut
    Ajoute '.' devant les '//'.
    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:value-of select=".//ENT_IDPUBENT" />

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par Morbo Voir le message
    Ajoute '.' devant les '//'.
    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xsl:value-of select=".//ENT_IDPUBENT" />
    merci c'est niquel.

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

Discussions similaires

  1. Composant champ avec incrément
    Par david71 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 29/06/2007, 15h39
  2. un dédoublonage avec incrémentation ?
    Par blubz dans le forum Requêtes
    Réponses: 2
    Dernier message: 08/12/2006, 09h24
  3. [VBA-E] Calcul avec incrémentation
    Par dahu29 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 06/03/2006, 09h36
  4. Variante de TUpDown avec incrément réel
    Par Bernard Grosdoy dans le forum Composants VCL
    Réponses: 6
    Dernier message: 20/10/2004, 16h40
  5. Update ou insert avec incrément d'un champ
    Par dany13 dans le forum ASP
    Réponses: 5
    Dernier message: 15/10/2004, 12h53

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