Séparer plusieurs élément | xml xsl

Ractance -  
 Ractance -
Bonjour,
Je cherche depuis un moment comment afficher des données venant d'un fichier XML

Exemple source de mon fichier XLM:
<Equipements>Climatisation mécanique|Jantes Aluminium|Peinture métallisée|Fermeture centralisée|Ordinateur de bord|Rétro électriques|Phares antibrouillard|Radio CD MP3|Anti-blocage des roues|Direction assistée|Régulateur de vitesse</Equipements>


Règle appliquer par mon fichier XSL:
<td><xsl:value-of select="Equipements"/></td>


Résultat visuel sur ma page php:
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


Tous est accrocher je n'arrive pas a trouver de solution sur le net ou j'ai mal chercher

Je cherche un mise en page différente avec un retour a la ligne et même si il est possible de séparé ces donnée? pour les mettre sur deux colonnes (plus visible et agréable a lire).

Le ficher source XML n'ait pas modifiable il est envoyé par tache "cron" tout les jours

Exemple:
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
Configuration: Windows Vista
Firefox 3.5.7

2 réponses

  1. Defouille Messages postés 404 Statut Membre 54
     
    Tu pourrais essayer de remplacer les "|" par des "<br/>" avant d'afficher le contenu.

    str_replace("|", "<br/>", $contenu);


    0
  2. Ractance
     
    et voici la solution

    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.
    5. <xsl:template name="string-replace-all">
    6. <xsl:param name="text"/>
    7. <xsl:param name="replace"/>
    8. <xsl:param name="by"/>
    9. <xsl:choose>
    10. <xsl:when test="contains($text, $replace)">
    11. <xsl:value-of select="substring-before($text, $replace)"/>
    12. <xsl:value-of select="$by"/>
    13. <xsl:call-template name="string-replace-all">
    14. <xsl:with-param name="text" select="substring-after($text, $replace)"/>
    15. <xsl:with-param name="replace" select="$replace"/>
    16. <xsl:with-param name="by" select="$by"/>
    17. </xsl:call-template>
    18. </xsl:when>
    19. <xsl:otherwise>
    20. <xsl:value-of select="$text"/>
    21. </xsl:otherwise>
    22. </xsl:choose>
    23. </xsl:template>
    24.
    25.
    26. <xsl:variable name="myVar">
    27. <xsl:call-template name="string-replace-all">
    28. <xsl:with-param name="text" select="."/>
    29. <xsl:with-param name="replace" select=" '|' "/>
    30. <xsl:with-param name="by" select=" '<br/>' "/>
    31. </xsl:call-template>
    32. </xsl:variable>
    33.
    34. <xsl:template match="Equipements">
    35. <xsl:value-of select="$myVar" disable-output-escaping="yes"/>
    36. </xsl:template>
    37.
    38.
    39. </xsl:stylesheet>
    /code
    0