[Résolu] mise en page xsl

mise en page xsl [Résolu] - XML/XSL - Programmation

Marsh Posté le 10-01-2010 à 10:06:35    

Bonjour,
je rencontre un petit soucis de mise en page d'un éléments venant d'un fichier XML.
Le résultat est que toutes les options ne sont pas séparé, je souhaite indiqué dans mon traitement XSL un retour a la ligne après chaque séparation
|.
le fichier XML est renvoyer par tache automatique tout les jours donc je ne peu pas séparer ces informations dans le fichier ce qui aurait été une solution plus simple.
 
Merci d'avance pour vos réponses.  
 
Voici un des élément du fichier XML qui me pose un soucis:
 

Code :
  1. <Equipements>Climatisation mécanique|Peinture métallisée|Banquette arrière séparée|Fermeture centralisée|Radio CD|Anti-blocage des roues|Direction assistée</Equipements>

 
 
Traitement par ma feuille XSL:

Code :
  1. <xsl:value-of select="Equipements"/>


 
résultat visuel dans ma page Php:

Code :
  1. Anti-blocage des roues|Peinture métallisée|Fermeture centralisée|Ordinateur de bord|Rétro électriques|Phares antibrouillard|Radio CD MP3|Direction assistée|Jantes Aluminium|Anti-patinage|Coussins gonflables (4 et plus)|Climatisation automatique|Régulateur de vitesse|ESP


Message édité par ractance le 20-01-2010 à 19:29:04
Reply

Marsh Posté le 10-01-2010 à 10:06:35   

Reply

Marsh Posté le 10-01-2010 à 15:26:11    

A adapter : http://forum.hardware.fr/hfr/Progr [...] 8357_1.htm
A priori, pas de solution évidente en XSL.

Reply

Marsh Posté le 11-01-2010 à 14:34:32    

replace ferait pas l'affaire?
http://www.zvon.org/xxl/XSL-Ref/Tu [...] s/re3.html


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 12-01-2010 à 06:26:16    

Bonne question rufo je fait un test en fin de semaine.

Reply

Marsh Posté le 20-01-2010 à 19:23:34    

Et voici la réponce a mon souci.
 
Rajout d'une fonction comme celle ci.
Merci a Krantz pour son aide
 

Code :
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  3. <xsl:output method="html" version="1.0" encoding="UTF-8" indent="yes"/>
  4. <xsl:template name="string-replace-all">
  5.  <xsl:param name="text"/>
  6.  <xsl:param name="replace"/>
  7.  <xsl:param name="by"/>
  8.  <xsl:choose>
  9.   <xsl:when test="contains($text, $replace)">
  10.    <xsl:value-of select="substring-before($text, $replace)"/>
  11.    <xsl:value-of select="$by"/>
  12.    <xsl:call-template name="string-replace-all">
  13.     <xsl:with-param name="text" select="substring-after($text, $replace)"/>
  14.     <xsl:with-param name="replace" select="$replace"/>
  15.     <xsl:with-param name="by" select="$by"/>
  16.    </xsl:call-template>
  17.   </xsl:when>
  18.   <xsl:otherwise>
  19.    <xsl:value-of select="$text"/>
  20.   </xsl:otherwise>
  21.  </xsl:choose>
  22. </xsl:template>
  23. <xsl:variable name="myVar">
  24.  <xsl:call-template name="string-replace-all">
  25.   <xsl:with-param name="text" select="."/>
  26.   <xsl:with-param name="replace" select=" '|' "/>
  27.   <xsl:with-param name="by" select=" '&lt;br/&gt;' "/>
  28.  </xsl:call-template>
  29. </xsl:variable>
  30. <xsl:template match="Equipements">
  31.  <xsl:value-of select="$myVar" disable-output-escaping="yes"/>
  32. </xsl:template>
  33. </xsl:stylesheet>

Reply

Sujets relatifs:

Leave a Replay

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