XSL-FO 和 XML:每页页眉中的圣经书名

Posted

技术标签:

【中文标题】XSL-FO 和 XML:每页页眉中的圣经书名【英文标题】:XSL-FO and XML: Bibel Bookname in Header on every Page 【发布时间】:2021-02-28 04:50:57 【问题描述】:

我在使用 XSL-FO 和 XML 时遇到了问题。我实际上对这个领域很陌生。但据我所知,我已经很喜欢它了。

我的问题是这样的,到目前为止我已经尝试了所有方法: 我希望当前的圣经书名出现在每一页的页眉中,直到开始新的一页。

我在这里有 XSL 和 XML 代码: https://xsltfiddle.liberty-development.net/nb9PtDi/17

有没有可能?我必须在代码中更改什么?

【问题讨论】:

【参考方案1】:

查看fo:markerfo:retrieve-marker(见https://www.w3.org/TR/xsl11/#fo_marker)。

书名的副本将放在书的第一个 FO 开头的 fo:marker 中,标题的 fo:static-content 将包含一个 fo:retrieve-marker 和一个与 @ 匹配的 retrieve-class-name您添加的fo:marker 中的987654329@。

搜索有关fo:marker 的问题将为您提供一些操作示例。


我已经在https://xsltfiddle.liberty-development.net/nb9PtDi/21 摆弄过它

我在CAPTION 的模板中添加了一个fo:marker(为清楚起见省略了一些属性):

<xsl:template match="CAPTION">
  <fo:block page-break-before="always">
    <fo:marker marker-class-name="caption">
      <xsl:apply-templates />
    </fo:marker>
    <xsl:value-of select="."/>
  </fo:block>
</xsl:template>

并将“HEADER”文本替换为fo:retrieve-marker(为清楚起见省略了一些属性):

<fo:static-content flow-name="kopf">
  <fo:block>
    <fo:retrieve-marker retrieve-class-name="caption" />
  </fo:block>
</fo:static-content>

两者之间的联系是“caption”的标记类名。

您似乎不需要它们,但您可以在fo:retrieve-marker 上设置retrieve-positionretrieve-boundary 属性来控制例如在同一页面上有两个fo:marker 时会发生什么。

【讨论】:

感谢您的帮助,但我不知道该怎么做。我已经尝试过了,但我有点困惑,因为它不起作用。我认为我做错了什么。 我已经添加了更多解释。我希望这会有所帮助。 哇!非常感谢你!这是有效的!再次感谢您! 乐于助人。如果它对您有用,请随时接受答案。

以上是关于XSL-FO 和 XML:每页页眉中的圣经书名的主要内容,如果未能解决你的问题,请参考以下文章

下载圣经软件哪个安全

主内圣经app下载苹果在中国怎么下载

《如何读圣经》系列 :圣经叙事体的设计模式

动漫视频学圣经│第八集圣经叙事体的设计模式

鸽子圣经版本官方下载怎么下载

Go语言圣经