Je voudrait mettre un espace insecable dans mon fichier xsl pour que ce dernier ce retrouve dans le html dériére, mais cela ne marche pas :

  il ne connais pas
  il le transforme en un espace normale donc inexploitable dans le html
je peux entourer de xsl:text cela ne change rien

si j'écrie  , il ne transforme pas le & donc inexploitable...

Je ne sais plus trop quoi inventer pour avoir mon espace...
Modifié le 30 Nov 2004 - 12:27
Utilise la balise xsl:text avec en prime l'attribue disable-output-encoding="yes", puis mets ton  .
  il ne connais pas


Normal, c'est définit dans la DTD de HTML. Quand tu es en XSL, il ne connait pas parce que ce n'est pas dans sa DTD. Tu peux, soit le rajouter dans le DOCTYPE, soit le mettre sous forme numérique :  

  il le transforme en un espace normale donc inexploitable dans le html je peux entourer de xsl:text cela ne change rien

Non, enfin pas chez moi et pas en théorie.
Il le transforme en ... espace insécable. Ton processeur XSLT a juste jugé que c'était un caractère qui pouvait être écrit directement et pas sous forme d'entité donc il l'a écrit directement. Quand tu as ouvert le fichier avec ton éditeur tu as vu un espace mais c'est un espace ... insécable (forcément, la différence est liée au comportement alors tu ne "vois" rien de spécial par rapport à un espace, le visuel est identique). Il y a peu d'éditeurs qui savent les reconnaitre mais normalement les navigateurs avec un bon charset devraient pouvoir reconnaitre tout ça et les traiter comme il faut.
Bref, ton processeur XSLT fait (probablement) tout à fait ce qu'il faut.

si j'écrie  , il ne transforme pas le & donc inexploitable...

Normal, parce que tu peux très bien avoir envie d'écrire réellement ça.

Utilise la balise xsl:text avec en prime l'attribue disable-output-encoding="yes", puis mets ton  .


C'est tout de même super crade comme solution. En gros ça veut dire au processeur XSLT "met moi ce texte en brutal dans le code XML, peu importe ce que c'est ou si c'est valide". C'est tout de même nier beaucoup de l'intérêt du XSLT ça ... tu sors complètement de la logique de la chaîne XML.
Je veux bien croire que c'est bien crade, mais cela ne m'avance pas... Car moi je veux que le processeur m'écrivent " " et pas autre chose. Car oui c'est un espace insecable, mais pour le naviguateur

<td> </td>

ou

<td>
</td>

ou tout ce que l'on veux avec des espace, ou espace insecable, ou retour chario, pour lui c'est rien, c'est une case vide et donc il ne fait rien dutout. Donc je veux mettre &nbsp;

Si tu as plus propre, je suis preneur...
pour finir le disable-output-encoding="yes" ne marche pas avec le parseur. Donc j'ai trouver ceci :

<xsl:text disable-output-escaping="yes">&amp;nbsp;</xsl:text>

merci pour vos réponse...
Modifié le 30 Nov 2004 - 09:00
Si ton soucis est résolu, pourrais tu ajouter [résolu] en titre de ton sujet en éditant ton premier message, merci Smiley cligne