【问题标题】:XSL / XSLT making text and <xsl:for-each> boldXSL / XSLT 使文本和 <xsl:for-each> 加粗
【发布时间】:2011-02-10 23:15:25
【问题描述】:

我有一个 XSL 模板,在该模板中,我需要一个部分是粗体或至少是较重的字体/较大的字体。

Your name -
    <xsl:for-each select="date">
    <xsl:value-of select="substring(.,1,25)"/>
    </xsl:for-each>

所以 "Your Name" 需要加粗,动态生成的 "date" 也需要加粗。

我尝试将粗体标签包裹在 etc. 周围,但理解这不是 XSL 真正的工作原理。虽然我找不到解决方案。提前致谢。

【问题讨论】:

  • 您将 XML 转换为什么输出(HTML、FO/PDF 等)?
  • XSLT 转换 XML 树。它不会渲染任何东西,既不是粗体也不是红色。如果你正确地改写这个问题,那么答案就会变得显而易见。

标签: xml xslt


【解决方案1】:

完整的例子可能会有所帮助。

XML:

<t>
    <date>2010-10-02</date>
    <date>2010-10-02</date>
    <date>2010-10-02</date>
    <date>2010-10-02</date>
    <date>2010-10-02</date>
    <date>2010-10-02</date>
</t>

XSL:

<xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="html"/>

    <xsl:template match="/t">
        <strong>
            <xsl:text>Your name - </xsl:text>
            <xsl:for-each select="date">
                <xsl:value-of select="substring(.,1,25)"/>
            </xsl:for-each>
        </strong>
    </xsl:template>     
</xsl:stylesheet>

作为源代码输出(仅为清晰起见换行):

<strong>Your name - 
2010-10-022010-10-022010-10-022010-10-022010-10-022010-10-02</strong>

渲染后的输出:

你的名字 - 2010-10-022010-10-022010-10-022010-10-022010-10-022010-10-02

【讨论】:

  • 谢谢!必须对其进行一些编辑,关键是将 包装器放在“你的名字”部分周围。
【解决方案2】:

这会在 HTML 中呈现吗?

我不是 XSLT 专家,但我认为包装粗体标签没有任何问题。

<h1>
Your name -
    <xsl:for-each select="date">
    <xsl:value-of select="substring(.,1,25)"/>
    </xsl:for-each>
</h1>

【讨论】:

  • 感谢您的回答,但这不起作用,就像粗体不起作用一样。
【解决方案3】:

我认为你的意思是:

Your name -
    <span style="font-weight:900">
       <xsl:for-each select="date">
          <xsl:value-of select="substring(.,1,25)"/>
       </xsl:for-each>
    </span>

900 是最大值。 font-weight CSS 属性还有许多其他可能的值。但是从您的问题来看,我怀疑父元素中的字体粗细正在影响整个摘录的呈现。

【讨论】:

  • 您好,谢谢,这也失败了(只是转换后的空白页) 另请注意,“您的名字”也需要使用更粗的字体。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-30
  • 1970-01-01
相关资源
最近更新 更多