背景
希望使用Saxon 9而不是Java 1.7的xsltproc
生成EPUB。设置如下所示:
DocBook XSL已安装到$HOME/docbook-xsl-1.78.1/
中。
saxon9he.jar存档位于当前工作目录中。
文件_ant4dbk_book.xml.jdom
包含有效的DocBook文件。
可以使用以下命令创建EPUB内容:
xsltproc --output ./epub/ $HOME/docbook-xsl-1.78.1/epub3/chunk.xsl \
_ant4dbk_book.xml.jdom
问题
以下命令失败:
java -jar saxon9he.jar -xsl:$HOME/docbook-xsl-1.78.1/epub3/chunk.xsl \
_ant4dbk_book.xml.jdom
错误信息
运行Saxon失败,并显示以下消息:
Warning: at xsl:stylesheet on line 7 column 17 of chunk.xsl:
Running an XSLT 1 stylesheet with an XSLT 2 processor
Don't know how to chunk with Saxonica
Error at xsl:message on line 54 of chunker.xsl:
XTMM9000: Processing terminated by xsl:message at line 54 in chunker.xsl
at xsl:call-template name="make-relative-filename" (file:/home/username/docbook-xsl-1.78.1/xhtml/chunk-common.xsl#341)
at xsl:call-template name="make.lots" (file:/home/username/docbook-xsl-1.78.1/xhtml/division.xsl#84)
at xsl:call-template name="process-chunk-element" (file:/home/username/docbook-xsl-1.78.1/xhtml/chunk-code.xsl#522)
at xsl:apply-templates (file:/home/username/docbook-xsl-1.78.1/epub3/epub3-chunk-mods.xsl#32)
processing /book
in built-in template rule
at xsl:apply-templates (file:/home/username/docbook-xsl-1.78.1/xhtml/chunk-code.xsl#493)
processing /
Processing terminated by xsl:message at line 54 in chunker.xsl
由于
xsltproc
是XSLT 1.0处理器,因此给我印象是Saxon 9可以工作,因为the documentation指出:但是,即使您的样式表仅需要XSLT 1.0,也最好在Saxon 9.x下运行它们。
题
是否可以使用Saxon 9通过DocBook XSL 1.78.1生成EPUB文件集,如果可以,如何?
有关
https://wikis.forgerock.org/confluence/display/devcom/How+to+DocBook
http://xml.web.cern.ch/XML/www.sagehill.net/xml/docbookxsl/ToolsSetup.html
最佳答案
编写DocBook样式表是为了使用各种特定XSLT 1.0处理器中可用的各种扩展来生成多个输出文件。不幸的是,它们并未编写为使用标准XSLT 2.0 xsl:result-document指令。