如何在xsl:text标签之间格式化文本?

时间:2008-09-17 01:18:24

标签: xslt formatting

我有一张xslt表,其中一些文字类似于下面的内容:

<xsl:text>I am some text, and I want to be bold</xsl:text>

我想要一些粗体文字,但这不起作用。

<xsl:text>I am some text, and I want to be <strong>bold<strong></xsl:text>

弃用的b标记也不起作用。如何在xsl:text标签中格式化文本?

6 个答案:

答案 0 :(得分:7)

你没有。 xsl:text只能包含文本节点,<strong>是元素节点,而不是以小于字符开头的字符串; XSLT是关于创建节点树而不是标记。所以,你必须做

<xsl:text>I am some text, and I want to be </xsl:text>
<strong>bold<strong>
<xsl:text> </xsl:text>

答案 1 :(得分:5)

试试这个:

<fo:inline font-weight="bold"><xsl:text>Bold text</xsl:text></fo:inline>

答案 2 :(得分:3)

  

&lt; xsl:text disable-output-escaping =“yes”&gt;我希望&lt; strong&gt;粗体&lt; strong&gt; &LT; / XSL:文本&GT;

答案 3 :(得分:0)

XSL-FO格式应该能够做到这一点,请参阅W3Schools tutorial

答案 4 :(得分:0)

这个问题的答案取决于内容需要多少格式以及内容来自哪里。 如果您的内容较少且格式较少,则可以使用jelovirt建议的内容

<xsl:text>I am some text, and I want to be </xsl:text>
<strong>bold<strong>
<xsl:text> </xsl:text>

但是,如果您的内容具有较大的格式,那么David Medinets建议采用更好的方式

<xsl:text disable-output-escaping="yes">

我们有一些在UI上打印的说明。这组指令很大,当然我们从XML文件中读取这些指令。

在这种情况下,上述方法也易于使用和维护。那是因为内容是由技术作家提供的。他们不了解XSL。他们知道使用HTML标签,他们可以轻松编辑XML文件。

答案 5 :(得分:0)

使用强标签的正确方法是

<strong>This text is strong</strong>

不是<strong>的结尾

以下是信息参考:https://www.w3schools.com/html/html_formatting.asp