我正在使用撒克逊语(9.1)和FOP(0.95)创建目录和书签树。一切正常,除了以下 FOP 输出:
WARNING: 1 link target could not be resolved and now point to the top of the page or is dysfunctional.
在生成的 PDF 中,所有链接(来自目录和书签树)都指向第一章。为什么?感谢您的任何帮助。
XML输入文件:
<?xml version="1.0"?>
<document>
<header>
<title>This is the title of the document</title>
<author>Mathias Mueller</author>
<date>29/10/2013</date>
</header>
<body>
<chapter level="1">
<chaptitle>This is the title of the first chapter.</chaptitle>
<p>All Saints Day (also known as All Hallows, Solemnity of All Saints...</p>
</chapter>
<chapter level="2">
<chaptitle>This is the title of the second chapter.</chaptitle>
<p>In Western Christian theology, the day commemorates ...</p>
</chapter>
<chapter level="2">
<chaptitle>This is the title of the third chapter.</chaptitle>
<p>The feast of All Saints achieved great prominence in the ninth century, in the reign of the Byzantine Emperor, Leo VI the Wise...</p>
</chapter>
</body>
<documentProperties>
<orientation>portrait</orientation>
<format>A4</format>
</documentProperties>
</document>
XSLT 2.0 样式表(仅省略定义块特性的属性集)
<xsl:template match="node()|@*">
<xsl:apply-templates select="node()|@*"/>
</xsl:template>
<xsl:template match="document">
<xsl:element name="fo:root" xmlns="http://www.w3.org/1999/XSL/Format">
<xsl:call-template name="docPr"/>
<xsl:call-template name="bmt"/>
<!--page sequence for TOC-->
<xsl:element name="fo:page-sequence">
<xsl:attribute name="master-reference">A4portrait</xsl:attribute>
<xsl:element name="fo:flow">
<xsl:attribute name="flow-name">xsl-region-body</xsl:attribute>
<xsl:call-template name="toc"/>
</xsl:element>
</xsl:element>
<!--rest-->
<xsl:apply-templates/>
</xsl:element>
</xsl:template>
<xsl:template name="docPr">
<xsl:element name="fo:layout-master-set">
<xsl:if test="documentProperties/orientation eq 'portrait' and documentProperties/format eq 'A4'">
<xsl:element name="fo:simple-page-master" use-attribute-sets="A4portrait">
<xsl:element name="fo:region-body">
<xsl:attribute name="margin-top">25mm</xsl:attribute>
<xsl:attribute name="margin-bottom">20mm</xsl:attribute>
</xsl:element>
</xsl:element>
</xsl:if>
</xsl:element>
</xsl:template>
<xsl:template name="bmt">
<xsl:element name="fo:bookmark-tree">
<xsl:for-each select="body/chapter">
<xsl:element name="fo:bookmark">
<xsl:attribute name="internal-destination">{generate-id()}</xsl:attribute>
<xsl:element name="fo:bookmark-title">
<xsl:value-of select="chaptitle"/>
</xsl:element>
</xsl:element>
</xsl:for-each>
</xsl:element>
</xsl:template>
<xsl:template name="toc">
<xsl:element name="fo:block">
<xsl:attribute name="break-before">page</xsl:attribute>
<xsl:element name="fo:block" use-attribute-sets="title2-block">
<xsl:text>Table of Contents</xsl:text>
</xsl:element>
<xsl:for-each select="body/chapter">
<xsl:element name="fo:block">
<xsl:attribute name="text-align-last">justify</xsl:attribute>
<xsl:element name="fo:basic-link">
<xsl:attribute name="internal-destination">{generate-id()}</xsl:attribute>
<xsl:value-of select="count(preceding::chapter) + 1"/>
<xsl:text> </xsl:text>
<xsl:value-of select="chaptitle"/>
<xsl:element name="fo:leader">
<xsl:attribute name="leader-pattern">dots</xsl:attribute>
</xsl:element>
<xsl:element name="fo:page-number-citation">
<xsl:attribute name="ref-id">{generate-id()}</xsl:attribute>
</xsl:element>
</xsl:element>
</xsl:element>
</xsl:for-each>
</xsl:element>
</xsl:template>
<xsl:template match="chapter">
<xsl:element name="fo:page-sequence">
<xsl:attribute name="master-reference">A4portrait</xsl:attribute>
<xsl:attribute name="id">{generate-id()}</xsl:attribute>
<xsl:element name="fo:flow">
<xsl:attribute name="flow-name">xsl-region-body</xsl:attribute>
<xsl:apply-templates/>
</xsl:element>
</xsl:element>
</xsl:template>
<xsl:template match="chaptitle">
<xsl:element name="fo:block" use-attribute-sets="title1-block">
<xsl:value-of select="."/>
</xsl:element>
</xsl:template>
<xsl:template match="p">
<xsl:element name="fo:block" use-attribute-sets="normal-block">
<xsl:value-of select="."/>
</xsl:element>
</xsl:template>
我认为问题在于您调用XSLT generate-id()
函数的方式。带括号< code>{}的语法通常只在< code>""引号内有效。现在发生的情况是,所有id都被分配了文字字符串< code>{generate-id()}。我建议您用< code >替换这些事件
我对thymeleaf是新手,不明白这个错误。
我对Android的Gradle构建有问题。我尝试了很多方法来解决这个问题,但没有什么不起作用。我需要帮助。 Gradle版本:4.4 Gradle插件:3.0.1 错误:无法解析app@serverDebug /compileClasspath的依赖关系:无法解析项目:vksdk_library。 错误:无法解析“”的依存关系:app@mockDebugAndroidTest/compileCl
我在这行有一个错误:最终用户=新用户(地址、确认密码、用户电子邮件、密码、电话号码、用户名、链接); 错误为“无法解决符号链接” 我已经删除了一些代码,如果你需要更多细节,请在下面留下评论。有人能帮忙吗?非常感谢你的帮助
ansible 2.8.0配置文件=/etc/ansible/ansible.cfg 配置模块搜索路径=[u'/home/kjames/.ansible/plugins/modules',u'/usr/share/ansible/plugins/modules'] ansible python模块位置=/usr/lib/python2.7/site-packages/ansible 可执行位置=/
本文向大家介绍Linux硬链接与软链接原理及用法解析,包括了Linux硬链接与软链接原理及用法解析的使用技巧和注意事项,需要的朋友参考一下 在linux系统中有种文件是链接文件,可以为解决文件的共享使用。链接的方式可以分为两种,一种是硬链接(Hard Link),另一种是软链接或者也称为符号链接(Symbolic Link)。 硬链接概念 硬链接(hard link, 也称链接)就是一个文件的一个