docbook saxon工具链无法识别自定义硬页中断

时间:2019-04-29 17:41:46

标签: xslt customization docbook docbook-xsl

我无法获取docbook工具链来进行硬分页 如http://www.sagehill.net/docbookxsl/PageBreaking.html末尾所述 (我曾经为我工作过,但似乎失去了魔力。)

这是调用docbooksaxon

的脚本
#!/bin/sh

export CLASSPATH=/home/leffstudent/saxon-6.0.1.jar:/home/leffstudent/docbook-sl-1.79.1/saxon65.jar 
echo $CLASSPATH
java com.icl.saxon.StyleSheet \
   -o $1.fo  $1 stO.xsl  \
   use.extensions=1 default.table.width=auto title.margin.left=0pc insert.xref.page.number=yes 

({stO.xsl还在xref如何显示页码上设置了我的ref参数。 也不行。因此,我怀疑我对com.icl.saxon.Stylesheet的调用 忽略了我的自定义链接


这是我尝试过的测试文档书。 (实际文件为500页 课堂笔记。)

<section><title> </title>
<para>
abc
</para>
<?hard-pagebreak?>
<para>
def
</para>
</section>

这是样式表stO.xsl

<?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" version="1.0">
<xsl:import href="./titlepage.xsl"/>
<xsl:import href="/home/leffstudent/docbook-xsl-1.79.1/fo/docbook.xsl"/>
<xsl:template match="processing-instruction('hard-pagebreak')">
  <fo:block break-after='page'/>
</xsl:template>
<xsl:attribute-set name="formal.object.properties">
  <xsl:attribute name="keep-together.within-column">auto</xsl:attribute>
</xsl:attribute-set>
<xsl:param name="local.l10n.xml" select="document('')"/>
<l:i18n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0">
<l:l10n language="en">
<l:context name="xref">
<l:template name="section" text="%t on Page Number %p"/>
  <l:template name="mediaobject" text="%t on Page Number %p"/> 
  <l:template name="imageobject" text="%p"/>
</l:context>
<l:context name="xref-number-and-title">
  <l:template name="section" text="%t on Page Number %p"/>
  <l:template name="imageobject" text="%p"/>
</l:context>
</l:l10n>
</l:i18n>
</xsl:stylesheet>

1 个答案:

答案 0 :(得分:0)

我终于在XSLTPROC上完成了这项工作:

#!/bin/sh

xsltproc --output $1.fo sd.xsl $1

它将打印一个单独的页面,其中包含hard-pagebreak处理说明。


这是定制层sd.xsl

<?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" version="1.0">
<xsl:import href="/home/leffstudent/docbook-xsl-1.79.1/fo/docbook.xsl"/>
<xsl:template match="processing-instruction('hard-pagebreak')">
  <fo:block break-after='page'/>
</xsl:template>
</xsl:stylesheet>

我再次尝试让我的外部参照处理图片。 (那当然是 文件比sd.xsl大,但这是一个单独的问题,从字面上看 和具有象征意义的。)

我仍然无法在Xalan上使用它。看到 问题55941299。

我必须再次检查以查看是否可以使它与saxon一起使用。 这就是我用来准备课堂笔记的东西。 但是,我可以使用带有适当分页符的xsltproc来准备530页的课堂笔记。