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?

Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top