Bonjour madame Le Journal,
pour varier de la question des brevets logiciels, je me posais à propos de &'nbsp; et du couple XML/XSLT.
Alors voila, j'ai un document XML (des données) et une feuille de style (XSLT) pour produire une beau document HTML.
Dans ce document HTML, j'ai besoin à un certain moment d'un espace insécable, un &'nbsp; pour les intimes/.
Mais voila, je buttais sur une problème:
Si dans ma feuille XSLT, j'ecris <'p>&'nbsp; , le parser râle et je n'ai pas mon document HTML (c'est logique: c'est un "undefined entity" dans ce cas-ci)
Si j'ecris: &'amp;nbsp;, ca parse bien, mais cela m'affiche littéralement &'nbsp; à la place de l'espace que j'attends.
Bref, "ça n'va nin" comme on dit chez nous.
Au final, j'ai pu trouver une solution satisfaisante: &'#160; qui produit ce fameux espace insécable.
Voila, je laisse une trace sur le net mondial au cas où j'oublierai cette terrible information et je tiens à remercier Google Groups qui a pu me fournir la solution.
Bonne fin de journée à toutes et à tous
# Re: Pour changer: & nbsp; et XSL ou comment produire un espace insécable ?
Posté par Sébastien Koechlin . Évalué à 1.
[^] # Re: Pour changer: & nbsp; et XSL ou comment produire un espace insécable ?
Posté par Jérôme Baumgarten . Évalué à 1.
[^] # Re: Pour changer: & nbsp; et XSL ou comment produire un espace insécable ?
Posté par Pierre Tramonson . Évalué à 1.
[^] # Re: Pour changer: & nbsp; et XSL ou comment produire un espace insécable ?
Posté par CopainJack (site web personnel, Mastodon) . Évalué à 1.
Merci quand même ;-)
[^] # Re: Pour changer: & nbsp; et XSL ou comment produire un espace insécable ?
Posté par David Sporn (site web personnel) . Évalué à 1.
<xsl:text disable-output-escaping="yes">& </xsl:text>
[^] # Re: Pour changer: & nbsp; et XSL ou comment produire un espace insécable ?
Posté par David Sporn (site web personnel) . Évalué à 1.
Je reprends :
<xsl:text disable-output-escaping="yes">&nbsp;</xsl:text>
Le & est interprété par le parser donc tu auras ton " ", et lors de la sérialisation (i.e. génération du résultat), l'attribut "disable-output-escaping" mis à "yes" va empêcher la retransformation du "&" en "&"
Voilà.
[^] # Re: Pour changer: & nbsp; et XSL ou comment produire un espace insécable ?
Posté par iTanguy . Évalué à 1.
ca marche pour une feuille XSLT, mais pas si tu en appliques deux l'une apres l'autre, non?
j'ai pas le courage de verifier, mais il me semble que j'avais rencontre ce probleme quand j'essayais de generer un site web via des feuilles XSLT (et je reussisais). Au moins la solution en #160 est invariante ;-)
[^] # Re: Pour changer: & nbsp; et XSL ou comment produire un espace insécable ?
Posté par David Sporn (site web personnel) . Évalué à 1.
Tu fais précéder ta balise xsl:stylesheet par le bout de code suivant :
<!DOCTYPE toto[
<!ENTITY nbsp " " >
]>
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.