Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2284 connectés 

  FORUM HardWare.fr
  Programmation
  XML/XSL

  [xml-xsl] Probleme de structure de fichier xsl

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[xml-xsl] Probleme de structure de fichier xsl

n°1407603
zincben
Posté le 16-07-2006 à 16:31:18  profilanswer
 

Bonjour,  
 
je suis sur la fusion d'un document xml avec un fichie xsl que j'ai créé.  
Le xml contient une liste de résultats que je dois mettre en forme.
 
Je débute en xsl et j'ai des soucis sur la structure du document. Je fais la fusion en php avec domxml. Mais mon code coince au niveau du xsl.  
 
Les résultats devants être sur plusieurs pages j' enrichi mon flux xml afin d'y placer des infos pour la gestion des pages.
 
Une page de résultats type comporte:
 
- le nombre de résultats (templates xsl NBANS)
 
-l'affichage des résultats (templates xsl R)
 
- l'affichage des liens numéros de pages de résultats pour naviguer quand le nombre de résultat est supérieur à la limite de résultatpar page. (template gestion_pages)
 
 
Dans mon xsl, c'est ma template gestion_pages qui pose probleme.
 
Les appels à NBANS et R se font dans la template SERVICE (voir code ci-dessous).
Jusque la mon flux tml de sortie était correct.
 
A la suite dès que j'insere un <call-template name="gestion_pages"/>, dans mon flux xml, j'ai l'affichage du nombre de résultats qui disparait.
 
Voici le flux xml enrichi associé au xsl:
 

