Une belle colle en XSL?

Vraiment je ne comprend pas du tout pourquoi quand j'ajoute un bout de code valide, rien ne fonctionne plus sous IE... J'ai trouvé une technique de contournement de ce problème mais je rêve de savoir à quoi cela est du?

Je m'explique clairement : j'ai un fichier xsl (+ un xml et + un php pour faire la transfo)
et tout va pour le mieux, quand j'ajoute le test avec boolean pour vérifier si l'image que je veux afficher existe... c'est fini sous IE erreur 0 : "caractère inconnu dans un contenu de texte" à cause du if test boolean...


<xsl:if test="boolean(document(string(concat(CODE_SOCIETE, '-', CODE_SITE, '-', NO_ASP, '-a.jpg'))))">
  <xsl:element name="img">
	<xsl:attribute name="height">150</xsl:attribute>
    <xsl:attribute name="width">200</xsl:attribute>
    <xsl:attribute name="alt">photo</xsl:attribute>

    <xsl:attribute name="src"><xsl:value-of select="concat(CODE_SOCIETE, '-', CODE_SITE, '-', NO_ASP, '-a.jpg')" /></xsl:attribute>

</xsl:element>
   </xsl:if>


Sans le if test, tout va bien, avec, plus de IE ...

Si quelqu'un as une idée... je l'écoute avec grand plaisir Smiley biggrin

Rebecca
in the Quest of XSL adventure
Bonsoir,

Il faudrait essayer d'évaluer et afficher
concat(CODE_SOCIETE, '-', CODE_SITE, '-', NO_ASP, '-a.jpg')

tout seul dans IE pour voir. Si c'est bien ça qui coince, évaluer chaque élément un par un pour au moins trouver le coupable.
Bonsoir,

C'est probablement dû au fait que la fonction document() est normalement réservée aux fichiers XML. Donc normalement, quand tu l'appelles, il est est compréhensible que le processeur XSLT essaie d'accéder au fichier en question. Cela n'a pas l'air de heurter les autres navigateurs , tandis qu'IE tique (ce qui est un comportement qui devrait être attendu), puisqu'un image n'est pas un fichier texte. Le premier caractère n'étant donc probablement pas un caractère, IE plante.

Puisque tu as PHP, pourquoi n'écrirais-tu pas un script qui listerait les images présentes dans le répertoire dans un fichier XML que tu interrogerais ensuite?