Comment formater le texte entre les balises xsl: text?
-
09-06-2019 - |
Question
J'ai une feuille xslt avec du texte similaire à celui ci-dessous:
<xsl:text>I am some text, and I want to be bold</xsl:text>
J'aimerais que le texte soit en gras, mais cela ne fonctionne pas.
<xsl:text>I am some text, and I want to be <strong>bold<strong></xsl:text>
La balise b obsolète ne fonctionne pas non plus. Comment formater du texte dans une balise xsl: text?
La solution
Vous n'avez pas. xsl:text
ne peut contenir que des nœuds de texte et <strong>
est un nœud d'élément, pas une chaîne commençant par un caractère inférieur à; XSLT consiste à créer des arborescences de nœuds, pas de balisage. Donc, vous devez faire
<xsl:text>I am some text, and I want to be </xsl:text>
<strong>bold<strong>
<xsl:text> </xsl:text>
Autres conseils
Essayez ceci:
<fo:inline font-weight="bold"><xsl:text>Bold text</xsl:text></fo:inline>
< xsl: text disable-output-escaping = & "oui &"; > je veux être < fort > gras < fort > < / xsl: text >
Le formatage XSL-FO devrait pouvoir le faire, voir le tutoriel de W3Schools.
La réponse à cette question dépend de la quantité de formatage nécessaire dans le contenu et de la provenance du contenu. Si vous avez moins de contenu et moins de mise en forme, vous pouvez utiliser ce que jelovirt a suggéré
<xsl:text>I am some text, and I want to be </xsl:text>
<strong>bold<strong>
<xsl:text> </xsl:text>
Toutefois, si le contenu de votre contenu est volumineux, ce que David Medinets suggère est la meilleure façon de le faire.
<xsl:text disable-output-escaping="yes">
Nous avons quelques instructions à imprimer sur l'interface utilisateur. Le jeu d’instructions est énorme et nous lisons bien sûr celles du fichier XML.
Dans de tels cas, la méthode ci-dessus est facile à utiliser et à maintenir. C'est parce que le contenu est fourni par des rédacteurs techniques. Ils n'ont aucune connaissance de XSL. Ils savent utiliser les balises HTML et peuvent facilement éditer le fichier XML.