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] Faire apparaître une image juste après chaque <fo:list-item>


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 120
    Points : 56
    Points
    56
    Par défaut [XSL~FO] Faire apparaître une image juste après chaque <fo:list-item>
    salut à tous,
    je travaille avec Antenna House Formatter
    j'ai une problèmatique: je dois faire apparaître au besoin, une illustration après chaque élément de ma liste et là, je n'arrive pas à trouver une solution vu que je peux pas faire appel à ma balise <Picture> à l'intérieur de mon <fo:list-block>.
    Voilà là ou j'en suis et qui m'affiche le contenu mais pas dans l'ordre de l'insertion (ce qui est normal, vu la déclaration!! mais c'est juste pour que vous ayez tout)
    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
     
    <xsl:template match="Steps">
    <xsl:choose>
    	<xsl:when test="parent::Txt">
    	<fo:list-block provisional-distance-between-starts="80mm" provisional-label-separation="0mm">
    	<xsl:apply-templates select="StepTitle"/>
    	</fo:list-block>
    	<xsl:apply-templates select="Paragraph"/>
    	<fo:list-block provisional-distance-between-starts="80mm" provisional-label-separation="0mm">
    	<xsl:apply-templates select="ItemStep"/>
    	</fo:list-block>
    	<xsl:apply-templates select="Picture"/>
    	</xsl:when>
    	<xsl:otherwise>
    	<fo:list-block provisional-distance-between-starts="0mm" provisional-label-separation="0mm">
    	<xsl:apply-templates/>
    	</fo:list-block>
    	</xsl:otherwise>
    	</xsl:choose>
    </xsl:template>
    Donc ce que je veux faire c'est une solution permettant d'alterner:
    <xsl:apply-templates select="ItemStep"/>
    et
    <xsl:apply-templates select="Picture"/>

    merci d'avance

  2. #2
    Membre habitué
    Inscrit en
    Mai 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Mai 2007
    Messages : 262
    Points : 172
    Points
    172
    Par défaut
    Bonjour,

    Pourquoi ne mettrais-tu pas le chemin de ton image dans une variable ce qui te permettrait de l'appeler à tout moment et même dans ta liste non ??

    Qu'en penses-tu ?

    Bon courage !

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 120
    Points : 56
    Points
    56
    Par défaut
    merci. j'ai testé avec la variable mais toujours rien. je ne peux pas donner le chemin du picture car ce n'est aps une seule illus.

  4. #4
    Membre habitué
    Inscrit en
    Mai 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Mai 2007
    Messages : 262
    Points : 172
    Points
    172
    Par défaut
    Je pourrai avoir un exemple de ton code XML/XSL afin de comprendre mieux stp...?

    Merci d'avance je vais essayer de me pencher sur la question !

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 120
    Points : 56
    Points
    56
    Par défaut
    Le code est plus haut, quant au xml, c'est des plus simple, c'est du style:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <Steps>
      <ItemSteps>Bla bla bla</ItemSteps>
      <Picture><image ....jpg/></Picture>
      <ItemSteps>Bla bla bla</ItemSteps>
      <Picture><image ....jpg/></Picture>
      <ItemSteps>Bla bla bla</ItemSteps>
    </Steps>
    Là je pense à traiter la liste avec du fo:block simple afin de pouvoir afficher mon image. Le problème que j'ai avec cette méthode c'est que quand la phrase de l'itemStep va aller à la ligne, elle ne s'alignera pas avec la première ligne. ça va faire genre:
    1. bla bla bla
    bla bla bla

    au lieu de

    1. bla bla bla
      bla bla bla


  6. #6
    Membre éclairé
    Inscrit en
    Octobre 2005
    Messages
    847
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 847
    Points : 841
    Points
    841
    Par défaut
    dsl mais je n'ai pas trés bien compris..est il possible de voir à quoi ressemble le pdf qui sort actuellement?
    Ce n’est pas en cassant le thermomètre que vous ferez baisser la température

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 120
    Points : 56
    Points
    56
    Par défaut
    voilà un exemple du pdf avec le code fo suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <fo:block start-indent="80mm" end-indent="0mm" space-before="0pt" space-after="0pt" >
    		<xsl:number format="1."/>
    		<xsl:text>  </xsl:text>
    		<xsl:value-of select="."/>	
    </fo:block>
    Images attachées Images attachées  

  8. #8
    Membre habitué
    Inscrit en
    Mai 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Mai 2007
    Messages : 262
    Points : 172
    Points
    172
    Par défaut
    Bonjour,

    Je comprend ce que tu essaies de faire mais ne pourrais tu pas découper tes item de facon à ce qu'ils deviennent le plus simple possible ?

    Ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <Steps>
      <ItemSteps>blabla</ItemSteps>
      <Picture>Image.jpg</Picture>
    </Steps>
    <Steps>
      <ItemSteps>bliblo</ItemSteps>
    </Steps>
    Et pour chaque Steps tu fais ce que tu as fait (mettre sous forme de liste puis une image derrière si il y a la balise Picture)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <xsl:template match="Steps">
    <xsl:apply-templates select="ItemSteps">
    // =>Tu balances ton image dans la variable en testant si elle est vide ou pas
    </Steps>
    Tu comptes tous les ItemSteps ce qui te permettra de gérer dynamiquement le numéro de ta liste...

    Du coup tu arrives à avoir tes listes bien numérotées (fonction count ou autre) et une image en dessous si besoin est...

    Qu'en penses-tu ?

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 120
    Points : 56
    Points
    56
    Par défaut
    Bonjour,
    Merci pour cette proposition. ça aurait pu régler mon problème et dommage que j'y ai pas pensé plutôt.
    En fait, la dtd a déjà été définie et cette histoire d'image après chaque itemstep est une demande qui est venue après. Du coup, suis obligé de trouver une solution avec le système existant.

  10. #10
    Membre habitué
    Inscrit en
    Mai 2007
    Messages
    262
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Mai 2007
    Messages : 262
    Points : 172
    Points
    172
    Par défaut
    Aïe...

    Je vais essayer d'y réfléchir pour tester une autre solution...

    En attendant accroche toi et bon courage !!

Discussions similaires

  1. Faire apparaître une image/popup
    Par laurentSc dans le forum Général JavaScript
    Réponses: 27
    Dernier message: 23/06/2013, 19h19
  2. [Aide] Faire apparaître une image avec PIL
    Par Tytin dans le forum Général Python
    Réponses: 21
    Dernier message: 26/05/2013, 12h25
  3. Réponses: 4
    Dernier message: 13/01/2013, 01h00
  4. faire apparaître une image au survol d'un texte
    Par laurentSc dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 02/11/2012, 14h21
  5. Réponses: 1
    Dernier message: 31/07/2008, 14h30

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