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 :

Adressage multi docs


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2009
    Messages : 4
    Par défaut Adressage multi docs
    Bonjour,

    Je souhaiterais pouvoir insérer dans divers courriers l'adresse d'un destinataire et celles des destinataires en copie .
    (à compléter, nouvelle analyse en cours, la demande a été modifiée )

  2. #2
    Membre Expert Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Par défaut
    On peut faire comme ça : on ne s'écrit qu'un seul template nommé Docteur et élimine les templates existant dits Docteur, copieDocteur1 et copieDocteur2.
    Code xml : 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
    <xsl:template name="Docteur">
        <xsl:variable name="line1" select="line1" />
        <xsl:variable name="line3" select="line3" />
        <xsl:variable name="line4" select="line4" />
        <xsl:variable name="line5" select="line5" />
        <fo:block font-family="verdana" font-size="11pt" text-align="left" margin-left="60%">
            Docteur
            <xsl:value-of select="$line1" />
        </fo:block>
        <fo:block font-family="verdana" font-size="11pt" text-align="left" margin-left="60%">
            <xsl:value-of select="$line3"/>
        </fo:block>
        <fo:block font-family="verdana" font-size="11pt" text-align="left" margin-left="60%">
            <xsl:value-of select="$line5"/> - <xsl:value-of select="$line4"/>
        </fo:block>
    </xsl:template>
    Et puis, on réécrit le template qui matche ADRESSES_MT.
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <xsl:template match="ADRESSES_MT">
        <fo:root>
            <xsl:call-template name="page-master"/>
            <xsl:for-each select="thedestinataire|copie/entry">
                <fo:page-sequence master-reference="document">
                    <fo:flow flow-name="xsl-region-body">
                        <fo:block font-family="verdana" font-size="11pt" text-align="right">
                            <xsl:call-template name="Docteur">
                        </fo:block>
                    </fo:flow>
                </fo:page-sequence>
            </xsl:for-each>
        </fo:root>
    </xsl:template>
    On est contraint de répéter à des endroits à cause de la structure et de la nomination des éléments peu convenables du xml. Avec ça, on peut y avoir n'importe quel nombre de copies - c'est aussi un avantage de la réécriture.

    Voilà l'idée !

    Edition : voir mon followup post ci-dessous. Puisque les variables linex sont tellement simplifiées, on peut les épargner sans compliquer les écritures des fo:block. Je les garde pour laisser un espace de généralisation.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2009
    Messages : 4
    Par défaut
    Merci beaucoup pour votre réponse tsuji , je ne m'attendais pas à une réponse aussi vite! super sympa. Je teste et vous dis si j'ai bien compris et su mettre en œuvre.

  4. #4
    Membre Expert Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Par défaut
    J'ai la chance de re-voir ce que j'ai posté et voilà qu'il y a un typo, donc, manquant la balance quot/apos, pour des variables line1 etc. Et plus important, c'est que j'ai trompé le contexte quand le xslt appelle le template nommé Docteur. Corriger ça donne le rendement beaucoup plus simple. Je vais corriger ces issues directement dans le post, si vous voulez. Je suis désolé pour ces issues dans la réponse originale.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2009
    Messages : 4
    Par défaut
    Merci beaucoup pour votre aide, ça fonctionne très bien.
    Malheureusement la demande a évolué.., je ne sais pas si ce sera faisable...
    Bien à vous,

Discussions similaires

  1. Uploader multi-fichier Drag and Drop (Google Docs)
    Par LoicRossi dans le forum Général Conception Web
    Réponses: 3
    Dernier message: 29/06/2011, 15h32
  2. Tri multi-threadé
    Par Tifauv' dans le forum C
    Réponses: 8
    Dernier message: 28/06/2007, 09h00
  3. Réponses: 4
    Dernier message: 27/03/2002, 11h03
  4. F.A.Q, Doc, cours, tutoriels sur JBuilder
    Par Ricky81 dans le forum JBuilder
    Réponses: 0
    Dernier message: 14/03/2002, 15h28

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