Template XSL

Template XSL - XML/XSL - Programmation

Marsh Posté le 13-09-2005 à 11:03:42    

Bonjour,
Je fais appelle a des templates à différents endroit de mon document le souci c'est qu'il le path n'est pas le même selon les endroits des appelles.
Pourait-on donner des chemins à l'appel des templates.
 
Merci

Reply

Marsh Posté le 13-09-2005 à 11:03:42   

Reply

Marsh Posté le 13-09-2005 à 11:21:40    

madkane a écrit :

Bonjour,
Je fais appelle a des templates à différents endroit de mon document le souci c'est qu'il le path n'est pas le même selon les endroits des appelles.
Pourait-on donner des chemins à l'appel des templates.
 
Merci


 
oui, dans le match="..chemin.."

Reply

Marsh Posté le 13-09-2005 à 12:22:54    

Merci de ta réponse mais ça ne fonctionne pas.
En gros lorsque je suis au niveau3 et que je suis descendu dan un path:  
niveau1
 niveau2
  niveau3
   niveau4
Je lance  
<xsl:call-template  name="nomTemplate">  
</xsl:call-template>  
et ca marche.
Plus loin dans ma page je suis au niveau1 et je lance
<xsl:call-template  name="nomTemplate">  
</xsl:call-template>
 
Ceci ne fonctionne pas malgré la définition :
<xsl:template name="partieBasse" match="niveau1">  

Reply

Marsh Posté le 13-09-2005 à 13:49:21    

madkane a écrit :

Merci de ta réponse mais ça ne fonctionne pas.
En gros lorsque je suis au niveau3 et que je suis descendu dan un path:  
niveau1
 niveau2
  niveau3
   niveau4
Je lance  
<xsl:call-template  name="nomTemplate">  
</xsl:call-template>  
et ca marche.
Plus loin dans ma page je suis au niveau1 et je lance
<xsl:call-template  name="nomTemplate">  
</xsl:call-template>
 
Ceci ne fonctionne pas malgré la définition :
<xsl:template name="partieBasse" match="niveau1">


 
oui, fais plutot un  

Code :
  1. <xsl:apply-template match="niveau3">


et un template qui match niveau3
ou un template general avec un mode
Il n'y a pas de match sur un call-template
 
http://www.laltruiste.com/document [...] plate.html
http://www.laltruiste.com/document [...] plate.html

Reply

Marsh Posté le 13-09-2005 à 14:36:22    

J'ai trouvé une astuce ou plutôt une bidouille
 
 <xsl:for-each select="../../../..">
   <xsl:call-template  name="partieBasse">  
   </xsl:call-template>    
   <fo:block break-after="page"/>  
 </xsl:for-each>
 
Je sais que l'endroit ou je place ../../../.. se situe à la racine du document donc la boucle va se faire une fois comme prévu. Les paths des templates sont alors correctes et les informations sont affichés.
 
Le problème est du à la position de l'appelle de la template. Je l'appellai dans une boucle et le chemin était de niveau3.
Avec mon astuce je remonte au niveau1 et je lance ma template.
 
Merci.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed