如何设置 <xsl:value-of select="$somevalue"> 元素的样式

how to style <xsl:value-of select="$somevalue"> element

我想将 "xsl:value-of" 属性的值设为粗体。我怎样才能做到这一点?我尝试使用 ,但它不起作用。请指导我,因为我是 xslt 的新手。

<fo:list-item-body >
    <fo:block>
        <fo:inline>
            <xsl:value-of select="$dosomething"></xsl:value-of>
            <xsl:text> </xsl:text>
            <xsl:value-of select="$doanotherthing"></xsl:value-of>
        </fo:inline>
    </fo:block>
</fo:list-item-body>

您忘记了样式属性 font-weight 属性应该用于在输出中获取粗体字符,如下所示:

<fo:list-item-body >
    <fo:block>
        <fo:inline font-weight="bold">
            <xsl:value-of select="$dosomething"></xsl:value-of>
            <xsl:text> </xsl:text>
            <xsl:value-of select="$doanotherthing"></xsl:value-of>
        </fo:inline>
    </fo:block>
</fo:list-item-body>

您可以在 fo:inline 元素上放置 font-weight="bold" 属性,例如

                <fo:inline font-weight="bold">
                            <xsl:value-of select="$dosomething"></xsl:value-of>
                                <xsl:text> </xsl:text>
                                <xsl:value-of select="$doanotherthing"></xsl:value-of>
                            </fo:inline>

参见https://www.w3.org/TR/xsl/#common-font-properties

fo:inline(如图所示,没有指定任何附加属性)不添加任何内容。由于 font-weight 是继承的,您可以在 fo:block 上指定它并且仍然不需要 fo:inline:

<fo:list-item-body >
  <fo:block font-weight="bold">
    <xsl:value-of select="$dosomething"/>
    <xsl:text> </xsl:text>
    <xsl:value-of select="$doanotherthing"/>
  </fo:block>
</fo:list-item-body>

但是,如果您只想将部分文本设为 粗体 ,那么您就需要另一个 FO 来获取仅影响该文本格式的属性,通常 fo:inline(它自己的和可继承的属性)或 fo:wrapper(仅限 fo:character 的继承属性):

<fo:list-item-body >
  <fo:block>
    <fo:inline font-weight="bold">
      <xsl:value-of select="$dosomething"/>
    </fo:inline>
    <xsl:text> </xsl:text>
    <xsl:value-of select="$doanotherthing"/>
  </fo:block>
</fo:list-item-body>

(另请注意,我显示的是空 xsl:value-of 元素的单标签形式。)