Bonjour
La balise de saut de ligne (<br/>) n'est pas prise en compte dans les feuilles de styles sous Mozilla, alors qu'elle l'est sous IE7.
Exemple : (j'ai simplifié le pb)
Je veux éditer ligne par ligne les sous élements 'name' de l'élément 'liste' de fichier xml liste.xml ci dessous :
<?xml version="1.1" encoding="iso-8859-1"?>
<?xml-stylesheet type='Text/xsl' href='liste.xsl'?>
<liste>
<name>nom1</name>
<name>nom2</name>
etc..
</liste>
=============================
La feuille de style liste.xsl
<?xml version="1.1" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="iso-8859-1" indent="yes"/>
<xsl:template match="/">
<html>
<body>
<xsl:for-each select='liste/name'>
<xsl:value-of select='.'/><br/>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
IE me donne un résultat de la forme :
name1
name2
etc..
Firefix et netscape :
name1name2name3...........namen+1
Je n'ai pas trouvé de réponse sur le web, pas plus que dans le présent site (très bien fait par ailleurs).
Merci à ceux qui ont des éléments de réponse.
Avis !
La nuit porte conseil..
dans la balise <xsl:output ...> de l'entête de la feuille de style XSL il faut changer method="html" au lieu de method="xml" (IE est plus tolérant que firefox)
<xsl:output method="html" version="1.0" encoding="iso-8859-1" indent="yes"/>
Modifié par rimousky (30 Jul 2008 - 16:01)
La balise de saut de ligne (<br/>) n'est pas prise en compte dans les feuilles de styles sous Mozilla, alors qu'elle l'est sous IE7.
Exemple : (j'ai simplifié le pb)
Je veux éditer ligne par ligne les sous élements 'name' de l'élément 'liste' de fichier xml liste.xml ci dessous :
<?xml version="1.1" encoding="iso-8859-1"?>
<?xml-stylesheet type='Text/xsl' href='liste.xsl'?>
<liste>
<name>nom1</name>
<name>nom2</name>
etc..
</liste>
=============================
La feuille de style liste.xsl
<?xml version="1.1" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="iso-8859-1" indent="yes"/>
<xsl:template match="/">
<html>
<body>
<xsl:for-each select='liste/name'>
<xsl:value-of select='.'/><br/>
</xsl:for-each>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
IE me donne un résultat de la forme :
name1
name2
etc..
Firefix et netscape :
name1name2name3...........namen+1
Je n'ai pas trouvé de réponse sur le web, pas plus que dans le présent site (très bien fait par ailleurs).
Merci à ceux qui ont des éléments de réponse.
Avis !
La nuit porte conseil..
dans la balise <xsl:output ...> de l'entête de la feuille de style XSL il faut changer method="html" au lieu de method="xml" (IE est plus tolérant que firefox)
<xsl:output method="html" version="1.0" encoding="iso-8859-1" indent="yes"/>
Modifié par rimousky (30 Jul 2008 - 16:01)