连续的内联在两者之间产生空间

时间:2018-11-28 14:45:30

标签: xsl-fo

我有一个简单的XSL FO,其块包含连续的内联。

<fo:block-container span="all">
    <fo:block font-family="Calibri" font-size="12"
      color="#108BA4" line-height="1.15" widows="3" orphans="3"
      keep-with-next="always" span="all">
      <fo:inline font-family="Calibri"
        font-weight="normal" font-size="11" color="#108BA4">Sous-article de 2
      </fo:inline>
      <fo:inline vertical-align="super">nd</fo:inline>
      <fo:inline font-family="Calibri"
        font-weight="normal" font-size="11" color="#108BA4"> génération
      </fo:inline>
    </fo:block>
  </fo:block-container>

问题是我在“ 2”和“ nd”之间以及可能在“ nd”和“génération”之间有了某种空格。 同样因为有人要问,我在XSL中有这个问题:

<xsl:strip-space elements="*"/>

有什么想法吗?

Image of what I get in the PDF

1 个答案:

答案 0 :(得分:1)

您将看到空格“ 2”之后的空白效果:

      <fo:inline font-family="Calibri"
        font-weight="normal" font-size="11" color="#108BA4">Sous-article de 2
      </fo:inline>

<xsl:strip-space elements="*"/>仅适用于您的源文档。 (请参阅https://www.w3.org/TR/1999/REC-xslt-19991116#strip上的XSLT 1.0定义。)它不会对样式表产生任何作用。

样式表中只有空格的文本节点会自动删除(除非它们在xsl:text元素内)。您的文本节点包含非空格字符,因此不会剥离任何内容。如果查看XSLT转换的结果,则会看到行尾和</fo:inline>之前的空白。格式化程序会将其减少到一个空格。