Bonsoir à tous,
J'ai un souci en tentant de récupérer le maximum d'un ensemble de valeurs, en XSL. Sous IE, aucun souci, sous Firefox, j'ai l'erreur suivante : "Erreur lors du chargement de la feuille de style : Échec de l'analyse d'une feuille de style XSLT.". Je précise, s'il est besoin, que le code est interprêté par le navigateur, côté client, par nécessité.
J'ai essayé de réduire le problème à un exemple un peu minimal.
Voici le contenu du fichier essai.xml :
et le fichier essai.xsl :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <?xml version="1.0" encoding="ISO-8859-1" ?> <?xml-stylesheet type="text/xsl" href="essai.xsl" version="1.0" ?> <a> <b nb="1" /> <b nb="2" /> <b nb="5" /> <b nb="1" /> </a>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26 <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" > <xsl:output method="html" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" indent="yes" encoding="ISO-8859-1" /> <xsl:template match="/" xml:space="preserve"> <html> <head> <title>essai</title> </head> <body> <xsl:variable name="nbmax"> <xsl:for-each select="a/b"> <xsl:sort select="@nb" order="descending" data-type="number" /> <xsl:if test="position()=1"><xsl:value-of select="@nb" /></xsl:if> </xsl:for-each> </xsl:variable> valeur : <xsl:value-of select="$nbmax" /> </body> </html> </xsl:template> </xsl:stylesheet>
L'erreur n'apparaît que lorsque la balise <xml:sort> est présente, ce qui me paraît plutôt étonnant. Lorsque je l'enlève, le résultat ("valeur : 1") correspond au contenu de la première balise (ce qui est logique).
Quelqu'un aurait-il une idée ?
Partager