Code :
  1. <HADESXML>
  2. <SERVICE num="1" name="ke">
  3.     <NBDOCS value="127"/>
  4. <NBANS value="10" start="1" end="10" NUMBER_OF_PAGES="2" CURRENT_PAGE="1">
  5.  <PAGE NUMBER="1"><![CDATA[http://localhost/test/result_xml.php?&numpage=1]]></PAGE>
  6.  <PAGE NUMBER="2"><![CDATA[http://localhost/test/result_xml.php?&numpage=2]]></PAGE>
  7. </NBANS>
  8. <RT value="71" net="55" parse="16"/>
  9.      <R num="0">
  10.  <TITLE>titre1</TITLE>
  11.  <URL>www.google.com</URL>
  12.  <RESUME>resume</RESUME>
  13. </R>
  14.         <R num="1">
  15.  <TITLE>titre1</TITLE>
  16.  <URL>www.google.com</URL>
  17.  <RESUME>resume</RESUME>
  18.         </R>
  19.         <R num="2">
  20.    <TITLE>titre1</TITLE>
  21.  <URL>www.google.com</URL>
  22.  <RESUME>resume</RESUME>
  23.         </R>
  24.         <R num="3">
  25.  <TITLE>titre1</TITLE>
  26.  <URL>www.google.com</URL>
  27.  <RESUME>resume</RESUME>
  28. </R>
  29.      <R num="4">
  30. ...
  31. </R>
  32. ...
  33. <R num="5">
  34. </R>
  35. </SERVICE>
  36. <SERVICE>blabla<SERVICE>
  37. </HADESXML>


 
voici le xsl:

Code :
  1. <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  2. <xsl:output method="html" encoding="ISO-8859-1" omit-xml-declaration="yes" indent="yes" />
  3. <xsl:template match="/">
  4.    
  5.     <xsl:apply-templates select="HADESXML" />
  6.    
  7. </xsl:template>
  8. <xsl:template match="HADESXML">
  9. </xsl:template>
  10. <xsl:template match="HADESXML">
  11.     <xsl:apply-templates select="SERVICE[1]" />   
  12. </xsl:template>
  13. <xsl:template match="SERVICE">
  14.    <div>
  15.     <xsl:apply-templates select="NBANS" />
  16.     <br /><br />
  17.     <xsl:apply-templates select="R" />
  18. <br /><br />
  19. <xsl:call-template name="gestion_pages"/>
  20. </div>
  21. </xsl:template>
  22. <xsl:template match="NBANS">
  23.     <div class="resultat">
  24.     <xsl:text> Il y a </xsl:text>
  25.     <xsl:value-of select="@value" />
  26.     <xsl:text> résultat(s) correspondant(s) </xsl:text><br /><br />
  27.     <xsl:text> Documents </xsl:text>
  28.     <xsl:value-of select="@start" />
  29.     <xsl:text> à </xsl:text>
  30.     <xsl:value-of select="@end" />
  31.     <xsl:text> sur </xsl:text>
  32.     <xsl:value-of select="@end" />
  33.     </div>
  34.    
  35. </xsl:template>
  36. <xsl:template match="R">
  37.     <div class="moteur_resultat">
  38.     <a href="{URL}"><xsl:value-of select="@num +1" /><xsl:text
  39. disable-output-escaping="yes">&amp;nbsp;-&amp;nbsp;</xsl:text><xsl:value-ofselect="TITLE"/></a><br />
  40.     <xsl:value-of select="RESUME" />
  41.     <br /><br />
  42.     </div>
  43.     <br />
  44. </xsl:template>
  45. <xsl:template name="gestion_pages" match="NBANS">
  46. <xsl:if test="NBANS/@NUMBER_OF_PAGES > 1">
  47.   <div id="navigation_page">
  48.  
  49.       <xsl:if test="NBANS/@CURRENT_PAGE > 1">
  50.      
  51.       <li><!--
  52.       <a><xsl:attribute name="target">_self</xsl:attribute>
  53.       <xsl:attribute name="href"><xsl:value-of select="/HADESXML/NBANS/PAGE[/HADESXML/NBANS/@CURRENT_PAGE -
  54. 1]"/>
  55.       </xsl:attribute>Page precedente</a>
  56.       -->
  57.       <span class="sep">|</span></li>
  58.      
  59.       </xsl:if>
  60.  
  61.       <xsl:for-each select="NBANS/PAGE">
  62.   
  63.           <xsl:choose>
  64.      <xsl:when test = "/HADESXML/NBANS/@CURRENT_PAGE = position()"><li
  65. class="sel"><xsl:value-of select="@NUMBER"/></li></xsl:when>
  66.      <xsl:otherwise><li><a><xsl:attribute name="target">_self</xsl:attribute><xsl:attribute
  67. name="href"><xsl:value-of select="."/></xsl:attribute><xsl:value-of
  68. select="@NUMBER"/></a></li></xsl:otherwise>
  69.    </xsl:choose>
  70.        
  71.   </xsl:for-each>
  72.  
  73.     <xsl:if test="NBANS/@CURRENT_PAGE != NBANS/@NUMBER_OF_PAGES">
  74.    
  75.     <li><span class="sep">|</span>
  76.     <!--<a><xsl:attribute name="target">_self</xsl:attribute>
  77.     <xsl:attribute name="href"><xsl:value-of select="NBANS/PAGE[NBANS/@CURRENT_PAGE + 1]"/>
  78.     </xsl:attribute>Page suivante</a>-->
  79.     </li>
  80.  
  81.     </xsl:if>   
  82.   </div>
  83. </xsl:if>
  84. </xsl:template>
  85. </xsl:stylesheet>


 
Merci d'avance pour m'aider à résoudre ces problemes de structures dans mon fichier xsl.

mood
Publicité
Posté le 16-07-2006 à 16:31:18  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  XML/XSL

  [xml-xsl] Probleme de structure de fichier xsl

 

Sujets relatifs
Probleme insert [PHP/SQL]problème définition de variables
lire a partir d'un fichier confRécuper du texte dans un fichier puis la mettre dans une variable
Problème avec les textures en openglprobleme sur mon site...
Probleme fsockopenprobleme forum php
ecriture dans un fichier (gras,changement de police...)Petit problème de sockets génant
Plus de sujets relatifs à : [xml-xsl] Probleme de structure de fichier xsl


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR