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

时间:2020-03-05 18:57:38  来源:igfitidea点击:

我有一个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标签中的文本?

解决方案

回答

试试这个:

<fo:inline font-weight="bold"><xsl:text>Bold text</xsl:text></fo:inline>
  • XSL-FO Tutoria:内联文本格式
  • XSL-FO内联对象

回答

<xsl:text disable-output-escaping="yes">I want to be <strong>bold<strong> </xsl:text>

回答

XSL-FO格式应该可以做到这一点,请参阅W3Schools教程。

回答

However, I don't think [using disable-output-escaping] this workaround is the best way to 
  go. Perhaps you could learn more from w3schools' crash course on XLS.

我们能更具体地说明为什么吗?到速成课程的链接很好,但是对发问者想要解决的特定问题没有帮助。我觉得使用XSL-FO可能无法满足他的需求。

回答

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

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