【问题标题】:Changing the root element in a DocBook transformation更改 DocBook 转换中的根元素
【发布时间】:2018-02-17 08:47:01
【问题描述】:

早上好,

我在玩 DocBook,基本上我喜欢它 :-) 第一种真正赋予文档结构并强制执行它的方法。

在这种情况下,我使用自定义架构和 xslt 转换来对文档的某些内容进行建模。这一切真的很棒。

现在我还想更改 docbook 文件的根元素。目前它是<book>,但我希望它是<specificationX>。我将<specificationX> 元素添加到我的 rnc Schema 中,如下所示:

db.specificationX =
   element specificationX {
      db.common.attributes,
      db.specY  
   }
start |= db.specificationX

我的文档验证工作正常,但是一旦我进行 XSLT 转换,我就会收到一个错误:

错误:FO 输出的文档根元素必须是 以下元素:附录文章参考书目章节....

显然,我还必须就更改的根元素向我的样式表提供建议。但是,我不知道该怎么做,也找不到任何相关信息。

这里有人可以给我提示或指出正确的方向吗?

提前致谢! 诺伯特

【问题讨论】:

    标签: xml xslt docbook


    【解决方案1】:

    有不同版本的 DocBook 和不同版本的样式表,您没有以任何方式解释您使用哪个版本,但请参阅 https://github.com/docbook/xslt10-stylesheets/blob/master/xsl/fo/docbook.xsl#L122 例如哪个设置

    <xsl:variable name="root.elements" select="' appendix article bibliography book chapter colophon dedication glossary index part preface qandaset refentry reference sect1 section set setindex '"/>
    

    大概可以从导入样式表中更改或覆盖以包含您的自定义元素名称。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-14
      • 2011-09-11
      • 1970-01-01
      • 2020-01-24
      • 1970-01-01
      • 2019-09-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多