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

时间:2016-05-05 13:46:16

标签: xml xslt xsl-fo

我想将“xsl:value-of”属性的值设为粗体。我怎么能做到这一点?我尝试使用 ,但无效。请指导我,因为我是xslt的新手。

.html

3 个答案:

答案 0 :(得分:2)

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

                <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

答案 1 :(得分:0)

您忘记了样式属性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>

答案 2 :(得分:0)

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元素的单标记表单。)