早上好,
我正在玩DocBook,基本上我喜欢它:-)第一种真正为文档提供结构并强制执行它的方法。
在这种情况下,我使用自定义Schema和xslt Transformation来模拟文档的一些内容。这一切都很棒。
现在我还要更改docbook文件的根元素。目前它是<book>
,但我希望它是<specificationX>
。我将<specificationX>
元素添加到我的rnc Schema中,如下所示:
db.specificationX =
element specificationX {
db.common.attributes,
db.specY
}
start |= db.specificationX
我的文档验证工作正常,但是一旦我进入XSLT转换,我就收到错误:
错误:FO输出的文档根元素必须是其中之一 以下要素:附录文章参考书目章....
显然,我必须告诉我的样式表有关更改的根元素的信息。但是,我不知道如何做到这一点,也找不到任何相关信息。
这里的任何人都可以给我一些提示或指出我正确的方向吗?
提前致谢! 诺贝特
答案 0 :(得分: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 '"/>
可能会从导入样式表中更改或覆盖,以包含您的自定义元素名称。